| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616 |
- .. SPDX-License-Identifier: GPL-2.0
- ==============================
- Using the Digital TV Framework
- ==============================
- Introduction
- ~~~~~~~~~~~~
- One significant difference between Digital TV and Analogue TV that the
- unwary (like myself) should consider is that, although the component
- structure of DVB-T cards are substantially similar to Analogue TV cards,
- they function in substantially different ways.
- The purpose of an Analogue TV is to receive and display an Analogue
- Television signal. An Analogue TV signal (otherwise known as composite
- video) is an analogue encoding of a sequence of image frames (25 frames
- per second in Europe) rasterised using an interlacing technique.
- Interlacing takes two fields to represent one frame. Therefore, an
- Analogue TV card for a PC has the following purpose:
- * Tune the receiver to receive a broadcast signal
- * demodulate the broadcast signal
- * demultiplex the analogue video signal and analogue audio
- signal.
- .. note::
- some countries employ a digital audio signal
- embedded within the modulated composite analogue signal -
- using NICAM signaling.)
- * digitize the analogue video signal and make the resulting datastream
- available to the data bus.
- The digital datastream from an Analogue TV card is generated by
- circuitry on the card and is often presented uncompressed. For a PAL TV
- signal encoded at a resolution of 768x576 24-bit color pixels over 25
- frames per second - a fair amount of data is generated and must be
- processed by the PC before it can be displayed on the video monitor
- screen. Some Analogue TV cards for PCs have onboard MPEG2 encoders which
- permit the raw digital data stream to be presented to the PC in an
- encoded and compressed form - similar to the form that is used in
- Digital TV.
- The purpose of a simple budget digital TV card (DVB-T,C or S) is to
- simply:
- * Tune the received to receive a broadcast signal. * Extract the encoded
- digital datastream from the broadcast signal.
- * Make the encoded digital datastream (MPEG2) available to the data bus.
- The significant difference between the two is that the tuner on the
- analogue TV card spits out an Analogue signal, whereas the tuner on the
- digital TV card spits out a compressed encoded digital datastream. As
- the signal is already digitised, it is trivial to pass this datastream
- to the PC databus with minimal additional processing and then extract
- the digital video and audio datastreams passing them to the appropriate
- software or hardware for decoding and viewing.
- Getting the card going
- ~~~~~~~~~~~~~~~~~~~~~~
- The Device Driver API for DVB under Linux will the following
- device nodes via the devfs filesystem:
- * /dev/dvb/adapter0/demux0
- * /dev/dvb/adapter0/dvr0
- * /dev/dvb/adapter0/frontend0
- The ``/dev/dvb/adapter0/dvr0`` device node is used to read the MPEG2
- Data Stream and the ``/dev/dvb/adapter0/frontend0`` device node is used
- to tune the frontend tuner module. The ``/dev/dvb/adapter0/demux0`` is
- used to control what programs will be received.
- Depending on the card's feature set, the Device Driver API could also
- expose other device nodes:
- * /dev/dvb/adapter0/ca0
- * /dev/dvb/adapter0/audio0
- * /dev/dvb/adapter0/net0
- * /dev/dvb/adapter0/osd0
- * /dev/dvb/adapter0/video0
- The ``/dev/dvb/adapter0/ca0`` is used to decode encrypted channels. The
- other device nodes are found only on devices that use the av7110
- driver, with is now obsoleted, together with the extra API whose such
- devices use.
- Receiving a digital TV channel
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- This section attempts to explain how it works and how this affects the
- configuration of a Digital TV card.
- On this example, we're considering tuning into DVB-T channels in
- Australia, at the Melbourne region.
- The frequencies broadcast by Mount Dandenong transmitters are,
- currently:
- Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.
- =========== ===========
- Broadcaster Frequency
- =========== ===========
- Seven 177.500 Mhz
- SBS 184.500 Mhz
- Nine 191.625 Mhz
- Ten 219.500 Mhz
- ABC 226.500 Mhz
- Channel 31 557.625 Mhz
- =========== ===========
- The digital TV Scan utilities (like dvbv5-scan) have use a set of
- compiled-in defaults for various countries and regions. Those are
- currently provided as a separate package, called dtv-scan-tables. It's
- git tree is located at LinuxTV.org:
- https://git.linuxtv.org/dtv-scan-tables.git/
- If none of the tables there suit, you can specify a data file on the
- command line which contains the transponder frequencies. Here is a
- sample file for the above channel transponders, in the old "channel"
- format::
- # 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
- Nowadays, we prefer to use a newer format, with is more verbose and easier
- to understand. With the new format, the "Seven" channel transponder's
- data is represented by::
- [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
- For an updated version of the complete table, please see:
- https://git.linuxtv.org/dtv-scan-tables.git/tree/dvb-t/au-Melbourne
- When the Digital TV scanning utility runs, it will output a file
- containing the information for all the audio and video programs that
- exists into each channel's transponders which the card's frontend can
- lock onto. (i.e. any whose signal is strong enough at your antenna).
- Here's the output of the dvbv5 tools from a channel scan took from
- Melburne::
- [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
|