视频和编解码器
视频文件中几乎所有令人困惑的事情都源于一个区别——盒子和里面的东西之间的区别。这些词既适用于两者,也适用于在它们之间移动事物的操作。
-
容器
wrapper, format -
将视频、音频和字幕轨道保存在一起并描述每个轨道的位置的文件结构。 MP4、MKV、AVI 和 WebM 都是容器。容器不压缩任何东西。
将其视为带有内容标签的文件盒。盒子上写着:这里有一个视频轨道,是这样编码的;那里有两首这些语言的音轨;此偏移量处的字幕。它对其中任何一个是如何压缩的没有任何意见。
这就是为什么相同的视频可以以相同的图像质量和相同的文件大小存在于 MP4 和 MKV 中,以及为什么这两个视频之一可以在 iPhone 上打开,而另一个则不能。区别在于盒子,而不是里面的东西。
-
编解码器
coder-decoder -
用于压缩视频或音频流并再次解压缩以进行播放的方法。 H.264、HEVC、AV1、AAC 和 MP3 都是编解码器。编解码器不是文件格式。
该名称是编码器-解码器的缩写。编码以一种难以注意到的方式丢弃了细节,而解码则根据保留的内容重建了原始内容的近似值。编解码器越好,给定大小的损失就越不明显。
当设备可以读取容器*并*解码其中的每个编解码器时,设备就会播放文件。两半都是必需的,当文件打开但没有显示任何内容时,后半部分就会失败。
-
H.264
AVC, MPEG-4 Part 10 -
一切都可以解码的视频编解码器。它于 2003 年发布,仍然是过去 15 年中生产的每部手机、计算机和电视上兼容性和硬件加速的最安全选择。
H.264 赢得如此彻底,以至于“这会在任何地方播放吗”和“这是 H.264”几乎是同一个问题。它不是最高效的编解码器——HEVC 和 AV1 都用更少的比特做更多的事情——但在支持范围上没有其他编解码器能与之相媲美。
它有配置文件,其中之一会在 Apple 设备上造成麻烦:High 10(通常写为 Hi10P),每个颜色通道编码 10 位而不是 8 位。硬件解码器仅为八位,因此 Hi10P 文件在没有软件回退的设备上播放声音,但没有图像。
-
HEVC
H.265 -
H.264 的后继者,在相同质量的情况下尺寸大约是一半。从 2015 年起,每台 Apple 设备都会在硬件中对其进行解码,这就是 iPhone 记录的内容。
HEVC 使 4K 在手机上变得实用:以大约一半的比特率播放相同的图片。 Apple 很早就彻底采用了它,因此在 Apple 硬件上它与 H.264 一样安全。
其他地方则更加混乱。围绕 HEVC 的专利许可存在足够的争议,以至于网络浏览器支持它的速度很慢,而这正是 AV1 的创建来填补的空白。
-
AV1
-
2018 年发布的免版税编解码器,比 HEVC 更高效,并且不存在许可纠纷。硬件解码仅在 iPhone 15 Pro 上出现在 Apple 设备上。
AV1 的存在是因为 HEVC 的许可使得最大的流媒体和网络浏览器公司想要一种无需向任何人付费即可发布的替代方案。现在大量的网络视频都是通过它来传输的。
问题是解码成本。如果没有硬件支持,AV1 可以通过软件进行解码,这是可能的,但会明显耗尽电池,并且在高分辨率下可能会卡顿。在较旧的设备上,同一视频的 H.264 版本是更好的文件。
-
比特率
-
一秒钟的视频或音频使用多少数据,通常以每秒兆位为单位。它是决定文件大小和设备工作量的主要因素。
分辨率引起人们的注意,但比特率决定文件的实际外观。低比特率的 4K 文件看起来比高比特率的 1080p 文件更糟糕,因为编码器必须丢弃更多内容才能达到目标。
这也是口吃文件通常的含义。当视频在计算机上播放并在手机上卡顿时,该文件没有任何问题:它只是每秒要求的解码工作量超出了该芯片想要完成的工作量。
-
混用器
rewrap -
将现有视频和音频流从一个容器移至另一个容器,无需重新编码。无损且速度足够快,不受磁盘速度而不是处理器的限制。
remux 复制流;它不触及单个框架。包含 H.264 和 AAC 的长达一小时的 MKV 在几秒钟内就变成了 MP4,图像和声音逐位相同。
它仅在目标容器接受源保存的内容时才起作用 - MP4 将采用 H.264 和 AAC,而不采用 VP9 或 Vorbis。当人们说转换是“即时”时,他们会重新混合。当花了一个小时后,一些东西被重新编码。
-
转码
re-encode, convert -
解码流并再次编码,通常为不同的编解码器或以较低的比特率。每次都很慢,而且有损——质量永远不会恢复。
转码就是人们所说的“转换视频”,这是一个真正昂贵的操作:每一帧都被解码、处理和压缩。当编解码器确实不受支持或必须缩小文件时,这是正确的答案。
这是对“我的手机打不开这个”的错误答案,而重混就可以做到这一点,而且对于唯一问题是 DTS 音轨的文件来说,这也是一个糟糕的答案——替换一个音轨不会影响图片。
-
硬件解码
-
在专用芯片而不是主处理器上解码视频。更快、更冷、对电池更友好——但它只能处理其专用的编解码器。
每部手机都包含一个固定功能视频解码器,可以极其高效地处理 H.264 和 HEVC。它不支持的任何内容都取决于软件,软件可以工作,但会消耗电池和热量,并且可能无法跟上高分辨率。
这就是为什么手机上的格式支持不是单一的是或否的原因。设备可能在软件中以 1080p 完美播放编解码器,但在 4K 时却无法播放相同的编解码器,这两种结果都表明文件有问题。
-
10-bit
Hi10P, High 10 -
视频每个颜色通道存储十位而不是八位,以实现更平滑的渐变。在 HEVC 中这是正常的并且得到很好的支持;在 H.264 中,这是导致 iPhone 上的文件有声音但没有图像的最常见原因。
每个通道更多的位数意味着阴影之间的步距更精细,从而消除了您在黑暗天空和缓慢褪色中看到的条带。对于 HDR 来说,这是一个要求,而不是一个改进。
具体来说,问题是 H.264。 10 位 H.264 不属于硬件解码器实现的范围,而且 Apple 的系统播放器没有针对它的软件路径,因此播放音频而图像永远不会到达。动漫发行大量使用它,这就是为什么这种格式出现的频率远远高于该格式的总体份额所暗示的原因。