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
Check if audio tracks can be re-encoded to Opusimport {parseMedia } from '@remotion/media-parser'; import {canReencodeAudioTrack } from '@remotion/webcodecs'; const {tracks } = awaitparseMedia ({src : 'https://remotion.media/BigBuckBunny.mp4',fields : {tracks : true, }, }); constaudioTracks =tracks .filter ((t ) =>t .type === 'audio'); for (consttrack ofaudioTracks ) { awaitcanReencodeAudioTrack ({track ,audioCodec : 'opus',bitrate : 128000,sampleRate : null, }); }
Convert an audio track to Opus, otherwise drop itimport {convertMedia ,canReencodeAudioTrack } from '@remotion/webcodecs'; awaitconvertMedia ({src : 'https://remotion.media/BigBuckBunny.mp4',container : 'webm',videoCodec : 'vp8',audioCodec : 'opus',onAudioTrack : async ({track }) => { constcanReencode = awaitcanReencodeAudioTrack ({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>.