选择视频编码的像素格式有何影响?

Ghe*_*man 4 video ffmpeg yuv pixelformat video-conversion

我有一个工具可以将各种格式的视频转换为基线配置文件中的 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那么它就可以正常工作。

将所有视频转换为相同的像素格式会产生什么影响?不同像素格式之间的实际区别是什么?基线配置文件的其他像素格式是否不同?

Gya*_*yan 6

这个问题毫无意义。由于 H264 基线配置文件 yuv420p支持,因此无需决定。

与本主题相关的各种像素格式之间的区别在于色度子采样。缺点是编码器以颜色信息的密度换取更大的可压缩性。由于人眼对亮度的渐变比对色调的渐变更敏感,因此这种权衡通常是值得的。

  • 在像 ffmpeg 这样处理数百种格式和编解码器的应用程序中,媒体转码管道很复杂。编码器提供了全局可接受的格式列表,ffmpeg 使用这些格式来审查输入格式,这也是您收到的第一条消息(关于格式选择)的来源。关于 yuv422p 不可接受的错误是由外部库 x264 而不是 ffmpeg 产生的,一般来说,重新猜测库会做什么,对于 ffmpeg 来说不是一个好的设计,即使在这种情况下标准是明确的。 (3认同)