🎬 第五章 视频基础
📄 一句话概括

1080p30 未压缩约 1493 Mbps,H.264 能压到约 187 倍、H.265 再翻一倍——和音频一样,真正省下空间的是【丢】。

📝 本节和前面几节的关系

5.3.1 讲了冗余在哪,这一节看实际能压到什么程度。

一、先看清基准

把 1080p30 的未压缩数据算出来:1920 × 1080 × 3 × 30 × 8 ≈ 1493 Mbps。 这是一个没法直接用的数字——无论存还是传,都远远超出常规能力。 所以才有压缩:不是为了省,是为了能用。

二、三种编码的差距

MPEG-2:典型 20 Mbps,压缩比约 75 倍——老数字电视用的就是它。 H.264:典型 8 Mbps,压缩比约 187 倍——当代最普及的一代。 H.265:典型 4 Mbps,压缩比约 373 倍——同画质码率约再减半。 从 20 Mbps 到 4 Mbps,同样画质码率差了 5 倍,这就是代际差距。

三、涨上去的代价

压缩比越高,要算的东西越多。 H.265 的压缩率约为 H.264 的两倍,但编码耗时常常是它的 3~10 倍。 所以现实中的选择永远是这个三角:码率、画质、算力——压得越狠,算力要求越高。

四、和音频对照

音频有损能压到 10~20 倍;视频有损能压到 200~400 倍。 差距的根源在 5.3.1 讲过:视频多了【时间冗余】这一类,而它最值钱。 所以看到【视频压缩比比音频大一个数量级】,这不是错觉,是必然。

五、动手 Demo:视频能被压到什么程度

拿 1080p30 做基准,看几种编码把它压到什么程度。

raw = 1920 * 1080 * 3 * 30 * 8 / 1000.0 / 1000
print("未压缩 1080p30:%.0f Mbps" % raw)
for name, br in [("MPEG-2", 20), ("H.264", 8), ("H.265", 4)]:
    print("%-8s %3d Mbps  压缩比 %5.0f : 1" % (name, br, raw / br))

实跑输出:

--------------------------------------------------------------------
视频能被压到什么程度
--------------------------------------------------------------------

拿 1080p30 做基准,看几种编码把它压到什么程度。

  未压缩 1080p30:1493 Mbps

  编码       典型码率     压缩比
  --------------------------------
  MPEG-2     20 Mbps      75 : 1
  H.264      8 Mbps       187 : 1
  H.265      4 Mbps       373 : 1

  H.264 压到约 **187 倍**,H.265 再翻一倍。
  和音频一样:**真正省下空间的是【丢】,不是【压】。**

H.264 压到约 187 倍,H.265 再翻一倍。 和音频一样:真正省下空间的是【丢】,不是【压】。

30 秒实验

  1. 算一下一段 10 分钟的 1080p30 视频,未压缩有多大。
  2. 再算 H.264 8 Mbps 压完之后有多大,对比这两个数字。

常见误区

  1. 以为 H.265 全面优于 H.264。算力开销大得多,实时场景未必划算。
  2. 只看压缩比不看画质。同码率比画质,同画质比码率,才是有意义的比较。
自测三问(点开对答案) 1. 1080p30 的未压缩码率约多少? —— 约 1493 Mbps。 2. H.264 相对未压缩大约压了多少倍? —— 约 187 倍。 3. 压缩比的提高伴随什么代价? —— 编码与解码的算力开销显著上升。

相关笔记