fix seek more than videoLength ebug
This commit is contained in:
parent
d1d3623880
commit
e06ca8c4a9
|
@ -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;
|
||||||
await ffmpeg.run(
|
let thumb = null;
|
||||||
'-i',
|
while (seekTime > 0) {
|
||||||
inputFileName,
|
try {
|
||||||
'-ss',
|
await ffmpeg.run(
|
||||||
'00:00:01.000',
|
'-i',
|
||||||
'-vframes',
|
inputFileName,
|
||||||
'1',
|
'-ss',
|
||||||
thumbFileName
|
`00:00:0${seekTime.toFixed(3)}`,
|
||||||
);
|
'-vframes',
|
||||||
const thumb = ffmpeg.FS('readFile', thumbFileName);
|
'1',
|
||||||
|
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;
|
||||||
|
|
Loading…
Reference in a new issue