Animierte WebP dekodieren und umwandeln - Anleitung

Status
Für weitere Antworten geschlossen.

Isthor

V:I:P
Registriert
4 Dez. 2009
Themen
2.361
Beiträge
2.834
Reaktionen
3.781
Es kam die Frage auf wie man animierte WebP bearbeiten kann.
Ich wollte das auch gerne wissen und ging auf die Suche.

Jetzt gibt es eine Anleitung die Einzelbilder zu nehmen und zu einem Video zu machen.

libwebp herunterladen
Ganz runterscrollen: libwebp-1.2.0-windows-x64.zip (bzw. immer die aktuellste).
Archiv entpacken und im Verzeichnis bin die anim_dump.exe nehmen und in einen eigenen Ordner kopieren.

Befehlszeile

Eingabeaufforderung in diesem Ordner öffnen.
Oder PowerShell, dann muss aber noch ein .\ vor anim_dump.

Code:
anim_dump "0.webp"

0 mit dem Dateinamen austauschen.
Alle Bilder werden im PNG-Format gespeichert.

Dann kann man mit FFmpeg die Bilder zu einem Video zusammenfügen.
Runterscrollen zu "Release" und dann das oberste nehmen: ffmpeg-release-full.7z.
Archiv entpacken, im bin Verzeichnis die ffmpeg.exe nehmen und ebenfalls in den Ordner kopieren.

Code:
ffmpeg -framerate x -i dump_%4d.png -vcodec libx264 -pix_fmt yuv420p "0.mp4"

x = Framerate des WebPs (und des Videos).
0 mit dem gewünschten Namen des Videos austauschen.

Es ist wichtig die richtige Framerate des WebPs zu wissen sonst wird das Video schneller oder langsamer abgespielt als das WebP und kann unnötig größer werden.

XnView MP zeigt die Bildanzahl (Im Betrachter Rechtsklick Eigenschaften) und die Dauer (im Eigenschaftenfenster oben auf ExifTool) an.

Bildanzahl geteilt durch Dauer gleich Framerate

Batch-Skript

Und hier noch ein sehr gemütliches Skript mit dem man fast nichts mehr machen muss außer die Framerate einzugeben.
Den Code in eine Textdatei einfügen und als .bat speichern (muss auch in den Ordner mit der anim_dump.exe und ffmpeg.exe).

Code:
@echo off
set /p Framerate="Framerate: "
for %%a in (%1) do set Name=%%~na
anim_dump %1
ffmpeg -framerate %Framerate% -i dump_%%4d.png -vcodec libx264 -pix_fmt yuv420p "%Name%.mp4"
del dump_*.png

Wenn man nicht möchte das die Einzelbilder wieder gelöscht werden del dump_*.png weglassen.

Und jetzt einfach das WebP auf das Batch-Skript legen, die Framerate eingeben und warten.
 
Status
Für weitere Antworten geschlossen.
Oben