使用ffmpeg把gif转换成mp4之后无法播放

布谷鸟 发布于 2015/12/22 19:04
阅读 1K+
收藏 2

小弟将准备把体积较大的gif动画转换成mp4格式在网页上播放,能够节省不少空间和带宽。

在网上查找到一些资料后,

使用命令如:

ffmpeg -f gif -i xx.gif xx.mp4

 ffmpeg -f gif -i xx.gif -c:v libx264 -f mp4  xx.mp4 等命令,

变换过不少参数(看了文档大部分参数我都不能够理解具体含义,只是照着有限的解释拼凑参数)来尝试进行转换,文件都能够正常输出,但视频无法用电脑播放器和手机播放器播放。

我使用windows 64位系统,尝试用过多个ffmpeg的版本,14年和15年版本都尝试过,均无法正常播放结果。奇怪的是,将gif转换成其它格式,如avi,webm之类的格式却可以正常播放,当然可以变通之后最终得到mp4,但这样显得很不好,会浪费不少资源。

转换的过程中有如下提示:

No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.

我花了一天时间去搜索资料,也不知道应该如何修改转换参数才能够使输出的mp4能够正常播放。

希望有经验的朋友能够帮到我,非常感谢

加载中
0
h
hex11

按照提示,加上 -pix_fmt yuv420p

ffmpeg -i test.gif -pix_fmt yuv420p test.mp4
Windows Media Player 都能正常播放了(¬_¬)
0
Feng_Yu
Feng_Yu
典型的不看提示- - 
0
布谷鸟
布谷鸟

引用来自“hex11”的评论

按照提示,加上 -pix_fmt yuv420p

ffmpeg -i test.gif -pix_fmt yuv420p test.mp4
Windows Media Player 都能正常播放了(¬_¬)
非常感谢您的回复!单纯添加这两个参数并不能够保证可以正常转换,ffmpeg要求从gif转换成mp4必须保证指定的宽高为能被2除尽,在我指定合适的宽高参数之后就没有再出现问题了
返回顶部
顶部