Skip to content

Commit 514de54

Browse files
save file
1 parent 131f361 commit 514de54

File tree

1 file changed

+43
-5
lines changed

1 file changed

+43
-5
lines changed

utils/video/video-thumbnail-generator/video-thumbnail-generator.html

Lines changed: 43 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,10 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
210210
<input value=-1>
211211
</span>
212212
</span>
213+
<span id=secs>
214+
secs
215+
<input value=03>
216+
</span>
213217
<input value=generate type=button>
214218
</div>
215219

@@ -317,20 +321,36 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
317321
return
318322
}
319323

324+
var secs = $('#secs [value]').value;
325+
secs = Number(secs);
326+
if(isNaN(secs)){
327+
log.red('invalid secs');
328+
return;
329+
}
330+
if(!Number.isInteger(secs)){
331+
log.red('secs should be integer');
332+
return;
333+
}
334+
if(secs<0||secs>59){
335+
log.red('invalid secs');
336+
return;
337+
}
338+
secs = (''+secs).padStart(2,'0');
339+
320340
cur.status = true;
321341

322342
if($('#png [type]').checked){
323-
gen.png();
343+
gen.png(w,h,secs);
324344
}
325345

326346
if($('#jpg [type]').checked){
327-
gen.jpg();
347+
gen.jpg(w,h,secs);
328348
}
329349

330350
}//generate
331351

332352

333-
gen.png = async function(){
353+
gen.png = async function(w,h,secs){
334354

335355
var fn = cur.file.filename;
336356
var fn2 = fn.split('.')[0];
@@ -340,7 +360,7 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
340360

341361
await ffmpeg.writeFile(fn,uint8);
342362

343-
var cmd = `ffmpeg -nostdin -ss 00:00:03.00 -i ${fn} -vframes 1 -vf scale=-1:50 ${thumb}`;
363+
var cmd = `ffmpeg -nostdin -ss 00:00:${secs}.00 -i ${fn} -vframes 1 -vf scale=${w}:${h} ${thumb}`;
344364
var args = cmd.split(' ').slice(1);
345365

346366
await ffmpeg.exec(args);
@@ -352,7 +372,25 @@ <h1 slot=seo-hdr class=visually-hidden>video thumbnail generator</h1>
352372
}//png
353373

354374

355-
gen.jpg = function(){
375+
gen.jpg = async function(){
376+
377+
var fn = cur.file.filename;
378+
var fn2 = fn.split('.')[0];
379+
var thumb = fn2+'.jpg';
380+
381+
var uint8 = await _uint8(cur.blob);
382+
383+
await ffmpeg.writeFile(fn,uint8);
384+
385+
var cmd = `ffmpeg -nostdin -ss 00:00:${secs}.00 -i ${fn} -vframes 1 -vf scale=${w}:${h} ${thumb}`;
386+
var args = cmd.split(' ').slice(1);
387+
388+
await ffmpeg.exec(args);
389+
390+
var data = await ffmpeg.readFile(thumb);
391+
var thumbnail = _blob(data);
392+
gen.complete(thumbnail,thumb);
393+
356394
}//jpg
357395

358396

0 commit comments

Comments
 (0)