617 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3==============================4Using the Digital TV Framework5==============================6 7Introduction8~~~~~~~~~~~~9 10One significant difference between Digital TV and Analogue TV that the11unwary (like myself) should consider is that, although the component12structure of DVB-T cards are substantially similar to Analogue TV cards,13they function in substantially different ways.14 15The purpose of an Analogue TV is to receive and display an Analogue16Television signal. An Analogue TV signal (otherwise known as composite17video) is an analogue encoding of a sequence of image frames (25 frames18per second in Europe) rasterised using an interlacing technique.19Interlacing takes two fields to represent one frame. Therefore, an20Analogue TV card for a PC has the following purpose:21 22* Tune the receiver to receive a broadcast signal23* demodulate the broadcast signal24* demultiplex the analogue video signal and analogue audio25 signal.26 27 .. note::28 29 some countries employ a digital audio signal30 embedded within the modulated composite analogue signal -31 using NICAM signaling.)32 33* digitize the analogue video signal and make the resulting datastream34 available to the data bus.35 36The digital datastream from an Analogue TV card is generated by37circuitry on the card and is often presented uncompressed. For a PAL TV38signal encoded at a resolution of 768x576 24-bit color pixels over 2539frames per second - a fair amount of data is generated and must be40processed by the PC before it can be displayed on the video monitor41screen. Some Analogue TV cards for PCs have onboard MPEG2 encoders which42permit the raw digital data stream to be presented to the PC in an43encoded and compressed form - similar to the form that is used in44Digital TV.45 46The purpose of a simple budget digital TV card (DVB-T,C or S) is to47simply:48 49* Tune the received to receive a broadcast signal. * Extract the encoded50 digital datastream from the broadcast signal.51* Make the encoded digital datastream (MPEG2) available to the data bus.52 53The significant difference between the two is that the tuner on the54analogue TV card spits out an Analogue signal, whereas the tuner on the55digital TV card spits out a compressed encoded digital datastream. As56the signal is already digitised, it is trivial to pass this datastream57to the PC databus with minimal additional processing and then extract58the digital video and audio datastreams passing them to the appropriate59software or hardware for decoding and viewing.60 61Getting the card going62~~~~~~~~~~~~~~~~~~~~~~63 64The Device Driver API for DVB under Linux will the following65device nodes via the devfs filesystem:66 67* /dev/dvb/adapter0/demux068* /dev/dvb/adapter0/dvr069* /dev/dvb/adapter0/frontend070 71The ``/dev/dvb/adapter0/dvr0`` device node is used to read the MPEG272Data Stream and the ``/dev/dvb/adapter0/frontend0`` device node is used73to tune the frontend tuner module. The ``/dev/dvb/adapter0/demux0`` is74used to control what programs will be received.75 76Depending on the card's feature set, the Device Driver API could also77expose other device nodes:78 79* /dev/dvb/adapter0/ca080* /dev/dvb/adapter0/audio081* /dev/dvb/adapter0/net082* /dev/dvb/adapter0/osd083* /dev/dvb/adapter0/video084 85The ``/dev/dvb/adapter0/ca0`` is used to decode encrypted channels. The86other device nodes are found only on devices that use the av711087driver, with is now obsoleted, together with the extra API whose such88devices use.89 90Receiving a digital TV channel91~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~92 93This section attempts to explain how it works and how this affects the94configuration of a Digital TV card.95 96On this example, we're considering tuning into DVB-T channels in97Australia, at the Melbourne region.98 99The frequencies broadcast by Mount Dandenong transmitters are,100currently:101 102Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.103 104=========== ===========105Broadcaster Frequency106=========== ===========107Seven 177.500 Mhz108SBS 184.500 Mhz109Nine 191.625 Mhz110Ten 219.500 Mhz111ABC 226.500 Mhz112Channel 31 557.625 Mhz113=========== ===========114 115The digital TV Scan utilities (like dvbv5-scan) have use a set of116compiled-in defaults for various countries and regions. Those are117currently provided as a separate package, called dtv-scan-tables. It's118git tree is located at LinuxTV.org:119 120 https://git.linuxtv.org/dtv-scan-tables.git/121 122If none of the tables there suit, you can specify a data file on the123command line which contains the transponder frequencies. Here is a124sample file for the above channel transponders, in the old "channel"125format::126 127 # Data file for DVB scan program128 #129 # C Frequency SymbolRate FEC QAM130 # S Frequency Polarisation SymbolRate FEC131 # T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier132 133 T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE134 T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE135 T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE136 T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE137 T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE138 T 557625000 7MHz AUTO AUTO QPSK 8k 1/16 NONE139 140Nowadays, we prefer to use a newer format, with is more verbose and easier141to understand. With the new format, the "Seven" channel transponder's142data is represented by::143 144 [Seven]145 DELIVERY_SYSTEM = DVBT146 FREQUENCY = 177500000147 BANDWIDTH_HZ = 7000000148 CODE_RATE_HP = AUTO149 CODE_RATE_LP = AUTO150 MODULATION = QAM/64151 TRANSMISSION_MODE = 8K152 GUARD_INTERVAL = 1/16153 HIERARCHY = NONE154 INVERSION = AUTO155 156For an updated version of the complete table, please see:157 158 https://git.linuxtv.org/dtv-scan-tables.git/tree/dvb-t/au-Melbourne159 160When the Digital TV scanning utility runs, it will output a file161containing the information for all the audio and video programs that162exists into each channel's transponders which the card's frontend can163lock onto. (i.e. any whose signal is strong enough at your antenna).164 165Here's the output of the dvbv5 tools from a channel scan took from166Melburne::167 168 [ABC HDTV]169 SERVICE_ID = 560170 VIDEO_PID = 2307171 AUDIO_PID = 0172 DELIVERY_SYSTEM = DVBT173 FREQUENCY = 226500000174 INVERSION = OFF175 BANDWIDTH_HZ = 7000000176 CODE_RATE_HP = 3/4177 CODE_RATE_LP = 3/4178 MODULATION = QAM/64179 TRANSMISSION_MODE = 8K180 GUARD_INTERVAL = 1/16181 HIERARCHY = NONE182 183 [ABC TV Melbourne]184 SERVICE_ID = 561185 VIDEO_PID = 512186 AUDIO_PID = 650187 DELIVERY_SYSTEM = DVBT188 FREQUENCY = 226500000189 INVERSION = OFF190 BANDWIDTH_HZ = 7000000191 CODE_RATE_HP = 3/4192 CODE_RATE_LP = 3/4193 MODULATION = QAM/64194 TRANSMISSION_MODE = 8K195 GUARD_INTERVAL = 1/16196 HIERARCHY = NONE197 198 [ABC TV 2]199 SERVICE_ID = 562200 VIDEO_PID = 512201 AUDIO_PID = 650202 DELIVERY_SYSTEM = DVBT203 FREQUENCY = 226500000204 INVERSION = OFF205 BANDWIDTH_HZ = 7000000206 CODE_RATE_HP = 3/4207 CODE_RATE_LP = 3/4208 MODULATION = QAM/64209 TRANSMISSION_MODE = 8K210 GUARD_INTERVAL = 1/16211 HIERARCHY = NONE212 213 [ABC TV 3]214 SERVICE_ID = 563215 VIDEO_PID = 512216 AUDIO_PID = 650217 DELIVERY_SYSTEM = DVBT218 FREQUENCY = 226500000219 INVERSION = OFF220 BANDWIDTH_HZ = 7000000221 CODE_RATE_HP = 3/4222 CODE_RATE_LP = 3/4223 MODULATION = QAM/64224 TRANSMISSION_MODE = 8K225 GUARD_INTERVAL = 1/16226 HIERARCHY = NONE227 228 [ABC TV 4]229 SERVICE_ID = 564230 VIDEO_PID = 512231 AUDIO_PID = 650232 DELIVERY_SYSTEM = DVBT233 FREQUENCY = 226500000234 INVERSION = OFF235 BANDWIDTH_HZ = 7000000236 CODE_RATE_HP = 3/4237 CODE_RATE_LP = 3/4238 MODULATION = QAM/64239 TRANSMISSION_MODE = 8K240 GUARD_INTERVAL = 1/16241 HIERARCHY = NONE242 243 [ABC DiG Radio]244 SERVICE_ID = 566245 VIDEO_PID = 0246 AUDIO_PID = 2311247 DELIVERY_SYSTEM = DVBT248 FREQUENCY = 226500000249 INVERSION = OFF250 BANDWIDTH_HZ = 7000000251 CODE_RATE_HP = 3/4252 CODE_RATE_LP = 3/4253 MODULATION = QAM/64254 TRANSMISSION_MODE = 8K255 GUARD_INTERVAL = 1/16256 HIERARCHY = NONE257 258 [TEN Digital]259 SERVICE_ID = 1585260 VIDEO_PID = 512261 AUDIO_PID = 650262 DELIVERY_SYSTEM = DVBT263 FREQUENCY = 219500000264 INVERSION = OFF265 BANDWIDTH_HZ = 7000000266 CODE_RATE_HP = 3/4267 CODE_RATE_LP = 1/2268 MODULATION = QAM/64269 TRANSMISSION_MODE = 8K270 GUARD_INTERVAL = 1/16271 HIERARCHY = NONE272 273 [TEN Digital 1]274 SERVICE_ID = 1586275 VIDEO_PID = 512276 AUDIO_PID = 650277 DELIVERY_SYSTEM = DVBT278 FREQUENCY = 219500000279 INVERSION = OFF280 BANDWIDTH_HZ = 7000000281 CODE_RATE_HP = 3/4282 CODE_RATE_LP = 1/2283 MODULATION = QAM/64284 TRANSMISSION_MODE = 8K285 GUARD_INTERVAL = 1/16286 HIERARCHY = NONE287 288 [TEN Digital 2]289 SERVICE_ID = 1587290 VIDEO_PID = 512291 AUDIO_PID = 650292 DELIVERY_SYSTEM = DVBT293 FREQUENCY = 219500000294 INVERSION = OFF295 BANDWIDTH_HZ = 7000000296 CODE_RATE_HP = 3/4297 CODE_RATE_LP = 1/2298 MODULATION = QAM/64299 TRANSMISSION_MODE = 8K300 GUARD_INTERVAL = 1/16301 HIERARCHY = NONE302 303 [TEN Digital 3]304 SERVICE_ID = 1588305 VIDEO_PID = 512306 AUDIO_PID = 650307 DELIVERY_SYSTEM = DVBT308 FREQUENCY = 219500000309 INVERSION = OFF310 BANDWIDTH_HZ = 7000000311 CODE_RATE_HP = 3/4312 CODE_RATE_LP = 1/2313 MODULATION = QAM/64314 TRANSMISSION_MODE = 8K315 GUARD_INTERVAL = 1/16316 HIERARCHY = NONE317 318 [TEN Digital]319 SERVICE_ID = 1589320 VIDEO_PID = 512321 AUDIO_PID = 650322 DELIVERY_SYSTEM = DVBT323 FREQUENCY = 219500000324 INVERSION = OFF325 BANDWIDTH_HZ = 7000000326 CODE_RATE_HP = 3/4327 CODE_RATE_LP = 1/2328 MODULATION = QAM/64329 TRANSMISSION_MODE = 8K330 GUARD_INTERVAL = 1/16331 HIERARCHY = NONE332 333 [TEN Digital 4]334 SERVICE_ID = 1590335 VIDEO_PID = 512336 AUDIO_PID = 650337 DELIVERY_SYSTEM = DVBT338 FREQUENCY = 219500000339 INVERSION = OFF340 BANDWIDTH_HZ = 7000000341 CODE_RATE_HP = 3/4342 CODE_RATE_LP = 1/2343 MODULATION = QAM/64344 TRANSMISSION_MODE = 8K345 GUARD_INTERVAL = 1/16346 HIERARCHY = NONE347 348 [TEN Digital]349 SERVICE_ID = 1591350 VIDEO_PID = 512351 AUDIO_PID = 650352 DELIVERY_SYSTEM = DVBT353 FREQUENCY = 219500000354 INVERSION = OFF355 BANDWIDTH_HZ = 7000000356 CODE_RATE_HP = 3/4357 CODE_RATE_LP = 1/2358 MODULATION = QAM/64359 TRANSMISSION_MODE = 8K360 GUARD_INTERVAL = 1/16361 HIERARCHY = NONE362 363 [TEN HD]364 SERVICE_ID = 1592365 VIDEO_PID = 514366 AUDIO_PID = 0367 DELIVERY_SYSTEM = DVBT368 FREQUENCY = 219500000369 INVERSION = OFF370 BANDWIDTH_HZ = 7000000371 CODE_RATE_HP = 3/4372 CODE_RATE_LP = 1/2373 MODULATION = QAM/64374 TRANSMISSION_MODE = 8K375 GUARD_INTERVAL = 1/16376 HIERARCHY = NONE377 378 [TEN Digital]379 SERVICE_ID = 1593380 VIDEO_PID = 512381 AUDIO_PID = 650382 DELIVERY_SYSTEM = DVBT383 FREQUENCY = 219500000384 INVERSION = OFF385 BANDWIDTH_HZ = 7000000386 CODE_RATE_HP = 3/4387 CODE_RATE_LP = 1/2388 MODULATION = QAM/64389 TRANSMISSION_MODE = 8K390 GUARD_INTERVAL = 1/16391 HIERARCHY = NONE392 393 [Nine Digital]394 SERVICE_ID = 1072395 VIDEO_PID = 513396 AUDIO_PID = 660397 DELIVERY_SYSTEM = DVBT398 FREQUENCY = 191625000399 INVERSION = OFF400 BANDWIDTH_HZ = 7000000401 CODE_RATE_HP = 3/4402 CODE_RATE_LP = 1/2403 MODULATION = QAM/64404 TRANSMISSION_MODE = 8K405 GUARD_INTERVAL = 1/16406 HIERARCHY = NONE407 408 [Nine Digital HD]409 SERVICE_ID = 1073410 VIDEO_PID = 512411 AUDIO_PID = 0412 DELIVERY_SYSTEM = DVBT413 FREQUENCY = 191625000414 INVERSION = OFF415 BANDWIDTH_HZ = 7000000416 CODE_RATE_HP = 3/4417 CODE_RATE_LP = 1/2418 MODULATION = QAM/64419 TRANSMISSION_MODE = 8K420 GUARD_INTERVAL = 1/16421 HIERARCHY = NONE422 423 [Nine Guide]424 SERVICE_ID = 1074425 VIDEO_PID = 514426 AUDIO_PID = 670427 DELIVERY_SYSTEM = DVBT428 FREQUENCY = 191625000429 INVERSION = OFF430 BANDWIDTH_HZ = 7000000431 CODE_RATE_HP = 3/4432 CODE_RATE_LP = 1/2433 MODULATION = QAM/64434 TRANSMISSION_MODE = 8K435 GUARD_INTERVAL = 1/16436 HIERARCHY = NONE437 438 [7 Digital]439 SERVICE_ID = 1328440 VIDEO_PID = 769441 AUDIO_PID = 770442 DELIVERY_SYSTEM = DVBT443 FREQUENCY = 177500000444 INVERSION = OFF445 BANDWIDTH_HZ = 7000000446 CODE_RATE_HP = 2/3447 CODE_RATE_LP = 2/3448 MODULATION = QAM/64449 TRANSMISSION_MODE = 8K450 GUARD_INTERVAL = 1/8451 HIERARCHY = NONE452 453 [7 Digital 1]454 SERVICE_ID = 1329455 VIDEO_PID = 769456 AUDIO_PID = 770457 DELIVERY_SYSTEM = DVBT458 FREQUENCY = 177500000459 INVERSION = OFF460 BANDWIDTH_HZ = 7000000461 CODE_RATE_HP = 2/3462 CODE_RATE_LP = 2/3463 MODULATION = QAM/64464 TRANSMISSION_MODE = 8K465 GUARD_INTERVAL = 1/8466 HIERARCHY = NONE467 468 [7 Digital 2]469 SERVICE_ID = 1330470 VIDEO_PID = 769471 AUDIO_PID = 770472 DELIVERY_SYSTEM = DVBT473 FREQUENCY = 177500000474 INVERSION = OFF475 BANDWIDTH_HZ = 7000000476 CODE_RATE_HP = 2/3477 CODE_RATE_LP = 2/3478 MODULATION = QAM/64479 TRANSMISSION_MODE = 8K480 GUARD_INTERVAL = 1/8481 HIERARCHY = NONE482 483 [7 Digital 3]484 SERVICE_ID = 1331485 VIDEO_PID = 769486 AUDIO_PID = 770487 DELIVERY_SYSTEM = DVBT488 FREQUENCY = 177500000489 INVERSION = OFF490 BANDWIDTH_HZ = 7000000491 CODE_RATE_HP = 2/3492 CODE_RATE_LP = 2/3493 MODULATION = QAM/64494 TRANSMISSION_MODE = 8K495 GUARD_INTERVAL = 1/8496 HIERARCHY = NONE497 498 [7 HD Digital]499 SERVICE_ID = 1332500 VIDEO_PID = 833501 AUDIO_PID = 834502 DELIVERY_SYSTEM = DVBT503 FREQUENCY = 177500000504 INVERSION = OFF505 BANDWIDTH_HZ = 7000000506 CODE_RATE_HP = 2/3507 CODE_RATE_LP = 2/3508 MODULATION = QAM/64509 TRANSMISSION_MODE = 8K510 GUARD_INTERVAL = 1/8511 HIERARCHY = NONE512 513 [7 Program Guide]514 SERVICE_ID = 1334515 VIDEO_PID = 865516 AUDIO_PID = 866517 DELIVERY_SYSTEM = DVBT518 FREQUENCY = 177500000519 INVERSION = OFF520 BANDWIDTH_HZ = 7000000521 CODE_RATE_HP = 2/3522 CODE_RATE_LP = 2/3523 MODULATION = QAM/64524 TRANSMISSION_MODE = 8K525 GUARD_INTERVAL = 1/8526 HIERARCHY = NONE527 528 [SBS HD]529 SERVICE_ID = 784530 VIDEO_PID = 102531 AUDIO_PID = 103532 DELIVERY_SYSTEM = DVBT533 FREQUENCY = 536500000534 INVERSION = OFF535 BANDWIDTH_HZ = 7000000536 CODE_RATE_HP = 2/3537 CODE_RATE_LP = 2/3538 MODULATION = QAM/64539 TRANSMISSION_MODE = 8K540 GUARD_INTERVAL = 1/8541 HIERARCHY = NONE542 543 [SBS DIGITAL 1]544 SERVICE_ID = 785545 VIDEO_PID = 161546 AUDIO_PID = 81547 DELIVERY_SYSTEM = DVBT548 FREQUENCY = 536500000549 INVERSION = OFF550 BANDWIDTH_HZ = 7000000551 CODE_RATE_HP = 2/3552 CODE_RATE_LP = 2/3553 MODULATION = QAM/64554 TRANSMISSION_MODE = 8K555 GUARD_INTERVAL = 1/8556 HIERARCHY = NONE557 558 [SBS DIGITAL 2]559 SERVICE_ID = 786560 VIDEO_PID = 162561 AUDIO_PID = 83562 DELIVERY_SYSTEM = DVBT563 FREQUENCY = 536500000564 INVERSION = OFF565 BANDWIDTH_HZ = 7000000566 CODE_RATE_HP = 2/3567 CODE_RATE_LP = 2/3568 MODULATION = QAM/64569 TRANSMISSION_MODE = 8K570 GUARD_INTERVAL = 1/8571 HIERARCHY = NONE572 573 [SBS EPG]574 SERVICE_ID = 787575 VIDEO_PID = 163576 AUDIO_PID = 85577 DELIVERY_SYSTEM = DVBT578 FREQUENCY = 536500000579 INVERSION = OFF580 BANDWIDTH_HZ = 7000000581 CODE_RATE_HP = 2/3582 CODE_RATE_LP = 2/3583 MODULATION = QAM/64584 TRANSMISSION_MODE = 8K585 GUARD_INTERVAL = 1/8586 HIERARCHY = NONE587 588 [SBS RADIO 1]589 SERVICE_ID = 798590 VIDEO_PID = 0591 AUDIO_PID = 201592 DELIVERY_SYSTEM = DVBT593 FREQUENCY = 536500000594 INVERSION = OFF595 BANDWIDTH_HZ = 7000000596 CODE_RATE_HP = 2/3597 CODE_RATE_LP = 2/3598 MODULATION = QAM/64599 TRANSMISSION_MODE = 8K600 GUARD_INTERVAL = 1/8601 HIERARCHY = NONE602 603 [SBS RADIO 2]604 SERVICE_ID = 799605 VIDEO_PID = 0606 AUDIO_PID = 202607 DELIVERY_SYSTEM = DVBT608 FREQUENCY = 536500000609 INVERSION = OFF610 BANDWIDTH_HZ = 7000000611 CODE_RATE_HP = 2/3612 CODE_RATE_LP = 2/3613 MODULATION = QAM/64614 TRANSMISSION_MODE = 8K615 GUARD_INTERVAL = 1/8616 HIERARCHY = NONE617