[vlc] Re: DVB-T in Cologne/Germany

Guido Flohr guido at imperia.net
Thu Jun 17 13:11:15 CEST 2004


Hi,

Jan Ekholm wrote:
> On Mon, 14 Jun 2004, Guido Flohr wrote:
>>Guido Flohr wrote:
>>
>>>vlc -vvv dvb-t:adapter=0:frequency=650000000:inversion=0:bandwidth=8:\
>>>code-rate-hp=2:code-rate-lp=0:modulation=16:transmission=8:guard=4:\
>>>hierarchy=-1
>>
>>vlc -vvv dvb-t:adapter=0:frequency=650000000:inversion=0:bandwidth=8:\
>>code-rate-hp=2:code-rate-lp=0:modulation=16:transmission=8:guard=4:\
>>hierarchy=-1:program=305 --dvb-budget-mode=1
> 
> Now that is one ugly commandline... :) Did your tuning fixes btw end up in
> the official SVN/CVS repository?

The fixes are in SVN, yes.

The ugly command line is a good starting point for experiments in other 
regions with DVB-T because it shows every parameter that is necessary to 
tune the DVB-T card under Linux. Because the documentation on the whole 
thing is still very scarce, a little summary of what I have learned 
lately from the vlc and the Linux kernel sources:

The "dvb-t" input module takes these parameters in vlc 0.7.3, other 
parameters are _not_ relevant for tuning the card:

adapter
-------
Usually 0 unless you have several cards.

frequency
---------
Must be specified in Hz (for DVB-T and DVB-C).  For DVB-S it is kHz, 
_not_ for terrestrial and cable!

inversion (default: 2 == auto)
------------------------------
0 for off, 1 for on, and 2 for auto, no idea what this is.

bandwidth (default: 0 == auto)
------------------------------
0 for automatic, 6 for 6MHz, 7 for 7MHz, 8 for 8MHz.

code-rate-hp (default: 0 == none)
---------------------------------
0 for none, 1 for 1/2, 2 for 2/3, 4 for 4/5, ... 8 for 8/9 or 9 for 
auto.  In my region (Cologne/Germany), the technical specs for this 
parameter did not talk about _h_igh _p_riority code rate, but about 
Forward Error Correction (FEC).

9 (auto) might be a better default value here than 0 (none).

code-rate-lp (default: 0 == none)
---------------------------------

See above for "code-rate-hp".  The "lp" stands for low priority.

modulation (default: 0 == QAM_AUTO)
-----------------------------------

Ask your local TV dealer ... The possible values are -1 for QPSK, 0 for 
QAM_AUTO, 16 for QAM-16, 32 for QAM-32, 64 for QAM-64, 128 for QAM-128, 
and 256 for QAM-256. By the way, QAM stands for Quadrature Amplitude 
Modulation, and QPSK for Quadrature Phase Shift Keying, nothing that a 
sane human being wants to know about.

transmission (default: 0 == auto)
---------------------------------

0 for automatic, 2 for 2k, 8 for 8k.  Your TV dealer will know that.

guard (default: 0 == auto)
--------------------------

The so-called "guard-interval": 0 for automatic, 4 for 1/4, 8 for 1/8, 
16 for 1/16, and 32 for 1/32.

hierarchy (default: 0 == auto)
------------------------------

Possible values are -1 for none, 0 for auto, and 1, 2, and 4.  No idea 
what this is good for.

program
-------

In the above command line is wrong, simply omit it for now.

Okay, that are all parameters relevant for DVB-T.  You may see others 
like "fec", "srate", or the like; forget them, they are not relevant for 
  terrestrial DVB.

budget-mode
-----------

This was needed for my VisionPlus card from TwinHan.  Without it, the 
last few lines of debugging output looked like this:

[00000224] ts demuxer debug: new PAT ts_id=0x2201 version=27 current_next=1
[00000224] ts demuxer debug:   * number=0 pid=0x10
[00000224] ts demuxer debug:   * number=16403 pid=0x130
[00000224] ts demuxer debug:   * number=16408 pid=0x180
[00000224] ts demuxer debug:   * number=16405 pid=0x150
[00000224] ts demuxer debug:   * number=16418 pid=0x220

and then vlc stopped.  Instead of the ":budget-mode=1:" you can also 
give a separate command line parameter "dvb-budget-mode" without an 
argument.

If you cannot find some of the information above, try it with the 
defaults.  You may also find it on the web site of the DVB-T service 
providers.  Peeking at the parameters of a working DVB-T settop box may 
also dig up some information.  As a last resort you can try to run the 
original software that came with your card, but this will usually 
require installing Microsoft Windows or MacOS.

The command line so far is:

vlc -vvv dvb-t:adapter=0:frequency=650000000:inversion=0:\
bandwidth=8:code-rate-hp=2:code-rate-lp=0:modulation=16:\
transmission=8:guard=4:hierarchy=-1:budget-mode=1

This should actually play something already, but maybe not the channel 
you want.  Usually, multiple TV channels share one single frequency 
(650000000 Hz in our example).  In order to select them, you have to 
pass another parameter "--program=NUMBER".  To find out which are 
available, look again at the ts demuxer debug output above. All non-zero 
numbers are valid, here: 16403, 16408, 16405, and 16418.  So the 
complete command line would be for instance:

vlc -vvv dvb-t:adapter=0:frequency=650000000:inversion=0:\
bandwidth=8:code-rate-hp=2:code-rate-lp=0:modulation=16:\
transmission=8:guard=4:hierarchy=-1:budget-mode=1 \
--program=16403 --sout=udp://239.255.12.42 --ttl=12

This will multicast-stream the channel into the subnet, and clients can 
join it with

   vlc 'udp://@239.255.12.42'

Hope this helps, thanks for your help here, and ciao!

Guido
-- 
Imperia AG, Development
Leyboldstr. 10 - D-50354 Hürth - http://www.imperia.net/

-- 
This is the vlc mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://www.videolan.org/support/lists.html
If you are in trouble, please contact <postmaster at videolan.org>



More information about the vlc mailing list