【问题标题】:using ffmpeg to convert gif to mp4 , output doesn't play on android使用 ffmpeg 将 gif 转换为 mp4 ,输出无法在 android 上播放
【发布时间】:2015-10-25 04:52:02
【问题描述】:

我只是使用以下命令将 gif 文件转换为 mp4,但生成的 mp4 文件无法在 android 默认视频播放器中播放。
我做错了什么?
我应该采取任何其他步骤来生成可播放的 android mp4 文件吗?

$ ffmpeg -f gif -i infile.gif outfile.mp4

我的测试 gif 文件:Test Gif File
我的桌面使用 VLC 媒体播放器很好地播放了 output.mp4,并且我的 android 设备上的 MX Player 播放了视频文件,没有任何错误。

【问题讨论】:

  • 我认为你可以使用 ffmpeg -f gif -i file.gif -c:v libx264 outfile.mp4
  • PL.参考下面的 url unix.stackexchange.com/questions/40638/… 另一种将 GIF 动画转换为视频的方法:ffmpeg -i your_gif.gif -c:v libvpx -crf 12 -b:v 500K output.mp4 -crf 值可以从 4 到 63。价值意味着更好的质量。 -b:v 是允许的最大比特率。更高意味着更好的质量。

标签: ffmpeg gif mp4


【解决方案1】:

试试这个:

ffmpeg -i file.gif -movflags faststart -pix_fmt yuv420p -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" out.mp4

【讨论】:

  • 你能解释一下这是做什么的吗?
  • @Tom 默认编解码器是yuv444p,这显然无法在某些移动浏览器中播放(阅读:移动 Safari 和一般较旧的移动浏览器)。我用谷歌搜索了神秘的比例参数,发现了这个:github.com/manateelazycat/deepin-screen-recorder/commit/…
  • 另外,我认为 Safari 只有在宽度和高度都可被 2 整除时才会播放文件,这就是神秘的 -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" 行为您“修复”的内容。
猜你喜欢
  • 2021-06-30
  • 1970-01-01
  • 2016-04-01
  • 2016-09-30
  • 2018-05-12
  • 2016-04-28
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
相关资源
最近更新 更多