Wie kann ich eine Animation in PowerPoint in eine animierte GIF konvertieren?

2891
user200783

In Microsoft PowerPoint 2013 habe ich eine einzige Folie, die eine ziemlich komplexe Animation enthält. Ich möchte diese Animation in eine animierte GIF-Datei konvertieren.

Ich habe versucht, die Animation direkt von PowerPoint in eine mp4- oder wmv-Videodatei zu speichern. Leider verwenden beide Formate eine verlustbehaftete Komprimierung. Bei der Konvertierung in GIF (mit FFmpeg und ImageMagick) ist die Ausgabedatei größer als erforderlich, da sie alle mp4 / wmv-Komprimierungsartefakte originalgetreu reproduziert.

Gibt es eine Möglichkeit, mit PowerPoint ein verlustfreies Video meiner Animation zu speichern? Das Konvertieren eines verlustfreien Videos in GIF sollte zu einer erheblich kleineren Datei führen und zu einer etwas saubereren Ausgabe führen.

Wenn es nicht möglich ist, ein solches verlustfreies Video zu erhalten, gibt es eine andere empfohlene Methode, um eine GIF meiner Animation zu erstellen?

0
Welchen ffmpeg-Befehl verwenden Sie zum Konvertieren in GIF? Gyan vor 8 Jahren 0
@ Mulvya - Ich extrahiere die Video-Frames mit `ffmpeg -i FromPowerPoint.mp4 FromPowerPoint \ ffout% 03d.png` und konvertiere sie dann mit ImageMagicks` convert.exe -layers -layers -loop 0 FromPowerPoint \ ffout * .png FromPowerPoint in ein GIF .gif` user200783 vor 8 Jahren 0
Und wie sieht das Powerpoint-Video aus - blockig oder sauber genug? Gyan vor 8 Jahren 0
@ Mulvya - Das MP4-Video sieht gut aus. Die Artefakte sind sehr klein zu betrachten, scheinen jedoch den Speicherbedarf von animierten GIF-Frames erheblich zu erhöhen. user200783 vor 8 Jahren 0

1 Antwort auf die Frage

1
Gyan

Versuchen Sie es mit ffmpeg, um auch das GIF zu generieren. Es ist ein zweistufiger Prozess.

Schritt 1 Erzeugen Sie eine Palette

ffmpeg -i ppt.mp4 -vf palettegen palette.png 

Schritt 2 Generieren Sie die GIF

ffmpeg -i ppt.mp4 -i palette.png -filter_complex paletteuse out.gif 

Wenn das Obige kein akzeptables Ergebnis liefert, können Sie versuchen, die PPT-Animation mit ffmpeg zu screengrabeln und diese als Quelle zu verwenden.

Vielen Dank für diesen Vorschlag. Es erzeugt ein GIF von guter Qualität, das jedoch leider groß ist: 2,8 MB im Vergleich zu den 2,3 MB, die von "convert.exe" wie oben generiert wurden. Wenn ich einfach `ffmpeg -i FromPowerPoint.mp4 FromPowerPoint.gif` ausführte, ist die GIF von schlechter Qualität (mit offensichtlichem Dithering), aber nur 1,0 MB groß. user200783 vor 8 Jahren 0
Wie Sie sagen, scheint es, als wäre die Bildschirmaufnahme der richtige Weg - anders als bei mp4 oder wmv kann dies verlustfrei erfolgen. Ich habe es mit einem "ScreenToGif" -Tool ausprobiert und konnte ein GIF von guter Qualität von nur 0,9 MB erstellen. Mir war nicht bekannt, dass es möglich war, den Bildschirm mit ffmpeg aufzuzeichnen. Haben Sie Informationen dazu? user200783 vor 8 Jahren 1
Diese Größenabweichung scheint mit der Framerate zu tun zu haben. Was sagt ffmpeg zu "ffmpeg -i gif-ffmpeg.gif" und "ffmpeg -i gif-screentogif.gif"? FFmpeg verfügt über mehrere Methoden, um den Bildschirm in Windows aufzuzeichnen. Aber mal sehen, was die Framerate-Sonde zeigt. Gyan vor 8 Jahren 0
Alle vier Versionen des GIF geben die gleiche Ausgabe von `ffmpeg -i` aus:` Stream # 0: 0: Video: gif, bgra, 384 x 384, 10 Bilder / s, 10 TB, 100 TB '. user200783 vor 8 Jahren 0
Interessant. Die grundlegende Methode zum Aufzeichnen des Bildschirms ist in diesem Fall `ffmpeg -f gdigrab -framerate 10 -i desktop -c: v libx264rgb -preset ultrafast -pix_fmt bgr0 out.mp4` - Diese müssen dann abgeschnitten und durchlaufen werden zweistufiger Prozess. Gyan vor 8 Jahren 0