5.1. 使用数字电视框架

5.1.1. 简介

数字电视和模拟电视之间一个重要的区别是,粗心的人(比如我)应该考虑到,尽管 DVB-T 卡的组件结构与模拟电视卡大体相似,但它们的功能方式却大相径庭。

模拟电视的目的是接收和显示模拟电视信号。模拟电视信号(也称为复合视频)是一种图像帧序列的模拟编码(欧洲为每秒 25 帧),使用隔行扫描技术进行光栅化。隔行扫描需要两个场来表示一帧。因此,用于 PC 的模拟电视卡具有以下目的:

  • 调谐接收器以接收广播信号

  • 解调广播信号

  • 解复用模拟视频信号和模拟音频信号。

    注意

    某些国家/地区在调制的复合模拟信号中嵌入数字音频信号——使用 NICAM 信令。

  • 将模拟视频信号数字化,并使生成的数据流可用于数据总线。

模拟电视卡产生的数字数据流由卡上的电路生成,通常以未压缩的形式呈现。对于以 768x576 分辨率、24 位彩色像素、每秒 25 帧编码的 PAL 电视信号,会生成大量数据,这些数据必须由 PC 处理才能在视频监视器屏幕上显示。一些用于 PC 的模拟电视卡具有板载 MPEG2 编码器,可以将原始数字数据流以编码和压缩的形式呈现给 PC——类似于数字电视中使用的形式。

简单的经济型数字电视卡(DVB-T、C 或 S)的目的仅仅是:

  • 调谐接收器以接收广播信号。* 从广播信号中提取编码的数字数据流。

  • 使编码的数字数据流 (MPEG2) 可用于数据总线。

两者之间的显著区别在于,模拟电视卡上的调谐器输出模拟信号,而数字电视卡上的调谐器输出压缩编码的数字数据流。由于信号已经数字化,因此只需最少的额外处理即可将此数据流传递到 PC 数据总线,然后提取数字视频和音频数据流,将其传递给相应的软件或硬件进行解码和观看。

5.1.2. 启用电视卡

Linux 下 DVB 的设备驱动 API 将通过 devfs 文件系统公开以下设备节点:

  • /dev/dvb/adapter0/demux0

  • /dev/dvb/adapter0/dvr0

  • /dev/dvb/adapter0/frontend0

/dev/dvb/adapter0/dvr0 设备节点用于读取 MPEG2 数据流,而 /dev/dvb/adapter0/frontend0 设备节点用于调谐前端调谐器模块。/dev/dvb/adapter0/demux0 用于控制将接收哪些节目。

根据电视卡的功能集,设备驱动 API 还可能公开其他设备节点:

  • /dev/dvb/adapter0/ca0

  • /dev/dvb/adapter0/audio0

  • /dev/dvb/adapter0/net0

  • /dev/dvb/adapter0/osd0

  • /dev/dvb/adapter0/video0

/dev/dvb/adapter0/ca0 用于解码加密频道。其他设备节点仅存在于使用 av7110 驱动的设备上,该驱动及其所使用的额外 API 现已废弃。

5.1.3. 接收数字电视频道

本节旨在解释其工作原理以及这如何影响数字电视卡的配置。

在此示例中,我们将考虑在澳大利亚墨尔本地区调谐 DVB-T 频道。

丹德农山发射器目前广播的频率是:

表 1. 丹德农山转发器频率,维多利亚州,澳大利亚。

广播公司

频率

七号台

177.500 Mhz

SBS

184.500 Mhz

九号台

191.625 Mhz

十号台

219.500 Mhz

ABC

226.500 Mhz

31 频道

557.625 Mhz

数字电视扫描工具(如 dvbv5-scan)为不同国家和地区使用了一套编译好的默认设置。这些目前作为一个单独的软件包提供,名为 dtv-scan-tables。其 Git 仓库位于 LinuxTV.org

如果那里没有合适的表,您可以在命令行中指定一个包含转发器频率的数据文件。以下是上述频道转发器的示例文件,采用旧的“频道”格式:

# Data file for DVB scan program
#
# C Frequency SymbolRate FEC QAM
# S Frequency Polarisation SymbolRate FEC
# T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier

T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE
T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
T 557625000 7MHz AUTO AUTO QPSK 8k 1/16 NONE

如今,我们更喜欢使用一种新的格式,它更详细且更易于理解。在新格式中,“七号台”频道转发器的数据表示为:

[Seven]
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 177500000
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = AUTO
        CODE_RATE_LP = AUTO
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE
        INVERSION = AUTO

有关完整表的更新版本,请参阅:

当数字电视扫描实用程序运行时,它将输出一个文件,其中包含卡的前端可以锁定的每个频道转发器中存在的所有音频和视频节目的信息。(即,您的天线信号足够强的任何节目)。

以下是 dvbv5 工具在墨尔本频道扫描的输出:

[ABC HDTV]
        SERVICE_ID = 560
        VIDEO_PID = 2307
        AUDIO_PID = 0
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 226500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 3/4
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[ABC TV Melbourne]
        SERVICE_ID = 561
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 226500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 3/4
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[ABC TV 2]
        SERVICE_ID = 562
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 226500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 3/4
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[ABC TV 3]
        SERVICE_ID = 563
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 226500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 3/4
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[ABC TV 4]
        SERVICE_ID = 564
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 226500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 3/4
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[ABC DiG Radio]
        SERVICE_ID = 566
        VIDEO_PID = 0
        AUDIO_PID = 2311
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 226500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 3/4
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN Digital]
        SERVICE_ID = 1585
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN Digital 1]
        SERVICE_ID = 1586
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN Digital 2]
        SERVICE_ID = 1587
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN Digital 3]
        SERVICE_ID = 1588
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN Digital]
        SERVICE_ID = 1589
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN Digital 4]
        SERVICE_ID = 1590
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN Digital]
        SERVICE_ID = 1591
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN HD]
        SERVICE_ID = 1592
        VIDEO_PID = 514
        AUDIO_PID = 0
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[TEN Digital]
        SERVICE_ID = 1593
        VIDEO_PID = 512
        AUDIO_PID = 650
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 219500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[Nine Digital]
        SERVICE_ID = 1072
        VIDEO_PID = 513
        AUDIO_PID = 660
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 191625000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[Nine Digital HD]
        SERVICE_ID = 1073
        VIDEO_PID = 512
        AUDIO_PID = 0
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 191625000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[Nine Guide]
        SERVICE_ID = 1074
        VIDEO_PID = 514
        AUDIO_PID = 670
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 191625000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 3/4
        CODE_RATE_LP = 1/2
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/16
        HIERARCHY = NONE

[7 Digital]
        SERVICE_ID = 1328
        VIDEO_PID = 769
        AUDIO_PID = 770
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 177500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[7 Digital 1]
        SERVICE_ID = 1329
        VIDEO_PID = 769
        AUDIO_PID = 770
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 177500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[7 Digital 2]
        SERVICE_ID = 1330
        VIDEO_PID = 769
        AUDIO_PID = 770
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 177500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[7 Digital 3]
        SERVICE_ID = 1331
        VIDEO_PID = 769
        AUDIO_PID = 770
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 177500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[7 HD Digital]
        SERVICE_ID = 1332
        VIDEO_PID = 833
        AUDIO_PID = 834
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 177500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[7 Program Guide]
        SERVICE_ID = 1334
        VIDEO_PID = 865
        AUDIO_PID = 866
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 177500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[SBS HD]
        SERVICE_ID = 784
        VIDEO_PID = 102
        AUDIO_PID = 103
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 536500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[SBS DIGITAL 1]
        SERVICE_ID = 785
        VIDEO_PID = 161
        AUDIO_PID = 81
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 536500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[SBS DIGITAL 2]
        SERVICE_ID = 786
        VIDEO_PID = 162
        AUDIO_PID = 83
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 536500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[SBS EPG]
        SERVICE_ID = 787
        VIDEO_PID = 163
        AUDIO_PID = 85
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 536500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[SBS RADIO 1]
        SERVICE_ID = 798
        VIDEO_PID = 0
        AUDIO_PID = 201
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 536500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE

[SBS RADIO 2]
        SERVICE_ID = 799
        VIDEO_PID = 0
        AUDIO_PID = 202
        DELIVERY_SYSTEM = DVBT
        FREQUENCY = 536500000
        INVERSION = OFF
        BANDWIDTH_HZ = 7000000
        CODE_RATE_HP = 2/3
        CODE_RATE_LP = 2/3
        MODULATION = QAM/64
        TRANSMISSION_MODE = 8K
        GUARD_INTERVAL = 1/8
        HIERARCHY = NONE