Web mp4 视频采用哪种像素格式?
Which pixel format for web mp4 video?
我必须创建 mp4 格式的视频,我似乎可以使用 yuv420p
、yuv422p
、yuvj422p
等不同的像素格式对其进行编码。我应该使用哪一个来最大程度地兼容大多数 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
我必须创建 mp4 格式的视频,我似乎可以使用 yuv420p
、yuv422p
、yuvj422p
等不同的像素格式对其进行编码。我应该使用哪一个来最大程度地兼容大多数 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