Pause, resume and abort conversion
You can pause, resume and abort the conversion process.
Create a webcodecsController() and use the following methods:
Pause and resume
import {webcodecsController , convertMedia } from '@remotion/webcodecs';
const controller = webcodecsController ();
convertMedia ({
src : 'https://www.w3schools.com/html/mov_bbb.mp4',
container : 'webm',
controller ,
})
.then (() => {
console .log ('Finished downloading');
})
.catch ((err ) => {
console .error ('Error downloading', err );
});
// Wait 1 sec, pause, wait 1 sec, resume
await new Promise ((resolve ) => setTimeout (resolve , 1000));
controller .pause ();
await new Promise ((resolve ) => setTimeout (resolve , 1000));
controller .resume ();Cancel a conversion
import {webcodecsController , convertMedia } from '@remotion/webcodecs';
const controller = webcodecsController ();
convertMedia ({
src : 'https://www.w3schools.com/html/mov_bbb.mp4',
container : 'webm',
controller ,
})
.then (() => {
console .log ('Finished parsing');
})
.catch ((err ) => {
console .error ('Error parsing', err );
});
// Cancel after 10 seconds
await new Promise ((resolve ) => setTimeout (resolve , 10_000));
controller .abort ();Checking if a conversion was aborted
Use the hasBeenAborted() function to check if a conversion was aborted using the .abort() method.
import {hasBeenAborted } from '@remotion/media-parser';
import {webcodecsController , convertMedia } from '@remotion/webcodecs';
const controller = webcodecsController ();
const promise = convertMedia ({
src : 'https://www.w3schools.com/html/mov_bbb.mp4',
container : 'webm',
controller ,
})
.then (() => {
console .log ('Finished conversion');
})
.catch ((err ) => {
if (hasBeenAborted (err )) {
console .log ('Conversion was cancelled');
} else {
console .error ('Error converting', err );
}
});