fix seek more than videoLength ebug

This commit is contained in:
Abhinav-grd 2021-08-30 09:27:27 +05:30
parent d1d3623880
commit e06ca8c4a9

View file

@ -51,17 +51,25 @@ async function generateThumbnailHelper(ffmpeg: FFmpeg, file: File) {
inputFileName, inputFileName,
await getUint8ArrayView(new FileReader(), file) await getUint8ArrayView(new FileReader(), file)
); );
let seekTime = 1.0;
let thumb = null;
while (seekTime > 0) {
try {
await ffmpeg.run( await ffmpeg.run(
'-i', '-i',
inputFileName, inputFileName,
'-ss', '-ss',
'00:00:01.000', `00:00:0${seekTime.toFixed(3)}`,
'-vframes', '-vframes',
'1', '1',
thumbFileName thumbFileName
); );
const thumb = ffmpeg.FS('readFile', thumbFileName); thumb = ffmpeg.FS('readFile', thumbFileName);
break;
} catch (e) {
seekTime = Number((seekTime / 2).toFixed(3));
}
}
ffmpeg.FS('unlink', thumbFileName); ffmpeg.FS('unlink', thumbFileName);
ffmpeg.FS('unlink', inputFileName); ffmpeg.FS('unlink', inputFileName);
return thumb; return thumb;