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

数字电视背后是一条很长的技术链:采集、编码、复用、调制、解码、显示——FFmpeg 覆盖中间三环,也是各环节里最通用的一环。

📝 本节和前面几节的关系

2.4.5 讲了优点,这一节把支撑这些优点的技术链串起来。

一、整条技术链

信号采集:摄像、光电转换——把光变成电信号。 视频编码:MPEG-2/H.264/H.265——把画面压成码流。 音频编码:MPEG-1 Layer II/AAC/AC-3——把声音压成码流。 复用打包:MPEG-TS——把视频流、音频流、节目信息合成一路。 信道调制:QAM、OFDM——把码流变成能在介质上跑的波形。 接收解码:机顶盒、解码芯片——反过来还原。 显示呈现:面板、色彩管理——最后交给眼睛。

二、为什么中间有个【复用】

一条电视节目不只有视频和音频,还有节目单、字幕、多音轨等附加流。 复用(Mux)就是把这些流按时间打包成一路 TS 码流,让信道一次只传一路信号。 对应的反向操作叫解复用(Demux)——这是播放器的第一步,也是 FFmpeg 的核心动作之一。

三、调制是干什么的

编好的码流是一串 0 和 1,不能直接在电缆或空中传输。 调制就是把 0 和 1 映射成波形——QAM 用幅度和相位组合,OFDM 用多个子载波并行。 这一环和【编码】完全不同:编码是去掉冗余,调制是把数据搬到载波上。

四、FFmpeg 站在哪一环

整条链里,FFmpeg 覆盖编码、复用、解码这三环——也是各环节里最通用的一环。 采集要靠设备与驱动,调制要靠传输设备和芯片,显示要靠面板与显卡。 所以学 FFmpeg 的性价比特别高:一次学会,三环都能用。

五、动手 Demo:数字电视牵扯到哪些技术

一台数字电视背后是一条很长的技术链。

chain = [
    ("信号采集", "摄像、光电转换"),
    ("视频编码", "MPEG-2 / H.264 / H.265"),
    ("音频编码", "MPEG-1 Layer II / AAC / AC-3"),
    ("复用打包", "MPEG-TS 码流复用"),
    ("信道调制", "QAM、OFDM"),
    ("接收解码", "机顶盒、解码芯片"),
    ("显示呈现", "面板、色彩管理"),
]
for i, (step, tech) in enumerate(chain, 1):
    mark = "  <- FFmpeg" if 2 <= i <= 4 else ""
    print("%d. %-8s %s%s" % (i, step, tech, mark))

实跑输出:

--------------------------------------------------------------------
数字电视牵扯到哪些技术
--------------------------------------------------------------------

一台数字电视背后是一条很长的技术链。

  环节         用到的技术
  ----------------------------------------
  信号采集     摄像、光电转换
  视频编码     MPEG-2/H.264/H.265
  音频编码     MPEG-1 Layer II/AAC/AC-3
  复用打包     MPEG-TS 码流复用
  信道调制     QAM、OFDM
  接收解码     机顶盒、解码芯片
  显示呈现     面板、色彩管理

  这条链里,**FFmpeg 覆盖的是中间三环(编码/打包/解码)**——也是各环节里最通用的一环。

FFmpeg 覆盖的是中间三环(编码/复用/解码)。 也是各环节里最通用的一环——所以它的性价比最高。

30 秒实验

  1. 把这条七环的链抄下来,在每一环上写一个你听说过的产品或标准。
  2. 看哪一环你一个都写不出来——那就是下一步该补的。

常见误区

  1. 把【复用】和【编码】混为一谈。编码管压,复用管打包成一路。
  2. 以为调制也是压缩的一种。调制只是把数据搬到载波上,不减体积。
自测三问(点开对答案) 1. 什么是复用(Mux)? —— 把视频流、音频流、附加信息按时间打包成一路码流,让信道一次只传一路信号。 2. 调制和编码有什么区别? —— 编码是去掉冗余把数据变小,调制是把 0/1 映射成能在介质上传输的波形。 3. FFmpeg 覆盖这条链的哪几环? —— 编码、复用、解码三环。

相关笔记