我有一系列 PNG 图像文件,想要将其转换为动画。
将它们转换为 GIF 的最佳方法是什么?
我也尝试过各种工具将它们转换为视频文件(如 ffmpeg),但它们制作的视频质量很差。使用 Blender 中的视频序列编辑器可以制作出所需的质量,但我不知道如何自动执行此操作。
(使用 ImageMagick 的转换时间太长,有没有办法加快速度?)
答案1
如果您想将图像序列转换为动画 .gif,最简单的方法是通过 ImageMagick 的convert
命令:
convert -delay 5 -layers Optimize $FILE_LIST foo.gif
上述命令将所有文件合并为一个优化的动画 .gif,帧时间为 5 毫秒。您还可以通过以下方式使用计时执行更复杂的事情:
convert -layers Optimize -delay 5 frame1.png frame2.png -delay 10 frame3.png animation.gif
这使得帧 1 和帧 2 的延迟为 5ms,帧 3 的延迟为 10ms。
答案2
如果您担心质量,请不要转换为 GIF。
要创建视频,您可以使用ffmpeg
:
ffmpeg -f image2 -i 'image%d.png' -vcodec copy out.mkv
-f image2 -i 'image%d.png'
指示按顺序ffmpeg
读取 PNG 图像image1.png
、等。将图像无损存储在视频流中。生成的视频可以在或中播放。image2.png
-vcodec copy
vlc
totem
由于图像数据只是被复制,因此这将非常快速地而且当然无损。
(看“如何将单张图片编码成电影?”在 ffmpeg 的文档中。)