DVB Support for VLC on Fedora Core 5
The version of the Videolan Client (VLC) for Fedora Core 5 from freshrpms does not include DVB support.
The Problem
[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
The Solution
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.
Prerequisites
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.
Building the RPM
Build the new RPM with the following:
[root@localhost ~]# rpmbuild –ba /usr/src/redhat/SPECS/videolan-client.spec
Installation
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
Updated Syntax Discovery
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.
Usage Examples
Basic DVB Playback
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
UDP Streaming
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=127.0.0.1:1234\}\}
Downloads
And without further ado, the pre-built RPMS and modified source RPM I created.
Binary RPM
- videolan-client-0.8.5-1.fc5.i386.rpm
- videolan-client-devel-0.8.5-1.fc5.i386.rpm
- videolan-client-debuginfo-0.8.5-1.fc5.i386.rpm
Source RPM
Advanced Usage
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!
Related Posts
Supermicro AOC-SASLP-MV8: DRIVER_TIMEOUT
Troubleshooting DRIVER_TIMEOUT errors with Supermicro AOC-SASLP-MV8 storage controller on modern Linux kernels and finding alternatives
Hauppauge WinTV-NOVA-HD-S2 Working on Fedora Rawhide
Complete guide to getting Hauppauge WinTV-NOVA-HD-S2 DVB-S2 card working on Fedora Rawhide with kernel patching and firmware extraction
Update: TI 7×21 FlashMedia/SD Host Controller (104C:8033 & 104C:8034)
Bit of an update, my previous post is now getting a significant amount of traffic; in fact it’s my hottest post yet!