canReencodeAudioTrack()
Part of the @remotion/webcodecs package.
warning
Unstable API: This package is experimental. We might change the API at any time, until we remove this notice.
Given an AudioTrack, determine if it can be re-encoded to another track.
You can obtain an AudioTrack using parseMedia() or during the conversion process using the onAudioTrack callback of convertMedia().
Examples
import {parseMedia } from '@remotion/media-parser';
import {canReencodeAudioTrack } from '@remotion/webcodecs';
const {tracks } = await parseMedia ({
src : 'https://remotion.media/BigBuckBunny.mp4',
fields : {
tracks : true,
},
});
const audioTracks = tracks .filter ((t ) => t .type === 'audio');
for (const track of audioTracks ) {
await canReencodeAudioTrack ({
track ,
audioCodec : 'opus',
bitrate : 128000,
sampleRate : null,
});
}import {convertMedia , canReencodeAudioTrack } from '@remotion/webcodecs';
await convertMedia ({
src : 'https://remotion.media/BigBuckBunny.mp4',
container : 'webm',
videoCodec : 'vp8',
audioCodec : 'opus',
onAudioTrack : async ({track }) => {
const canReencode = await canReencodeAudioTrack ({
track ,
audioCodec : 'opus',
bitrate : 128000,
sampleRate : null,
});
if (canReencode ) {
return {type : 'reencode', audioCodec : 'opus', bitrate : 128000, sampleRate : null};
}
return {type : 'drop'};
},
});API
track
A AudioTrack object.
audioCodec
string ConvertMediaAudioCodec
bitrate
number
The bitrate with which you'd like to re-encode the audio track.
sampleRate
number | null
The sample rate with which you'd like to re-encode the audio track. If the sampleRate is null, the sample rate of the original track will be used.
Return value
Returns a Promise<boolean>.