it-swarm.com.de

Wie konvertiere ich ein animiertes GIF in der Befehlszeile in ein mp4 oder mv4?

Welchen Befehl würde ich verwenden, um eine mp4- oder mv4-Videodatei in ein animiertes GIF zu konvertieren und umgekehrt? Konvertieren Sie ein animiertes GIF in ein mp4 oder mv4.

87
stinkypyper

Folgendes hat bei mir funktioniert:

ffmpeg -i animated.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" video.mp4

movflags - Diese Option optimiert die Struktur der MP4-Datei, damit der Browser sie so schnell wie möglich laden kann.

pix_fmt - MP4-Videos speichern Pixel in verschiedenen Formaten. Wir fügen diese Option hinzu, um ein bestimmtes Format anzugeben, das für alle Browser maximale Kompatibilität bietet.

vf - MP4-Videos mit H.264 müssen Abmessungen haben, die durch 2 teilbar sind. Diese Option stellt sicher, dass dies der Fall ist.

Quelle: http://rigor.com/blog/2015/12/optimizing-animated-gifs-with-html5-video

123
Vico Vault

In meinem Fall hat die direkte Verwendung von ffmpeg den Trick ausgeführt und das beste Ergebnis erzielt:

$ ffmpeg -f gif -i infile.gif outfile.mp4
44
BenC

Wenn Sie die Ausgabe in "n Schleifen" vornehmen möchten, sehen Sie sich diese Lösung auf einmal an

Konvertieren wir also ein normal.gif in loop.mp4

für 2 Schleifen Filmbeispiel:

ffmpeg -stream_loop 2 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y

für 5 Schleifen Filmbeispiel:

ffmpeg -stream_loop 5 -i normal.gif loop.gif -y;ffmpeg -i loop.gif -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" loop.mp4 -y

ACHTUNG: Es gibt ein - y [optional für das Überschreiben]

4
PYK

Die MacO-Version lautet wie folgt:

$ ffmpeg -i input.avi -pix_fmt yuv420p output.mp4

Verweise

3
beefeather

Eine andere Möglichkeit, GIF-Animationen in Videos umzuwandeln:

ffmpeg -i your_gif.gif -c:v libvpx -crf 12 -b:v 500K output.mp4

-crf-Werte können von 4 bis 63 reichen. Niedrigere Werte bedeuten bessere Qualität. -b: v ist die maximal zulässige Bitrate. Höher bedeutet bessere Qualität.

2
user8547