1:项目需要,使用ffmpeg做了一个录屏程序,命令行如下:
./ffmpeg.exe -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 test.mp4
生成出来的视频,用windows media player播放时提示异常。
经过对比发现,ffmpeg编码视频时采用了 yuv444,而windows 对yuv444 应该支持不够,故解码出错。
缩略图也无法显示视频首帧。
2:解决方法很简单,强制为yuv420p
./ffmpeg.exe -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -pix_fmt yuv420p -acodec aac test.mp4
再次播放,问题解决。
给遇到同样问题的伙伴一个参考。