Web mp4 视频采用哪种像素格式?

Which pixel format for web mp4 video?

我必须创建 mp4 格式的视频,我似乎可以使用 yuv420pyuv422pyuvj422p 等不同的像素格式对其进行编码。我应该使用哪一个来最大程度地兼容大多数 browsers/players?

使用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 选项。
  • 在此示例中,音频正在 stream copied(重新混合),而不是重新编码。如果输入已经是 AAC 则很有用。
  • 有关编码器特定设置(-crf-preset)的更多信息,请参阅 FFmpeg Wiki:H.264 & H.265

确定视频的像素格式

您可以通过 ffprobe:

检查视频的像素格式
$ ffprobe -loglevel error -show_entries stream=pix_fmt -of csv=p=0 input.mp4
yuv420p