Kann ImageMagick aus Videos Miniaturansichten erstellen?

13861
Juneyoung Oh

Ich versuche, über ImageMagick Miniaturen aus dem Video zu extrahieren. Ich habe einige Beispiele von ihrer offiziellen Website gefunden, aber das macht GIF, nicht PNG. Ich möchte jedoch ein solides Miniaturbild.

Kann es die gleiche Ausgabe wie mit diesem ffmpeg-Befehl erstellen?

ffmpeg -ss 600 -i myVideo.mp4 -vframes 1 -s 420x270 Out.bmp 
11

2 Antworten auf die Frage

17
evilsoup

Mit ImageMagick können Sie Thumbnails aus Videos extrahieren. ( Hier wird behauptet, dass ImageMagick ffmpeg "under the hood" verwendet. Daher weiß ich nicht, ob dies tatsächlich schneller ist als die Verwendung von ffmpeg):

convert input.mp4[100] thumbnail.png 

der [100]Befehl sagt ImageMagick, den 100. Frame aufzunehmen input.mp4. Ich habe es auf einem H.264-Videostream in einem MP4-Container getestet. Natürlich können Sie alle gewünschten ImageMagick-Optionen verwenden, einschließlich Deinterlacing wie in Ihrem Link beschrieben.


ImageMagick ist wirklich für den Umgang mit einzelnen Bildern gedacht; Für Videos sollten Sie einfach ffmpeg verwenden. Offensichtlich gibt es hier einige Überschneidungen, da Sie sich mit einem einzelnen Frame beschäftigen, aber ich würde sagen, dass Deinterlacing eher eine Videoverarbeitungsaufgabe ist.

Sie sollten den Yadif-Filter zum Deinterlacing verwenden. Sie können es so zu Ihrer bestehenden Zeile hinzufügen:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -s 420x270 -filter:v 'yadif' output.png 

Wenn ich mit Filtern arbeite, benutze ich lieber den Skalenfilter als -s:

ffmpeg -ss 600 -i input.mp4 -vframes 1 -filter:v 'yadif,scale=420:270' output.png 
Vielleicht missverstehe ich die Frage, aber das OP hat speziell gefragt, wie der Befehl `ffmpeg` mit ImageMagick funktioniert. Keine Ahnung, ob es möglich ist oder nicht… slhck vor 10 Jahren 0
@slhck Ich interpretierte das eigentliche Problem des OP als "hübsch aussehende Miniaturbilder von Interlaced-Video erhalten" und ging davon aus, dass sie nur versucht haben, das falsche Werkzeug für den Job zu verwenden (dh das Miniaturbild mit ffmpeg -> mit ImageMagick deinterlacen). Wenn irgendjemand mit ImageMagick etwas dagegen tun würde, hätten sie meine Zustimmung. evilsoup vor 10 Jahren 0
@evilsoup Danke für deine Antwort. Ich habe diese Frage hochgeladen, weil ffmpeg zu lange dauert, um ein Miniaturbild aus einem Video zu erstellen. Und ich habe von irgendwo gehört, wenn ich Imagemagick verwende, kann ich das schneller machen. Ist es wahr und möglich? Ich habe es auch gesucht, aber es ist nicht möglich, ein Miniaturbild aus dem Video mit nur Imagemagick aufzunehmen. Tut mir leid für mein schlechtes Englisch. Juneyoung Oh vor 10 Jahren 0
@JuneyoungOh das Mitnehmen von Thumbnails mit ImageMagick ist in der Tat möglich, siehe Update zu meiner Antwort. Ich bezweifle jedoch, dass es schneller sein wird, da ImageMagick (aufgrund meines oberflächlichen Googlings) offenbar ffmpeg als Hintergrund für den Umgang mit Videos verwendet. evilsoup vor 10 Jahren 0
@evilsoup Oh danke. Ich dachte es ist unmöglich. Jetzt kann ich überprüfen, was schneller ist: D vielen Dank. Juneyoung Oh vor 10 Jahren 0
6
cnd

ImageMagick gibt mit diesem Befehl an ffmpeg ab:

ffmpeg -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z" 

Die kurze Antwort lautet also "nein" (da dies nicht selbst geschieht).