有没有办法在Linux上将动态GIF转换为视频格式(例如.avi
)?
我已经尝试过
ffmpeg -i thegif.gif thevideo.avi
但我得到的只有视频的第一张图片。
有没有办法在Linux上将动态GIF转换为视频格式(例如.avi
)?
我已经尝试过
ffmpeg -i thegif.gif thevideo.avi
但我得到的只有视频的第一张图片。
ffmpeg 的 GIF 输入效果不太好。通常更容易使用 convert(来自 ImageMagick)解压缩 gif 帧,并使用 ffmpeg 处理这些帧:
convert some.gif some%05d.png
ffmpeg -i some%05d.png some.avi
rm some*.png
convert some.gif some%05d.png
。 - Dorian-coalesce
选项来转换。 - Hnatt-coalesce
时,您可能需要删除第一帧,因为它的格式与其他帧不同(PseudoClass
而不是DirectClass
)。可能存在一种方法来转换它... - xiawi我建议使用imagemagick和ffmpeg的组合。
执行下面的命令来将每一帧提取为png或jpeg格式。
$magick> convert 'images.gif[0]' image.png
按照以下步骤将图片转换为电影序列:
ffmpeg -f image2 -i image%d.jpg video.mpg
更多有关命令的帮助
http://www.imagemagick.org/script/command-line-processing.php
http://www.catswhocode.com/blog/19-ffmpeg-commands-for-all-needs
ffmpeg -r 'xx' -i some%05d.png some.avi
其中xx为输入帧率。
如果你不想要临时文件,可以尝试使用mencoder:
mencoder myfile.gif -mf fps=25 -o myfile.avi -ovc lavc -lavcopts vcodec=mpeg4