brintos

brintos / linux-shallow public Read only

0
0
Text · 15.7 KiB · 44eac9b Raw
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