🎬 第二章 音视频入门
📄 一句话概括

一条 15 秒竖屏短视频,从拍到放要压掉 99.7% 的数据量——【15 秒】这个长度不是拍出来的,是压缩与带宽共同算出来的。

📝 本节和前面几节的关系

2.4 讲完了电视这个成熟领域,2.5 用短视频作对照——它是同一套原理长出的当代形态。

一、短视频是什么

短视频指时长较短(通常 15 秒到 3 分钟)、以竖屏为主、可快速连续浏览的视频形式。 它和【短一点的视频】不是一回事——它的产品形态是被播放方式决定的。 上下滑动即换、秒开即播,这两条决定了它的技术指标和传统视频完全不同。

二、数据量怎么算

拍一条 15 秒竖屏 1080 × 1920、30 fps 的视频: 未压缩:约 2.6 GB。 编码到 4 Mbps 上传:约 7 MB。 压缩比约 373 : 1。 所以【15 秒】不是拍出来的,是压缩和带宽共同算出来的。

三、和电视的根本差别

电视是广播:一份信号发给所有人,用户只能选台。 短视频是推荐 + 单播:每个人的内容都不一样,服务器要为每个人单独发流。 这带来一个工程后果:服务器压力随用户数线性增长——所以短视频平台的成本大头在带宽与 CDN。

四、为什么值得单独讲

因为它是当下最典型的音视频应用形态,把前面所有概念都用上了: 编码(压到几 Mbps)、容器(MP4)、传输(CDN + 分片)、呈现(边下边播)。 理解了短视频,就理解了当代音视频工程的主流形态。

五、动手 Demo:一条 15 秒短视频,数据怎么算

短视频看着轻,从拍到放要经过一整套压缩流程。

w, h, fps, sec = 1080, 1920, 30, 15
raw = w * h * 3 * fps * sec                 # 未压缩字节
enc = 4 * 1000 * 1000 / 8 * sec             # 4 Mbps 编码后字节
print("未压缩:%s 字节 = %.2f GB" % (format(raw, ","), raw / 1024.0 ** 3))
print("编码后:%.0f MB" % (enc / 1024.0 / 1024))
print("压缩比:约 %.0f : 1" % (raw / enc))

实跑输出:

--------------------------------------------------------------------
一条 15 秒短视频,数据怎么算
--------------------------------------------------------------------

短视频看着轻,从拍到放要经过一整套压缩流程。

  竖屏 1080x1920,30 fps,15 秒

  拍下来(未压缩):2,799,360,000 字节 = 2.61 GB
  上传前先编码到 4 Mbps:
    4 Mbps x 15 秒 = 7 MB

  压缩比约 373 : 1。
  码率减半,压缩比就翻一倍——**它不是常数,是原始数据除以码率。**
  **所以【15 秒】这个长度不是拍出来的,是压缩和带宽共同算出来的。**

2.6 GB → 7 MB,压掉 99.7%。 【15 秒】这个长度不是拍出来的,是压缩和带宽共同算出来的。

30 秒实验

  1. 在手机相册里找一条 15 秒视频,看它实际多大。
  2. 用 Demo 22 的公式反推它的码率。

常见误区

  1. 以为短视频只是【时长短的视频】。它的形态是被滑动浏览方式决定的。
  2. 觉得压缩比越高越好。压过头在手机上会明显糊。
自测三问(点开对答案) 1. 短视频的典型时长和画幅是什么? —— 15 秒到 3 分钟,以竖屏为主。 2. 15 秒竖屏视频的压缩比大约是多少? —— 约 373 : 1(2.6 GB 压到约 7 MB)。 3. 短视频为什么比电视更考验服务器? —— 它是单播 + 推荐,每个人内容不同,压力随用户数线性增长。

相关笔记