我必须创建mp4格式的视频,似乎我可以用不同的像素格式编码,如yuv420p
, yuv422p
, yuvj422p
。我应该使用哪一个来最大化与大多数浏览器/播放器的兼容性?
使用yuv420p
您可以使用-vf format=yuv420p
(或别名-pix_fmt yuv420p
)输出选项来确保您的输出是YUV 4:2:0。
ffmpeg -i input -c:v libx264 -crf 23 -preset medium -vf format=yuv420p -c:a copy -movflags +faststart output.mp4
- 对于网络视频,也建议使用
-movflags +faststart
选项。 - 在这个例子中音频正在被流复制(重新混音),而不是被重新编码。如果输入已经是AAC,则有用。
- 参见FFmpeg Wiki: H.264 &有关编码器特定设置(
-crf
和-preset
)的更多信息。
确定视频的像素格式
您可以使用ffprobe
:
$ ffprobe -loglevel error -show_entries stream=pix_fmt -of csv=p=0 input.mp4
yuv420p