VDR streamdev on 64bit Fedora Core 4 howto

Preface

This simple howto is described a process installation and configuration VDR pluging streamdev under 64bit Fedora Core 4. This plugin allows to stream digital video over LAN and watch it on another PC or STB.

Preparation

VDR was installed from RPMs (thanks to Livna). Unfortunatelly, there is no RPM for streamdev. So, we have to build it from the sources. First of all we should download VDR source according to installed VDR version from the cadsoft FTP server and uncompress it into /usr/src. Then we have to checkout the latest version of streamdev:

CVS -d:pserver:anoncvs@vdr-developer.org:/var/cvsroot login
CVS -d:pserver:anoncvs@vdr-developer.org:/var/cvsroot co streamdev

Copy streamdev sources to the – put streamdev into /usr/src/vdr/PLUGINS/src. Note, the plugin directory name shouldn’t cintain anything except letters!

Installation

Go to /usr/src/vdr and run
make plugins
If you will see an error message like that:

make[1]: Entering directory `/usr/src/vdr-1.3.37/PLUGINS/src/streamdev'
g++ -W -Woverloaded-virtual -fPIC -g -O2 -shared streamdev-client.o client/socket.o client/device.o client/setup.o client/remote.o client/assembler.o client/filter.o common.o i18n.o tools/source.o tools/select.o tools/socket.o tools/tools.o libdvbmpeg/libdvbmpegtools.a -o libvdr-streamdev-client.so
/usr/bin/ld: streamdev-client.o: relocation R_X86_64_32S against `vtable for cPluginStreamdevClient' can not be used when making a shared object; recompile with -fPIC
streamdev-client.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libvdr-streamdev-client.so] Error 1
make[1]: Leaving directory `/usr/src/vdr-1.3.37/PLUGINS/src/streamdev'
make: *** [plugins] Error 2

you have to add new compiler options to the streamdev Makefile:
CXXFLAGS ?= -W -Woverloaded-virtual -fPIC -g
Don’t forget to run make plugins-clean before make plugins!
If plugin is compiled successful we can find its binary files: libvdr-streamdev-server.so and libvdr-streamdev-client.so in the directory /usr/src/vdr/PLUGINS/lib. Copy them into /usr/lib64/vdr.

Configuration

In the VDR config file (/etc/sysconfig/vdr) we should add streamdev in the variable VDR_PLUGIN_ORDER:

VDR_PLUGIN_ORDER="
tvonscreen
osdteletext
DVD
externalplayer
mplayer
MP3
muggle
subtitles
dxr3
burn
streamdev
"

Also we need to copy streamdev config file streamdevhosts.conf.example to the /etc/vdr/streamdevhosts.conf and specify there range of IP addresses to allow connect to the VDR stream server:

127.0.0.1 # always accept localhost
192.168.100.0/24 # any host on the local net
204.152.189.113 # a specific host
0.0.0.0/0 # any host on any net (USE THIS WITH CARE!)

Restart VDR. If everything was done correctly you should see inside message about loading streamdev plugin in the /var/log/messages.

Using

To watch stream you can use mplayer or VLC (Sascha Volkenandt told that he resolved a problem with sound in case of using VLC):

mplayer http://vdr-host_or-IP:3000/PES/channel-number

One thought on “VDR streamdev on 64bit Fedora Core 4 howto”

Leave a Reply

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