我已经阅读了有关此主题的其他stackoverflow帖子,因此我可以肯定这不是完全重复。
ffmpeg导出似乎只能在特定播放器上播放的视频。我想导出在iPhone / Mac /常规播放器上播放的视频。我已经看到了-pix_fmt yuv420p
标签的建议,但这似乎不再起作用-我听说Mac从那以后改变了他们的系统,使其不再兼容。
我正在跑步:
ffmpeg -start_number 1 -framerate 4 -pix_fmt yuv420p -i screen%01d.png output.mp4
一切正常,我可以通过以下方式观看视频:
ffplay output.mp4
但是我希望能够以任何方式(最好使用ffmpeg)将其传输到手机或普通播放中?我宁愿不使用两种工具来完成一项工作。
答案 0 :(得分:1)
选项的顺序很重要。应该是
ffmpeg -start_number 1 -framerate 4 -i screen%01d.png -pix_fmt yuv420p output.mp4
现在将pix_fmt设置为输出选项。最初,它试图强制输入格式,但是由于PNG是具有元数据的图像,而不是原始像素数据,因此选择无效。此外,对于网络使用,最好将-movflags +faststart
设置为输出选项。
请注意,旧版本的VLC不能播放帧率<6的视频。其他一些播放器也可能是一个问题。添加-r 8
作为输出选项可避免这种情况。