选择视频编码像素格式有哪些影响?

4
我有一个工具,可以将各种格式的视频转换为基线配置的mp4格式。它使用ffmpeg进行转换。虽然已经明确指定了基线配置,但像素格式却没有被指定。我曾经遇到过一个avi格式的视频,其格式如下:
Stream #0:0: Video: dvvideo, yuv411p, 720x480 [SAR 32:27 DAR 16:9], 25000 kb/s, 29.97 fps, 29.97 tbr, 29.97 tbn, 29.97 tbc
当我尝试转换它时,它说默认会选择yuv422p像素格式。然后它说基线配置与这种像素格式不兼容。如果我明确指定像素格式为yuv420p,则可以正常工作。
将所有视频转换为相同的像素格式会产生什么影响?不同像素格式之间的实际区别是什么?基线配置的其他像素格式是否不同?
1个回答

6
这个问题没有意义。因为H264基本配置文件仅支持 yuv420p,所以没有什么可以决定的。
与此主题相关的各种像素格式之间的区别在于色度抽样。简而言之,编码器为了更好的可压缩性而交换颜色信息的密度。由于人眼对亮度的变化比对色调的变化更敏感,这种权衡通常是值得的。

1
我之前不知道基准配置文件不支持其他像素格式。即使只有一种像素格式可用,ffpeg也要求我指定像素格式。这让我误以为还有其他的像素格式可供选择。 - Gherman
3
在像FFmpeg这样处理数百种格式和编解码器的应用程序中,媒体转码流程是复杂的。编码器提供一份全局可接受格式列表,FFmpeg使用它来审查输入格式,这就是你收到的第一条消息(关于格式选择)的来源。有关yuv422p不被接受的错误是由外部库x264产生的,而不是FFmpeg。通常情况下,即使在这种情况下标准是清楚的,对于FFmpeg来说也不应该去猜测库会做什么,因为这不是一个良好的设计。 - Gyan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接