Wie füge ich eine eingebettete Miniaturansicht zu einer Videodatei mit ffmpeg hinzu?

658
user1306322

Ich codiere einige Videos, und ich möchte ein Miniaturbild hinzufügen, das schneller geladen wird als der Dateisystembrowser, der es mit der Standardmethode automatisch generiert. Ich habe eine Reihe von separaten Tools gefunden, die entweder vorhandene Thumbnails generieren oder hinzufügen, aber ich möchte eine ffmpeg-Lösung, da ich sie bereits zum Codieren benutze. Das Miniaturbild sollte ein Bild sein, das entweder 25% oder 33% der Videodauer beträgt.

0

1 Antwort auf die Frage

1
Gyan

Verwenden Sie zuerst ffprobe, um die Dauer der codierten Datei abzurufen.

DURATION=$(ffprobe -show_entries format=duration -v 0 -of compact=p=0:nk=1 file.mp4) 

und der viertel punkt

DUR=$(echo "$DURATION/4" | bc) 

Miniaturbild extrahieren und anhängen,

ffmpeg -i file.mp4 -ss $DUR -i file.mp4 -map 1:v:0 -map 0 -filter:v:0 scale=320:-1,trim=end_frame=1 -c copy -c:v:0 mjpeg -disposition:0 attached_pic out.mp4 
Das schwört bei mir auf "attached_pic" ... woher kommt das? tink vor 6 Jahren 0
ffmpeg schwört nie. Upgrade ffmpeg - dieser Wert wurde irgendwann im letzten Jahr hinzugefügt. Gyan vor 6 Jahren 0