【问题标题】:Animated gif to avi on linuxLinux上的动画gif到avi
【发布时间】:2011-03-13 20:56:35
【问题描述】:

有没有办法在 Linux 上将动画 gif 转换为视频格式(例如 .avi)?

我已经试过了

ffmpeg -i thegif.gif thevideo.avi

但我得到的只是视频的第一张图片。

【问题讨论】:

  • ffmpeg -i foo.gif foo.mkv 适用于当前的 ffmpeg,甚至适用于可变帧率动画 gif。使用 mkv 输出,您可以获得可变帧速率 mkv。使用 mp4 输出时,它会根据需要将 fps 提高到最高,然后根据需要复制帧以在适当的时候显示内容。例如一个 25 fps 和 10 fps 的 gif 制作了一个 50 fps 的 mp4,有 2x dup 和 5x dup 帧,具体取决于哪个部分。存储重复帧根本不会占用太多空间,IDK 如果它们甚至在 h.264 流或只是 mp4 容器中。

标签: video ffmpeg gif animated-gif


【解决方案1】:

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
  • 如果某些帧因为只显示与基本帧的差异而损坏,请使用-coalesce 选项到convert
  • 使用-coalesce 时,您可能需要删除第一帧,因为它与其他帧的格式不同(PseudoClass 而不是DirectClass)。它可能存在转换它的方法...
  • 这不考虑每一帧的时间信息。所有帧都将以相同的帧速率显示。
【解决方案2】:

我可以建议结合使用 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

http://electron.mit.edu/~gsteele/ffmpeg/

【讨论】:

  • 如果您的 gif 具有透明性,您必须像这样添加 -coalesce:convert -coalesce download.gif some%05d.png
  • -1,因为您的第一个命令不起作用。但是 NordicMainframe 的命令有效。
  • 这会丢失输入 gif 中的帧速率信息。当前的 ffmpeg 现在直接处理动画 gif 输入。
【解决方案3】:

如果您希望将某个帧速率作为输入,因为生成的视频是快还是慢

ffmpeg -r 'xx' -i some%05d.png some.avi  

其中 xx 是输入帧率。

【讨论】:

    【解决方案4】:

    如果你不想要临时文件,你可以试试 mencoder:

    mencoder myfile.gif -mf fps=25 -o myfile.avi -ovc lavc -lavcopts vcodec=mpeg4
    

    【讨论】:

      【解决方案5】:

      如果你喜欢循环输出

      ffmpeg -loop 1 -t x -i some%05d.png some.avi
      

      其中 x 是视频应该运行的时间(以秒为单位)。

      Source

      【讨论】:

        猜你喜欢
        • 2012-02-05
        • 1970-01-01
        • 2015-03-19
        • 2013-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-28
        • 1970-01-01
        相关资源
        最近更新 更多