mirror of
https://github.com/arcodange-org/mediabunny.git
synced 2026-10-02 21:33:52 +02:00
Allow muxing of avc3 into ISOBMFF (see #216)
This commit is contained in:
@@ -577,7 +577,7 @@ export const stsd = (trackData: IsobmffTrackData) => {
|
|||||||
|
|
||||||
if (trackData.type === 'video') {
|
if (trackData.type === 'video') {
|
||||||
sampleDescription = videoSampleDescription(
|
sampleDescription = videoSampleDescription(
|
||||||
VIDEO_CODEC_TO_BOX_NAME[trackData.track.source._codec],
|
videoCodecToBoxName(trackData.track.source._codec, trackData.info.decoderConfig.codec),
|
||||||
trackData,
|
trackData,
|
||||||
);
|
);
|
||||||
} else if (trackData.type === 'audio') {
|
} else if (trackData.type === 'audio') {
|
||||||
@@ -1572,12 +1572,14 @@ const dataStringBoxLong = (value: string) => {
|
|||||||
]);
|
]);
|
||||||
};
|
};
|
||||||
|
|
||||||
const VIDEO_CODEC_TO_BOX_NAME: Record<VideoCodec, string> = {
|
const videoCodecToBoxName = (codec: VideoCodec, fullCodecString: string) => {
|
||||||
avc: 'avc1',
|
switch (codec) {
|
||||||
hevc: 'hvc1',
|
case 'avc': return fullCodecString.startsWith('avc3') ? 'avc3' : 'avc1';
|
||||||
vp8: 'vp08',
|
case 'hevc': return 'hvc1';
|
||||||
vp9: 'vp09',
|
case 'vp8': return 'vp08';
|
||||||
av1: 'av01',
|
case 'vp9': return 'vp09';
|
||||||
|
case 'av1': return 'av01';
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const VIDEO_CODEC_TO_CONFIGURATION_BOX: Record<VideoCodec, (trackData: IsobmffVideoTrackData) => Box | null> = {
|
const VIDEO_CODEC_TO_CONFIGURATION_BOX: Record<VideoCodec, (trackData: IsobmffVideoTrackData) => Box | null> = {
|
||||||
|
|||||||
Reference in New Issue
Block a user