Warum kann ich die Bildrate nicht richtig einstellen, wenn ich mit avconv eine Bildfolge in ein GIF-Format konvertiere?
Ich muss eine Reihe von Bildern in GIFs umwandeln.
Ich habe drei breite Wege gefunden, dies zu tun. Eine mit ImageMagick, eine mit Gifsicle und eine mit avconv.
Ich kann Imagemagick nicht verwenden, da es viel langsamer ist als alle anderen Methoden. Ich kann gifsicle nicht verwenden, da es nicht mit "png" -Dateien funktioniert. Ich könnte die PNGs mit ImageMagicks Befehl 'mogrify' in Gifs umwandeln und sie dann zu einem einzigen Gif zusammen mit Gifsicle zusammenführen. Dies würde jedoch dazu führen, dass Mogrify etwas langsamer wird, was in meinem Fall ein Deal ist.
Ich habe herausgefunden, was ich mit avconv machen kann, aber aus irgendeinem Grund hat das resultierende GIF die doppelte Framerate.
Dies ist der Befehl, den ich verwende:
avconv -i frame%15d.png -s qvga -vf format=rgb8,format=rgb24 -pix_fmt rgb24 -r 10 output.gif
Und die Ausgabe damit:
avconv version 9.13-6:9.13-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers built on May 9 2014 13:34:03 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) Input #0, image2, from 'frame%15d.png': Duration: 00:00:12.04, start: 0.000000, bitrate: N/A Stream #0.0: Video: png, rgb24, 320x240, 25 fps, 25 tbr, 25 tbn File 'output.gif' already exists. Overwrite ? [y/N] y Output #0, gif, to 'output.gif': Metadata: encoder : Lavf54.20.3 Stream #0.0: Video: rawvideo, rgb24, 320x240, q=2-31, 200 kb/s, 90k tbn, 10 tbc Stream mapping: Stream #0:0 -> #0:0 (png -> rawvideo) Press ctrl-c to stop encoding frame= 121 fps= 0 q=0.0 Lsize= 10406kB time=12.10 bitrate=7044.8kbits/s video:27225kB audio:0kB global headers:0kB muxing overhead -61.779245%
Es gibt 301 Bilder, die 30 Sekunden dauern sollen, weshalb ich eine Framerate von 10 erzwinge. Das scheint das zu ignorieren.
Wenn ich die Eingabe-Framerate auch mit "-r 10" erzwinge, bleibt das resultierende Gif 60 Sekunden lang bei der Hälfte meiner gewünschten Framerate.
Befehl mit erzwungenem FPS in Eingabe und Ausgabe:
avconv -r 10 -i frame%15d.png -s qvga -vf format=rgb8,format=rgb24 -pix_fmt rgb24 -r 10 output2.gif
Und die Ausgabe:
avconv version 9.13-6:9.13-0ubuntu0.14.04.1, Copyright (c) 2000-2014 the Libav developers built on May 9 2014 13:34:03 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1) Input #0, image2, from 'frame%15d.png': Duration: 00:00:12.04, start: 0.000000, bitrate: N/A Stream #0.0: Video: png, rgb24, 320x240, 25 fps, 25 tbr, 25 tbn Output #0, gif, to 'output2.gif': Metadata: encoder : Lavf54.20.3 Stream #0.0: Video: rawvideo, rgb24, 320x240, q=2-31, 200 kb/s, 90k tbn, 10 tbc Stream mapping: Stream #0:0 -> #0:0 (png -> rawvideo) Press ctrl-c to stop encoding frame= 301 fps=270 q=0.0 Lsize= 25884kB time=30.10 bitrate=7044.5kbits/s video:67725kB audio:0kB global headers:0kB muxing overhead -61.780963%
Ich habe keine Ahnung, was ich gerade falsch mache und würde mich über die Beiträge von jemandem freuen.
Wenn jemand einen schnellen Weg kennt, einen Stapel PNG-Bilder ohne ImageMagick in einzelne Gifs umzuwandeln, kann ich sie mit Gifsicle zusammenführen.
0 Antworten auf die Frage
Verwandte Probleme
-
11
Wie konvertiere ich eine animierte GIF in ein YouTube-freundliches Videoformat?
-
3
Gibt es eine Bildschirmaufnahme-App, die als .gif speichert?
-
8
Wie kann man animierte Gifs in Google Chrome stoppen?
-
7
Anhalten einer GIF-Animation in Google Chrome
-
2
Gibt es einen Ersatz für AniDisable für Firefox 3.5?
-
3
Gibt es immer noch einen Grund, GIF gegenüber PNG beim Erstellen von Bildern für Webseiten zu bevorz...
-
2
Langsame GIF-Animationen in Firefox
-
1
Office Outlook, aktivieren Sie die GIF-Animation
-
6
Gibt es eine Möglichkeit, GIFs mit Windows Photo Viewer zu spielen?
-
1
Hinzufügen einer animierten GIF zu einer PowerPoint-Folie