ffmpeg 多图生成的视频在windows平台无法播放
作者:钓赛通
发布时间:2022-11-02
点击数:
在一个电商的项目中,要使用到多个商品主图,加背景音效,生成一个商品视频。ffmpeg 命令如下:
# {$tpath} 图片文件路径 # {$ext} 图片扩展名,支持 jpg,jpeg,png # {$audio_path} 背景音效路径 $cmd = "ffmpeg -f image2 -r 1 -i {$tpath}img-%04d{$ext} -i {$audio_path} -vcodec libx264 -s 750x750 ".$video_path;
生成出来的视频,在macOS系统上可以播入,在win系统上 用windows media player播放时提示异常,或没有画面只有声音。 缩略图也无法显示视频首帧。
经过对比发现,ffmpeg编码视频时采用了 yuv444,而windows 对yuv444 应该支持不够,故解码出错,造成问题。
能过网上查找文档,使用参数,强制为yuv420p解码。
# -pix_fmt yuv420p "ffmpeg -f image2 -r 1 -i {$tpath}img-%04d{$ext} -i {$audio_path} -vcodec libx264 -pix_fmt yuv420p -s 750x750 ".$video_path;
过测试后,能在win下正常播放,问题解决。