DVB Support for the Videolan Client (VLC) on Fedora Core 5

The version of the Videolan Client (VLC) for Fedora Core 5 from freshrpms does not include DVB support.
[foo@localhost ~]$ vlc --program 4704 dvb:12207000:0:3:27500000
VLC media player 0.8.5 Janus
status change: ( new input: dvb:12207000:0:3:27500000 )
status change: ( audio volume: 256 )
status change: ( play state: 1 )
[00000295] main input error: no suitable access module for `dvb:12207000:0:3:27500000'
status change: ( stop state: 0 )
[00000285] main playlist: nothing to play

A quick search through the VLC Documentation shows it must be rebuilt with the ‘experimental’ --enable-dvb option.
I took the source RPM from Freshrpms, added the --enable-dvb option on the ./configure line and attempted to rebuild.
Assuming you have an up to date Fedora Core 5 installation, working DVB hardware with the necessary drivers. To do this you will need (at least) the following packages installed:
gnutls-devel libdvdread-devel libdvdnav-devel libebml-devel libmatroska-devel libmodplug-devel libmad-devel libid3tag-devel lame-devel faac-devel faad2-devel a52dec-devel flac-devel mpeg2dec-devel speex-devel libtheora-devel x264-devel SDL_image-devel fribidi-devel aalib-devel libcaca-devel wxGTK-devel xosd-devel lirc-devel libcdio-devel vcdimager-devel avahi-devel libopendaap-devel libmpcdec-devel libcddb-devel libdca-devel
These are available from the core & extras Fedora repositories, some are located in the ATrpms & Freshrpms repositories.
Build the new RPM with the following:
[root@localhost ~]# rpmbuild –ba /usr/src/redhat/SPECS/videolan-client.spec
To install the new RPM I had to --force –nodeps the RPM transaction:
[root@localhost ~]# rpm -U --force --nodeps videolan-client-0.8.5-1.fc5.i386.rpm videolan-client-devel-0.8.5-1.fc5.i386.rpm
This time when I retry launching VLC I got the following:
[foo@localhost ~]$ vlc --program 4704 dvb:12207000:0:3:27500000
VLC media player 0.8.5 Janus
[00000544] skins2 interface error: Cannot open display
[00000544] skins2 interface error: cannot initialize OSFactory
Remote control interface initialized. Type `help' for help.
[00000548] dvb access error: the DVB input old syntax is deprecated, use vlc -p dvb to see an explanation of the new syntax

It turns out that the VLC documentation is rather outdated. After poking around in the VLC user interface I extracted the necessary command-line arguments to make it work.
The following command line execution of VLC will tune to the frequency 12.207Ghz, vertical polarisation, symbol rate 27.5Mhz with an ‘automatic’ FEC and select program 4704 (Sky News).
[foo@localhost ~]$ vlc --program=4704 dvb:// :dvb-adapter=0 :dvb-frequency=12207000 :dvb-srate=27500000 :dvb-caching=300 :dvb-inversion=2 :dvb-probe :dvb-voltage=13 :no-dvb-high-voltage :dvb-tone=-1 :dvb-fec=9 :dvb-code-rate-hp=9
And this variation will stream it over UDP to localhost port 1234.
[foo@localhost ~]$ vlc --program=4704 dvb:// :dvb-adapter=0 :dvb-frequency=12207000 :dvb-srate=27500000 :dvb-caching=300 :dvb-inversion=2 :dvb-probe :dvb-voltage=13 :no-dvb-high-voltage :dvb-tone=-1 :dvb-fec=9 :dvb-code-rate-hp=9 :sout=\#duplicate\{dst=std\{access=udp,mux=ts,dst=\}\}
And without further a do, the pre-built RPMS and modified source RPM I created.
Binary RPM:
Source RPM:
Lastly, you can select multiple programs from the same transponder and stream them to separate destination addresses, see the example in Chapter 9 of the VLC documentation.
Feedback & Questions welcomed!


Leave a Reply

Your email address will not be published. Required fields are marked *