Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[linux-dvb] Re: How to watch DVB-t TV (or 'am I wasting my time?')

Hay Matthew,

It is possible.  I have done it.  Ever heard the expression, "standing
on the shoulders of giants."  Here is a how-to I wrote after everybody
else had done all the work getting it going.


Here are the steps I took to get the Hauppauge Nova-T working on RedHat
7.2  This is all everybody else's hard work, I'm just getting it down
before I forget. 

My system is a stock RedHat 7.2 system.  A custom install, including the
kernel source, development utilities etc.   I downloaded all the RedHat
errata updates including the latest kernel and kernel source RPMs from and applied them with rpm -Fvh *.rpm.  I am a gnome user, so I then downloaded and ran the Ximian Desktop installer from  Finally I run Redcarpet, which comes as part of Ximian Desktop periodical to make sure all my packages keep up to date. 

This assumes you are logged in as a user who has write access to
/usr/local/src and has /usr/local/bin in their path.

1)  Prepare the Kernel Source 

RedHat puts the Kernel source in /usr/src/Linux-2.4 and puts a .config
appropriate to your system in that directory.  Just to get everything in
order - 

cd /usr/src 
ln -s linux-2.4 linux 
cd linux 
make dep && make && make modules 

( No make install, trying to stay in line with distribution ) 

2) Download the DVB cvs 

I'm going to use /usr/local/src to collect together the various parts I
need. Download the DVB cvs from 

cd /usr/local/src 
cvs -d login 
Just press enter at the password prompt 
cvs -d co DVB 

This creates a DVB directory in /usr/local/src 

3)Compile and install the DVB driver as per the docs 

cd DVB/driver 
make install 
PATH=$PATH:/usr/sbin:/sbin (if you have not already got it)
su -c "make insmod"

No errors, all cool. 

Quick check of lsmod 

Module                  Size  Used by 
dvb                   229424   0 (unused) 
dvb_frontend            3392   0 [dvb] 
dvb_demux              14000   1 [dvb] 
saa7146_v4l            15104   0 (unused) 
saa7146_core           14096   0 [dvb saa7146_v4l] 
tuner                   4544   1 
stv0299                 3104   0 (unused) 
tda8083                 2048   0 (unused) 
SP8870                  2784   0 (unused) 
L64781                  3840   1 
VES1820                 3664   0 (unused) 
VES1893                 3808   0 (unused) 
dmxdev                  7840   1 [dvb] 
dvb_filter              7648   0 [dvb] 
videodev                5312   1 [dvb] 
i2c-core               13440   0 [dvb saa7146_core tuner stv0299 tda8083
L64781 VES1820 VES1893] 
dvb_net                 3200   0 [dvb] 
dvbdev                  1888   1 [dvb] 

And /var/log/messages 

Jan 17 09:11:45 lian kernel: i2c-core.o: i2c core module 
Jan 17 09:11:45 lian kernel: Linux video capture interface: v1.00 
Jan 17 09:11:45 lian kernel: i2c-core.o: driver VES1893 DVB demodulator 
Jan 17 09:11:45 lian kernel: i2c-core.o: driver VES1820 DVB demodulator 
Jan 17 09:11:45 lian kernel: i2c-core.o: driver L64781 DVB demodulator 
Jan 17 09:11:45 lian kernel: init_SP8870: 
Jan 17 09:11:45 lian kernel: i2c-core.o: driver SP8870 DVB demodulator 
Jan 17 09:11:45 lian kernel: i2c-core.o: driver tda8083 DVB demodulator 
Jan 17 09:11:45 lian kernel: i2c-core.o: driver stv0299 DVB demodulator 
Jan 17 09:11:45 lian kernel: i2c-core.o: driver i2c TV tuner driver 
Jan 17 09:11:45 lian kernel: saa7146_core.o: saa7146(1): bus:0, rev:1, 
Jan 17 09:11:45 lian kernel: i2c-core.o: client [L64781] registered to 
adapter [saa7146(1)](pos. 0). 
Jan 17 09:11:45 lian kernel: L64781: attaching L64781 at 0xaa 
Jan 17 09:11:45 lian kernel: SP8870: no SP8870 found ... 
Jan 17 09:11:46 lian kernel: tuner: chip found @ 0x61 
Jan 17 09:11:46 lian kernel: i2c-core.o: client [i2c tv tuner chip] 
registered to adapter [saa7146(1)](pos. 1). 
Jan 17 09:11:46 lian kernel: i2c-core.o: adapter saa7146(1) registered 
as adapter 0. 
Jan 17 09:11:46 lian kernel: dvb: 1 dvb(s) found! 

cd /usr/local/src/DVB/libdvb 
su -c "make install"


4) Download and install DVBtune from 

First install libxml v2

cd /usr/local/src
rpm ivh libxml2-2.4.13-1.i386.rpm libxml2-devel-2.4.13-1.i386.rpm

tar xvfz dvbtune-0.1.tar.gz
cd dvbtune-0.1

you need to change the first line of the make file to include your new
xml libraries 

INCS=-I ../DVB/ost/include -I /usr/include/libxml2

su -c "cp dvbtune xml2vdr /usr/local/bin; chmod 755
/usr/local/bin/dvbtune /usr/local/bin/xml2vdr"

5) Time to try tuning 

First use the XML feature of dvbtune to check out your aerial.

cd  /usr/local/src/dvbtune-0.1/scripts
edit to add your frequencies, if you don't use the Crystal
Palace transmitter.  You will probably need to change CARD=1 to CARD=0
if you just have one card.

mkdir ~/.tzap
./ > channels.xml; xml2vdr channels.xml >

I have not made tzap work, but this seems as good a place to store this
file as any.  If all has gone well you should have a file 

more ~/.tzap/channels.conf 
BBC ONE eng(TV):505833:V:0:27500:600:601:603:0:4164
BBC ONE gae(TV):505833:V:0:27500:600:602:603:0:4164
BBC TWO eng(TV):505833:V:0:27500:610:611:613:0:4228
BBC TWO gae(TV):505833:V:0:27500:610:612:613:0:4228
BBC CHOICE eng(TV):505833:V:0:27500:620:621:623:0:4351
BBC CHOICE gae(TV):505833:V:0:27500:620:622:623:0:4351
BBC NEWS 24 eng(TV):505833:V:0:27500:640:641:643:0:4415
BBC PARLMNT eng(RADIO):505833:V:0:27500:0:660:0:0:4543
BBC Knowledge eng(TV):505833:V:0:27500:630:631:633:0:4607
BBC Knowledge gae(TV):505833:V:0:27500:630:632:633:0:4607
ITV 1 eng(TV):481833:V:0:27500:512:650:1025:0:8261
ITV 1 gae(TV):481833:V:0:27500:512:660:1025:0:8261
ITV 2 eng(TV):481833:V:0:27500:2818:2819:2820:0:8325
ITV 2 gae(TV):481833:V:0:27500:2818:2821:2820:0:8325
FilmFour eng(TV):481833:V:0:27500:2822:2823:2824:0:8448
FilmFour gae(TV):481833:V:0:27500:2822:2825:2824:0:8448
Channel 4 eng(TV):481833:V:0:27500:2827:2828:2829:0:8384
Channel 4 gae(TV):481833:V:0:27500:2827:2830:2829:0:8384
E4 eng(TV):481833:V:0:27500:2831:2832:2834:1:8640
E4 gae(TV):481833:V:0:27500:2831:2833:2834:1:8640
ITV Sport eng(TV):481833:V:0:27500:2863:2864:2866:0:8581
ITV Sport gae(TV):481833:V:0:27500:2863:2865:2866:0:8581
E4 eng(TV):481833:V:0:27500:2831:2832:2834:1:8640
E4 gae(TV):481833:V:0:27500:2831:2833:2834:1:8640
Channel 5 eng(TV):561833:V:0:27500:6017:6018:6022:0:12866
Channel 5 gae(TV):561833:V:0:27500:6017:6019:6022:0:12866
Shop! eng(TV):561833:V:0:27500:6049:6050:0:0:13120
ITVSelect Info eng(TV):561833:V:0:27500:6065:6066:0:0:13186
ITV Select 1 eng(TV):561833:V:0:27500:6081:6082:6086:0:13250
ITV Select 1 gae(TV):561833:V:0:27500:6081:6083:6086:0:13250
ITV Select 3 eng(TV):561833:V:0:27500:6113:6114:6118:1:13378
ITV Select 3 gae(TV):561833:V:0:27500:6113:6115:6118:1:13378
ITV Select 4 eng(TV):561833:V:0:27500:6129:6130:6134:1:13442
ITV Select 4 gae(TV):561833:V:0:27500:6129:6131:6134:1:13442
TV Travel Shop eng(TV):561833:V:0:27500:6161:6162:0:0:13632
Carlton Cinema eng(TV):529833:V:0:27500:288:289:291:1:16448
Carlton Cinema gae(TV):529833:V:0:27500:288:290:291:1:16448
Sky One eng(TV):529833:V:0:27500:544:545:1074:1:16512
Sky One gae(TV):529833:V:0:27500:544:546:1074:1:16512
Sky Sports 1 eng(TV):529833:V:0:27500:800:801:1075:1:16576
Sky Sports 1 gae(TV):529833:V:0:27500:800:802:1075:1:16576
Sky Premier eng(TV):529833:V:0:27500:1056:1057:1076:1:16640
Sky Premier gae(TV):529833:V:0:27500:1056:1058:1076:1:16640
CartoonNetwork eng(TV):529833:V:0:27500:1312:1313:1077:1:16704
CartoonNetwork gae(TV):529833:V:0:27500:1312:1314:1077:1:16704
UK Horizons eng(TV):529833:V:0:27500:2336:2337:1081:1:16960
UK Horizons eng(TV):529833:V:0:27500:2336:2338:1081:1:16960
ITV Sport Plus eng(TV):529833:V:0:27500:2592:2593:0:0:17024
ITVSportSelect urd(RADIO):529833:V:0:27500:0:2596:0:0:17088
UK Gold eng(TV):578166:V:0:27500:288:289:1073:1:20544
UK Gold gae(TV):578166:V:0:27500:288:290:1073:1:20544
Granada Plus eng(TV):578166:V:0:27500:544:545:1074:1:20608
Granada Plus gae(TV):578166:V:0:27500:544:546:1074:1:20608
BreezeMen&Mtrs eng(TV):578166:V:0:27500:800:801:1075:1:20672
BreezeMen&Mtrs gae(TV):578166:V:0:27500:800:802:1075:1:20672
Sky Movie Max eng(TV):578166:V:0:27500:1312:1313:1077:1:20800
Sky Movie Max gae(TV):578166:V:0:27500:1312:1314:1077:1:20800
MTV eng(TV):578166:V:0:27500:1568:1569:1078:1:20864
MTV gae(TV):578166:V:0:27500:1568:1570:1078:1:20864
Sky Sports 2 eng(TV):578166:V:0:27500:2080:2081:1080:1:21056
Sky Sports 2 gae(TV):578166:V:0:27500:2080:2082:1080:1:21056
no name eng(TV):578166:V:0:27500:1824:1825:0:1:21120
Adult Channel urd(RADIO):578166:V:0:27500:0:2340:0:0:21504
PLAY uk eng(TV):537833:V:0:27500:288:289:1073:1:24640
PLAY uk gae(TV):537833:V:0:27500:288:290:1073:1:24640
UK Style eng(TV):537833:V:0:27500:544:545:1074:1:24704
UK Style gae(TV):537833:V:0:27500:544:546:1074:1:24704
no name eng(TV):537833:V:0:27500:800:801:1075:1:24768
no name gae(TV):537833:V:0:27500:800:802:1075:1:24768
Discovery eng(TV):537833:V:0:27500:1312:1313:1077:1:24896
Discovery gae(TV):537833:V:0:27500:1312:1314:1077:1:24896
Nick/Paramount eng(TV):537833:V:0:27500:2080:2081:1080:1:25152
Nick/Paramount gae(TV):537833:V:0:27500:2080:2082:1080:1:25152
Sky Sports 3 eng(TV):537833:V:0:27500:2336:2337:1081:1:25216
Sky Sports 3 gae(TV):537833:V:0:27500:2336:2338:1081:1:25216
Brit Eurosport eng(TV):537833:V:0:27500:2592:2593:1082:1:25280
Brit Eurosport gae(TV):537833:V:0:27500:2592:2594:1082:1:25280

Pick one of your channels and tune in.  Lets go for Channel 4

Channel 4 eng(TV):481833:V:0:27500:2827:2828:2829:0:8384

from this line, the frequency is 481833 the vpid is 2827 and the apid is
2828.  So the command would be 

dvbtune -f 481833

6) Download and install DVB stream from

cd /usr/local/src
cd dvbstream-0.3
su -c "cp dumprtp dvbstream rtpfeed ts_filter /usr/local/bin; chmod 755
/usr/local/bin/dumprtp /usr/local/bin/dvbstream /usr/local/bin/rtpfeed

If you want to watch on a different machine than the one streaming, you
need these binaries on both.  You will also need ts2pes from the DVB cvs

7) Install mplayer

First, if they are not present, you will need to add the gcc3-3.0.1-3
RPMs from your RedHat CD or local mirror, as the default gcc from Redhat
is not supported by the mplayer people.  You may need other packages to
satisfy the dependencies.  For me the following did the trick

rpm -ivh gcc3*.rpm libgcc-3.0.1-3.i386.rpm
libstdc++3-devel-3.0.1-3.i386.rpm libstdc++3-3.0.1-3.i386.rpm
libgcj3-3.0.1-3.i386.rpm  libgcj3-devel-3.0.1-3.i386.rpm

Download the latest mplayer and compile

cd /usr/local/src
bzcat MPlayer-0.60.tar.bz2 | tar xvf -
cd MPlayer-0.60
./configure --cc=gcc3 --enable-gui
ln -s ../DVB/ost/include/ost ost  (the build process does not find these
correctly otherwise)
su -c "make install"

8) Start broadcasting some channels across MBone.

We are using Channel 4 for this example vpid of 2827 and a apid of 2828

Add a route to the multicast network then start dvbstream

su -c "/sbin/route add -net netmask dev eth0"
dvbstream 2827 2828 &

should result in 

dvbstream v0.3 - (C) Dave Chapman 2001
Released under the GPL.
Latest version available from
Streaming 2 streams

You can actually stream as many pids as you like from the same
Multicast, as long as you have the bandwidth.  So you could go for 

dvbstream 2827 2828 512 650 2818 2819 &

which would also stream ITV1 and ITV2 at the same time

9) Start watching.

dumprtp | ts2pes 2827 2828 | Mplayer -cache 2000 -

Make sure you are not running RealPlayer at the same time, it seems to
grab a lock on something stopping Mplayer from working.  I find my audio
is out of sync a little, I am still working on it.

I hope this is of some help.


On Tue, 2002-01-29 at 15:13, Matthew Walton wrote:
> (warning - stupid questions contained in this e-mail as I can't work
> this stuff out for myself, having never played with TV stuff in Linux

To unsubscribe send a mail to with "unsubscribe linux-dvb" as subject.

Home | Main Index | Thread Index