Skip to main content

canReencodeVideoTrack()

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 a VideoTrack, determine if it can be re-encoded to another track.

You can obtain a VideoTrack using parseMedia() or during the conversion process using the onVideoTrack callback of convertMedia().

Examples

Check if video tracks can be re-encoded to VP8
tsx
import {parseMedia} from'@remotion/media-parser';
import {canReencodeVideoTrack} from'@remotion/webcodecs';
const {tracks} =awaitparseMedia({
src: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
fields: {
tracks: true,
},
});
constvideoTracks= tracks.filter((t) => t.type ==='video');
for (consttrackof videoTracks) {
awaitcanReencodeVideoTrack({
track,
videoCodec: 'vp8',
resizeOperation: null,
rotate: null,
});
}
Convert a video track to VP8, otherwise drop it
tsx
import {convertMedia, canReencodeVideoTrack} from'@remotion/webcodecs';
awaitconvertMedia({
src: 'https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4',
container: 'webm',
videoCodec: 'vp8',
audioCodec: 'opus',
onVideoTrack: async ({track, resizeOperation, rotate}) => {
constcanReencode=awaitcanReencodeVideoTrack({
track,
videoCodec: 'vp8',
resizeOperation,
rotate,
});
if (canReencode) {
return {type: 'reencode', videoCodec: 'vp8'};
}
return {type: 'drop'};
},
});

API

track

A VideoTrack object.

videoCodec

string ConvertMediaVideoCodec

One of the supported video codecs: "vp8", "vp9".

resizeOperation

The resize operation you would like to apply.

rotate

The rotate operation you would like to apply.

Return value

Returns a Promise<boolean>.

See also

AltStyle によって変換されたページ (->オリジナル) /