词典

什么是编码宽度?

一个文件在宽度方面只能有有限的几个数值。其中之一就是所谓的编码宽度。了解这对你的文件意味着什么,以及它与其他宽度数值有何不同。

coded-width

编码宽度是编码器在打包视频或图像时实际使用的像素宽度,在播放器裁剪画面到你实际看到的大小之前的宽度。

数值的来源

该数值由编码器在创建文件时写入,从数据流本身读取。你会在 MP4、MOV、MKV、AVI 和 WebM 等视频文件中看到它,也会在静态图像和嵌入音频文件的封面图中看到它,因为单张图片会被当作只有一帧的视频来处理。

视频编码器是按方块而不是逐像素来压缩画面的。H.264 以 16×16 像素的块工作,而更新的编码器如 HEVC 使用更大的块。当画面的宽度不是块大小的整数倍时,编码器会在右侧补上一些像素列,让最后一个块被填满,并记录一条说明,告诉播放器把这些像素再裁掉。编码宽度就是补齐后的宽度。宽度则是裁剪后的宽度。

典型值

该值只是一个像素计数,例如 1920。常见的宽度大多本身就是 16 的倍数,例如 640、1280、1920 和 3840,所以对于横屏视频,编码宽度和宽度通常相同,这一行看起来就像重复信息。

手机拍摄的竖屏视频更容易看出差别。一段以 1080×1920 竖直拍摄的片段会报告宽度为 1080,编码宽度为 1088,因为 1080 还需要 8 列像素才能到下一个 16 的倍数。非常见尺寸也是同样的行为:宽度为 1922 像素的画面会补齐到编码宽度 1936。编码宽度和编码高度合在一起称为数据流的编码尺寸。

它的重要性

它主要用来解释为什么同一个文件在一份报告中会出现两个不同的宽度。这是正常现象,并不代表有问题,无需强行让两个数值一致。

当画面看起来不对劲时,它就变得有用起来。如果某个播放器或设备忽略了裁剪指令,就会把补齐的像素显示为画面一侧的一条窄黑边或杂点。如果你看到这种情况,可以对比这两行数值:差值很小就是原因所在。差值很大则说明问题另有原因,通常是文件被重新封装或手工制作,当前可见画面只是一个更大编码画面中的窗口。这类文件在裁剪或重新编码时往往会有异常表现。

补齐只会增加极少量额外数据,不会影响你观看的画质。这个数值是机器写入的几何信息,完全不包含任何个人数据。