词典

什么是编码高度?

什么是文件的编码高度?这个元信息可以在视频文件、单张图片以及带封面图的音频文件中找到。了解它对你的文件说明了什么。

coded-height

编码高度是编码器在封装视频或图像时实际使用的像素高度。它通常与可见高度相同,有时会高出几个像素。

数值的来源

它会在包含视频流的文件中被报告,例如 MP4、MOV, MKV, AVI 和 WebM,也会用于单张图像以及嵌入在音频文件中的封面图,因为同一个工具会把静态图片当作只有一帧的视频来处理。该数值由生成此文件的编码器写入,并不是人工输入的。

它存在的原因与视频压缩的工作方式有关。编码器不会逐像素处理图像,而是将画面切分成方形小块,并一次处理一个小块。最常见的视频编码格式 H.264 使用的是 16×16 像素的小块。如果画面的高度不是小块数的整数倍,编码器就会在底部填充额外的行,使最后一行小块也完整,并保存一条指令,告诉播放器再次把这些行隐藏起来。编码高度统计的是包含填充行在内的画面高度,而普通的高度这一行统计的是用户实际应当看到的高度。

典型值

该值是一个整数像素,不带任何单位,例如 1088。

最常见的情况是 Full HD 视频。一个常见的 1920×1080 视频片段会报告高度为 1080,编码高度为 1088,因为 1080 不能被 16 整除,需要额外添加 8 行隐藏行来补足。大多数其他常见分辨率都能整除,例如 720、480 和 2160 都是 16 的倍数,所以在这些情况下这两行显示的数值相同,填充行不会体现出来。与编码宽度一起,这个值构成了视频流的编码尺寸,用来和普通的宽度与高度进行对比。

它的重要性

首先,是为了避免你去排查一个并不存在的问题。编码高度比高度高出几个像素是完全正常的,这不是文件损坏的迹象,也无需修复。这几行隐藏的像素只增加了可以忽略不计的数据量,不会影响画质。

它真正有用的地方是在出现异常播放时。一些简单的播放器和较老的固定功能设备会忽略隐藏填充行的指令,这时这些额外行会在底部边缘显示成一条很细的黑带,或是杂乱的像素。如果你能看到这样一条带状区域,这两行数值之间的差距就是原因所在。如果差距不是几个像素而是很大,通常意味着该文件曾被重新封装或手动拼接,可见画面只是一个更大编码画面中的小窗口,这一点在编辑前值得了解。

该数值只反映编码器的运算方式,不包含关于任何个人、地点或设备的信息。