转换多个 GIF

转换多个 GIF

如何将多个 GIF 动画转换为视频?

我使用此命令将 1 个动画 gif 转换为视频:

ffmpeg -i aa0012.gif -crf 12 output.mp4

这是一个更复杂的命令,用于控制转换后的 GIF 的尺寸:

ffmpeg -i aa0012.gif -vf "scale=min(1920/iw\,1920/ih)*iw:min(1920/iw\,1920/ih)*ih,pad=1920:1920:(1920-(min(1920/iw\,1920/ih)*iw))/2:(1920-(min(1920/iw\,1920/ih)*ih))/2" -c:v libx264 output.mp4

我尝试过使用:

-pattern_type glob -i '*.gif'

它适用于大多数图像文件,但当我尝试使用 GIF 时,它返回错误“*.gif:没有此文件或目录”

答案1

动画 GIF 的处理方式与普通“图像”不同。事实上,它们更像实际的视频。这就是为什么您不能-pattern_type在那里使用图像分离器(即不能使用该选项)。

您需要做的是将每个文件分别转换为具有相同属性的中间文件,然后连接那些。

ffmpeg -i gif1.gif -vf "…" -r 25 -c:v ffv1 output1.avi
ffmpeg -i gif2.gif -vf "…" -r 25 -c:v ffv1 output2.avi
ffmpeg -i "concat:output1.avi|output2.avi" -c:v libx264 output.mp4

答案2

我这样做

ffmpeg -i "concat:my1.gif|my2.gif" output.avi

等等……

相关内容