将一系列 PNG 转换为动画 gif 或视频文件

将一系列 PNG 转换为动画 gif 或视频文件

我有一系列 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 copyvlctotem

由于图像数据只是被复制,因此这将非常快速地而且当然无损

(看“如何将单张图片编码成电影?”在 ffmpeg 的文档中。)

相关内容