Implement MP3 muxer

This commit is contained in:
Vanilagy
2025-01-26 11:45:56 +01:00
parent 7205d9445b
commit d3566305df
11 changed files with 482 additions and 148 deletions
+35
View File
@@ -11,6 +11,7 @@ import {
} from './codec';
import { IsobmffMuxer } from './isobmff/isobmff-muxer';
import { MatroskaMuxer } from './matroska/matroska-muxer';
import { Mp3Muxer } from './mp3/mp3-muxer';
import { Muxer } from './muxer';
import { Output, TrackType } from './output';
import { WaveMuxer } from './wave/wave-muxer';
@@ -256,6 +257,40 @@ export class WebMOutputFormat extends MkvOutputFormat {
}
}
/** @public */
export class Mp3OutputFormat extends OutputFormat {
/** @internal */
_createMuxer(output: Output) {
return new Mp3Muxer(output);
}
/** @internal */
_getName() {
return 'MP3';
}
getSupportedTrackCounts(): TrackCountLimits {
return {
video: { min: 0, max: 0 },
audio: { min: 1, max: 1 },
subtitle: { min: 0, max: 0 },
total: { min: 1, max: 1 },
};
}
getFileExtension() {
return '.mp3';
}
getSupportedCodecs() {
return Mp3OutputFormat.getSupportedCodecs();
}
static getSupportedCodecs(): MediaCodec[] {
return ['mp3'];
}
}
/** @public */
export class WaveOutputFormat extends OutputFormat {
/** @internal */