UBUNTU/Installation: Difference between revisions

From VDR Wiki
Jump to navigation Jump to search
m (link to DEBIAN_Compiling_VDR_Source_Packages)
No edit summary
 
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= Install and Configure VDR on Ubuntu =
= Install and Configure VDR on Ubuntu (outdated!) =
This article contains tips and advice for setting up VDR and plugins on Ubuntu. Ubuntu releases are based on snapshots of Debian Unstable; therefore the following may be of use to Debian users too. Indeed, later in this article we show how to compile bleading edge versions of the VDR packages from the [http://pkg-vdr-dvb.alioth.debian.org/ Debian VDR and DVB Packaging Project].
This article contains tips and advice for setting up VDR and plugins on Ubuntu.
{{Box Info |
Ubuntu releases are based on snapshots of Debian Unstable so you can mostly refer to the [[:Category:Debian|Debian documentation]].
}}
== Installing from Binary Packages ==
== Installing from Binary Packages ==
VDR has been available in the Ubuntu Universe repository since Warty.
VDR has been available in the Ubuntu Universe repository since Warty.
Line 10: Line 13:


== Installing from Debian Package Sources ==
== Installing from Debian Package Sources ==
* You will need to install '''svn-buildpackage''', which lives in the Ubuntu Universe repository, so if you haven't already done so, add Universe to your sources.lst
* You will need to install '''svn-buildpackage''', which lives in the Ubuntu Universe repository, so if you haven't already done so, add Universe to your sources.list
* Continue to [[DEBIAN_Compiling_VDR_Source_Packages]]
* Continue to [[DEBIAN_Compiling_VDR_Source_Packages]]


== Configuring VDR ==
== Configuring VDR and plugins ==
* See [[DEBIAN_Configuring_VDR]]
Before continuing, please read the following documents carefully:
<pre>
richard@vito:~$ less /usr/share/doc/vdr/README
richard@vito:~$ less /usr/share/doc/vdr/README.Debian.gz
richard@vito:~$ less /usr/share/doc/vdr/INSTALL.gz
</pre>
Also read, and have open the two VDR man pages:
<pre>
richard@vito:~$ man vdr
richard@vito:~$ man 5 vdr
</pre>
Having read '''all''' that, you are now ready to continue:
* Try running vdr. The default Video directory is not writable by my user so while we are testing vdr we ask it to use /tmp for video files. You may see a message "please turn off UTF-8 before starting VDR". If so try defining the LANG environment variable:
<pre>
richard@vito:~$ LANG=c vdr -v /tmp
vdr: error while reading '/var/lib/vdr/channels.conf'
</pre>
You may see this error (at least I did) and it means that the channels.conf file is somehow corrupt. You need to update the channels.conf anyway; it must be tailored to your DVB type (ie DVB-C, DVB-S, DVB-T) and if you are using DVB-T the frequencies depend on your local transmitter.
To make a channels.conf use the 'scan' commandline tool, which is part of the dvb-utils package. In my case (DVB-T in the Midlands, UK) I use:
<pre>
richard@vito:~$ scan -o vdr /usr/share/doc/dvb-utils/examples/scan/dvb-t/uk-SuttonColdfield > /tmp/channels.conf
richard@vito:~$ sudo mv /tmp/channels.conf ./
</pre>
...replace dvb-t/uk-SuttonColdfield with whatever is appropriate for your area.


== Installing VDR from e-tobi.net source packages ==
Having done that, you should be able to run vdr from the command line.
* updated 5/2007 (VA, Finland)
<pre>
* Jul 29. 2007 - updated the deb-src line (NM, Finland)
richard@vito:~$ LANG="c" vdr -v /tmp
vdr: no primary device found - using first device!
</pre>
...well it runs, but if you're using a budget card, it has no way of displaying the picture.

Before moving on, and now that we know that vdr is able to run, lets set it up to run as a daemon at startup. Open /etc/default/vdr in you editor of choice and add 'export LANG="c"' at the top and set ENABLED=1. Mine looks like this:
<pre>
richard@vito:~$ sudo nano -w /etc/default/vdr
</pre>
<pre>
# /etc/default/vdr
#
# See also /usr/share/doc/README.Debian
#

export LANG="c"

# Change to 1 to enable vdr's init-script
ENABLED=1

# Change this to 1 if you want vdr to be able to shutdown the
# computer
ENABLE_SHUTDOWN=0

# Options that will be passed to vdr's commandline
# for example: OPTIONS="-w 15"
OPTIONS="-w 60"

VIDEO_DIR="/srv/vdr"
</pre>
If you choose to use a different video directory than the one recommended at installation, you'll have to create it and change its owner to vdr:vdr.
<pre>
richard@vito:~/src/debian-vdr/build-area$ sudo mkdir -p /srv/vdr
richard@vito:~/src/debian-vdr/build-area$ sudo chown -R vdr:vdr /srv/vdr
</pre>
Now try starting the service
<pre>
richard@vito:~$ sudo invoke-rc.d vdr start Starting Linux Video Disk Recorder: vdr
Searching for plugins (VDR 1.4.1/1.4.1):.
</pre>
Use the 'ps' command to check its running and look at the syslog to see if there were any errors
<pre>
richard@vito:~$ ps fax | tail | less -S
8563 ? Ss 0:00 /bin/bash /usr/sbin/runvdr -v /srv/vdr -c /var/lib/vd
8574 ? S 0:00 \_ /usr/bin/vdr-kbd -v /srv/vdr -c /var/lib/vdr -L /
8575 ? S 0:00 \_ /usr/bin/vdr-kbd -v /srv/vdr -c /var/lib/vdr
8578 ? S 0:02 \_ /usr/bin/vdr-kbd -v /srv/vdr -c /var/lib/
8579 ? RN 0:02 \_ /usr/bin/vdr-kbd -v /srv/vdr -c /var/lib/
</pre>
<pre>
richard@vito:~$ tail /var/log/syslog | less -S
Jul 19 16:10:34 vito vdr: [8739] found 1 video device
Jul 19 16:10:34 vito vdr: [8739] ERROR: invalid primary device number: 2
Jul 19 16:10:34 vito vdr: [8739] ERROR: no primary device found - using first de
Jul 19 16:10:34 vito vdr: [8739] setting primary device to 1
Jul 19 16:10:34 vito vdr: [8739] SVDRP listening on port 2001
Jul 19 16:10:34 vito vdr: [8739] setting current skin to "classic"
Jul 19 16:10:34 vito vdr: [8739] loading /var/lib/vdr/themes/classic-default.the
Jul 19 16:10:34 vito vdr: [8739] switching to channel 19
Jul 19 16:10:34 vito vdr: [8739] setting watchdog timer to 60 seconds
Jul 19 16:10:34 vito vdr: [8739] ERROR: no OSD provider available - using dummy
(END)
</pre>
There are some errors reported but nothing fatal. From the 'ps' output you can see that the vdr daemon is being launched from another script called 'runvdr'. Amongst other things, this script searches for configuration data from /etc/default/vdr, searches for VDR plugins and related config data from /etc/vdr/plugins. In common with the original runvdr, it periodically checks that the vdr daemon is still running and tries to restart it if it has crashed.

If there is a problem with VDR running as a service, you will notice repeated entries in the syslog that say "restarting VDR". In this case double check that vdr will run directly from the command line and check that it will run as the "vdr" user by passing the -u vdr commandline option.
<pre>
richard@vito:~$ sudo su
root@vito:/home/richard# LANG="c" vdr -v /srv/vdr -u vdr
</pre>
TODO: More debugging tips.

= Install and Configure VDR Plugins on Ubuntu =
If you have chosen to compile packages from source (as described above) you may now want to compile some of the plugin packages in the same way. You will already have checked out all the original tarballs, so all that remains is to checkout the debian build scripts for each plugin that you are interested, compile with svn-buildpackage and install with dpkg.

You can see which plugins are available for compiling by listing the tarball folder or by [http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/?rev=0&sc=0 browsing the websvn interface].
IMPORTANT INFO BEFORE INSTALLATION!!
Having installed the plugin package you can configure it according to the generic information available in the README files in /usr/share/doc/vdr-plugin-* or [[Plugins|elsewhere on this wiki]].
* this is only recommended if Ubuntu supplied packages are not enough, for example you need extra plugins

* make sure your DVB card works before doing this (I used kaffeine player for testing)
I will give details of compiling the Xineliboutput plugin because it is one that I have some experience with and one that anyone using a budget DVB card should try. Other options for budget card users are:
* tested on Ubuntu Edgy/Feisty, recommended only for advanced users!!
* '''vdr-plugin-dxr3''': See [[Dxr3-plugin]] (If you have a DXR3 hardware MPEG decoder card)
* this example includes subtitles patch (needed for DVB subtitles at least in some European countries)
* '''vdr-plugin-softdevice''': See [[Softdevice-plugin]]
* this process must be done again after dist-upgrades
* '''vdr-plugin-streamdev''': See [[Streamdev-plugin]]
* '''vdr-plugin-xine''': See [[Xine-plugin]] (note this different to the xineliboutput plugin below, although similar idea)
VDR
1. Remove all installed Ubuntu VDR packages.
$ sudo apt-get remove vdr vdr-dev
* NOTE this does not remove configuration files, consider using Synaptic complete removal
2. Add the following to /etc/apt/sources.list.
deb-src http://e-tobi.net/vdr-experimental lenny base addons vdr-multipatch
3. Update packagelist and install compile tools.
$ sudo apt-get update
$ sudo apt-get install dpkg-dev build-essential fakeroot
3. Make a directory for source code files.
$ cd ~
$ mkdir vdr-src
$ cd vdr-src
4. Install VDR sourcecode.
$ apt-get source vdr
5. Try to get depencies automatically.
$ sudo apt-get build-dep vdr
6. Make sure you have some needed packages.
$ sudo apt-get install debhelper linux-headers-generic libjpeg62-dev dpatch libcap-dev libncurses5-dev
7. Activate subtitles patch by editing file vdr-1.4.*/debian/patches/00list.
Do this only if you need DVB subtitles. Remove comments from the following lines.
opt-27_subtitles-ttxtsubs
opt-27-x_subtitles-ttxtsubs-volumebar-fix
You can also activate other patches, but be careful as they might conflict each other.
8. Compile VDR and create deb packages.
$ cd ~/vdr-src/vdr-1.4.*<br>
$ fakeroot debian/rules binary
After this there should be vdr_1.4.*.deb and vdr-dev_1.4.*.deb packages in ~/vdr-src.
9. Install deb packages.
$ cd ~/vdr-src<br>
$ sudo dpkg -i vdr_1.4*.deb vdr-dev_1.4*.deb
$ sudo /etc/init.d/vdr stop
(stop vdr, plugins need to be activated)
DONE! Continue to install plugins below.
PLUGINS
Browse e-tobi.net selection at http://www.e-tobi.net/repositories/repositories.html
Below are a couple of examples to install them.
vdr-plugin-subtitles


$ cd ~/vdr-src
== Compile and Install Xineliboutput Plugin ==
$ apt-get source vdr-plugin-subtitles
The [http://users.tkk.fi/~phintuka/vdr/vdr-xineliboutput/ Xineliboutput plugin] allows you to render both DVB MPEG stream and the VDR OSD using libxine and processing power of your CPU. If you have a budget DVB card and your computer is powerful enough Xinelibout may be ideal for you. Additionally, it can stream the video and OSD across a LAN which allows you to setup a headless VDR server (using modest hardware) while the picture is displayed on and control is handled by one or more client machines elsewhere on the LAN.
$ sudo apt-get build-dep vdr-plugin-subtitles

$ cd vdr-plugin-subtitles-*
Xineliboutput is not available in any of the Ubuntu repositories so we compile it from the latest Debian Package Sources as described above in the section [[UBUNTU/Installation#Installing from Debian Package Sources|Installing from Debian Package Sources]]. Briefly:
$ fakeroot debian/rules binary
<pre>
$ cd ..
richard@vito:~/src/debian-vdr$ svn co svn://svn.debian.org/svn/pkg-vdr-dvb/vdr/vdr-plugin-xineliboutput/trunk vdr/vdr-plugin-xineliboutput
$ sudo dpkg -i vdr-plugin-subtitles_*.deb
</pre>
<pre>
richard@vito:~/src/debian-vdr$ cd vdr/vdr-plugin-xineliboutput/
vdr-plugin-xineliboutput
richard@vito:~/src/debian-vdr/vdr/vdr-plugin-xineliboutput$ svn-buildpackage -rfakeroot -uc -us
$ apt-get source vdr-plugin-xineliboutput
</pre>
$ sudo apt-get build-dep vdr-plugin-xineliboutput
<pre>
richard@vito:~/src/debian-vdr/vdr/vdr-plugin-xineliboutput$ cd ../../build-area/
$ cd vdr-plugin-xineliboutput-*
$ fakeroot debian/rules binary
richard@vito:~/src/debian-vdr/build-area$ ls *.deb
$ cd ..
libxine-xvdr_0.99rc4-1_i386.deb
$ sudo dpkg -i vdr-plugin-xineliboutput_*.deb libxine-xvdr_*.deb libxineliboutput-sxfe_*.deb xineliboutput-sxfe_*.deb
vdr_1.4.1-1_i386.deb
vdr-dev_1.4.1-1_all.deb
MORE PLUGINS
vdr-plugin-examples_1.4.1-1_i386.deb
vdr-plugin-sky_1.4.1-1_i386.deb
Below are listed a couple of useful plugins. Install the same way as above.
vdr-plugin-xineliboutput_0.99rc4-1_i386.deb
It can be wise to install these after you are sure vdr is working.
vdr-plugin-xineliboutput-fb_0.99rc4-1_i386.deb
vdr-plugin-xineliboutput-x_0.99rc4-1_i386.deb
vdr-plugin-remote (remote control support)
vdr-plugin-osdteletext (used at least in europe)
xineliboutput-remote-fb_0.99rc4-1_i386.deb
vdradmin-am (control vdr via web)
xineliboutput-remote-x_0.99rc4-1_i386.deb
</pre>
USEFUL TIPS
<pre>
richard@vito:~/src/debian-vdr/build-area$ sudo dpkg -i *xine*.deb
Starting VDR (started automatically during deb installation)
</pre>
$ sudo /etc/init.d/vdr start
This will install the vdr plugin plus the lightweight client apps for X11 and fb, plus a xine plugin which allows you to connect to the VDR stream from standard xine-ui.
== Configure Xineliboutput Plugin and Player ==
Config files (if you make changes, remember to restart VDR)
If Xinelibout installed without problems, you now have to configure it.
* First read the README files.
/etc/default/vdr
<pre>
# Enable VDR
richard@vito:~$ less /usr/share/doc/vdr-plugin-xineliboutput/README.gz
ENABLED=1
</pre>
# change default path to save recordings
All the information you need to configure the plugin is in that README and in the configuration file its self.
VIDEO_DIR="/path/to/videodir"
Debian VDR Plugin configurations live in /etc/vdr/plugins. In this case:
# use this only to configure remote control keys via sxfe, comment out for normal use
<pre>
# USER=your_username_which_is_running_X_session
richard@vito:~$ sudo nano -w /etc/vdr/plugins/plugin.xineliboutput.conf
</pre>
/etc/vdr/plugins/plugin.xineliboutput.conf
For general information on installing and configuring this plugin see [[Xineliboutput-plugin]].
--local=none # disable sxfe access, consider enabling if you have a dedicated VDR box
== Compile the Xine-ui Source Package to Enable VDR Keys ==
--remote=37890 # add network support in order to access it via xine player
Using xine-ui gives you many features which are not available in the lightweight clients eg Zooming and allows you to easily switch to DVD playback with full menus.
--primary
NOTE, first time starting VDR use --local=sxfe --remote=none to configure remote control keys.
Remember to use correct USER above (normally VDR is run as "vdr" user which does not have access to your X session)
Otherwise xine xvdr access does not seem to work because it's waiting for remote control configuration.
Also temporarily "chmod 777 /var/lib/vdr" so that remote.conf can be written.
/var/lib/vdr/channels.conf
This is a required file with channel frequency info in your area.
See http://www.linuxtv.org/vdrwiki/index.php/Syntax_of_channels.conf for more info.
DONE!!
You should be able to access VDR via xine-ui (select XVDR). See xineliboutput for more frontends.
If you have later problems to use xine-ui, try the sxfe option (mentioned earlier) to debug.


Unfortunately the stock Ubuntu Dapper xine-ui is not compiled with the necessary --enable-vdr-keys flag which enables full control of VDR. But it is not difficult to recompile xine-ui from the source packages. First glance at [http://www.murrayc.com/blog/permalink/2006/04/21/building-modified-debian-packages/ this guide to recompiling Debian packages] then follow these steps:
* Install all build dependencies
<pre>
richard@lazar:~/src/debian-xine/xine-ui-0.99.4$ sudo apt-get build-dep xine-ui
</pre>
* Download the xine-ui source package
<pre>
richard@lazar:~/src/debian-xine/xine-ui-0.99.4$ apt-get source xine-ui
</pre>
* Update the debian/rules file
<pre>
richard@lazar:~/src/debian-xine/xine-ui-0.99.4$ nano -w debian/rules
</pre>
<pre>
configure: configure-stamp
configure-stamp:
dh_testdir
./configure --prefix=/usr --mandir=\$${prefix}/share/man \
--enable-vdr-keys \
...
</pre>
* Update the changelog file
<pre>
richard@lazar:~/src/debian-xine/xine-ui-0.99.4$ dch --nmu
</pre>
<pre>
xine-ui (0.99.4-0ubuntu6.1) dapper; urgency=low


<!-- [[Category:Ubuntu]] -->
* Non-maintainer upload.
[[Category:CandidateForDeletion]]
* Added --enable-vdr-keys
...
</pre>
* Build the package.
<pre>
richard@lazar:~/src/debian-xine/xine-ui-0.99.4$ debuild -us -uc
</pre>
* And install
<pre>
richard@lazar:~/src/debian-xine/xine-ui-0.99.4$ sudo dpkg -i ../xine-ui_0.99.4-0ubuntu6.1_i386.deb
</pre>
[[Category:Ubuntu]]

Latest revision as of 18:52, 7 December 2013

Install and Configure VDR on Ubuntu (outdated!)

This article contains tips and advice for setting up VDR and plugins on Ubuntu.

Info
Info

Ubuntu releases are based on snapshots of Debian Unstable so you can mostly refer to the Debian documentation.

Installing from Binary Packages

VDR has been available in the Ubuntu Universe repository since Warty.

This article assumes that you have installed Ubuntu Dapper and have installed and confirmed to be working a Linux compatible DVB device.

Before you can install VDR packages, you must first add the Universe repository to your Apt sources list. Now you can use Aptitude or Synaptic to search for available vdr packages.

Installing from Debian Package Sources

  • You will need to install svn-buildpackage, which lives in the Ubuntu Universe repository, so if you haven't already done so, add Universe to your sources.list
  • Continue to DEBIAN_Compiling_VDR_Source_Packages

Configuring VDR and plugins

Installing VDR from e-tobi.net source packages

* updated 5/2007 (VA, Finland)
* Jul 29. 2007 - updated the deb-src line (NM, Finland)

IMPORTANT INFO BEFORE INSTALLATION!!
* this is only recommended if Ubuntu supplied packages are not enough, for example you need extra plugins
* make sure your DVB card works before doing this (I used kaffeine player for testing)
* tested on Ubuntu Edgy/Feisty, recommended only for advanced users!!
* this example includes subtitles patch (needed for DVB subtitles at least in some European countries)
* this process must be done again after dist-upgrades

VDR
1. Remove all installed Ubuntu VDR packages.
$ sudo apt-get remove vdr vdr-dev
* NOTE this does not remove configuration files, consider using Synaptic complete removal

2. Add the following to /etc/apt/sources.list.
deb-src http://e-tobi.net/vdr-experimental lenny base addons vdr-multipatch

3. Update packagelist and install compile tools.
$ sudo apt-get update
$ sudo apt-get install dpkg-dev build-essential fakeroot

3. Make a directory for source code files.
$ cd ~
$ mkdir vdr-src
$ cd vdr-src

4. Install VDR sourcecode.
 $ apt-get source vdr

5. Try to get depencies automatically.
$ sudo apt-get build-dep vdr

6. Make sure you have some needed packages.
$ sudo apt-get install debhelper linux-headers-generic libjpeg62-dev dpatch libcap-dev libncurses5-dev

7. Activate subtitles patch by editing file vdr-1.4.*/debian/patches/00list.
Do this only if you need DVB subtitles. Remove comments from the following lines.
opt-27_subtitles-ttxtsubs
opt-27-x_subtitles-ttxtsubs-volumebar-fix

You can also activate other patches, but be careful as they might conflict each other.

8. Compile VDR and create deb packages.

$ cd ~/vdr-src/vdr-1.4.*
$ fakeroot debian/rules binary After this there should be vdr_1.4.*.deb and vdr-dev_1.4.*.deb packages in ~/vdr-src. 9. Install deb packages. $ cd ~/vdr-src
$ sudo dpkg -i vdr_1.4*.deb vdr-dev_1.4*.deb $ sudo /etc/init.d/vdr stop (stop vdr, plugins need to be activated) DONE! Continue to install plugins below. PLUGINS Browse e-tobi.net selection at http://www.e-tobi.net/repositories/repositories.html Below are a couple of examples to install them. vdr-plugin-subtitles
$ cd ~/vdr-src
$ apt-get source vdr-plugin-subtitles
$ sudo apt-get build-dep vdr-plugin-subtitles
$ cd vdr-plugin-subtitles-*
$ fakeroot debian/rules binary
$ cd ..
$ sudo dpkg -i vdr-plugin-subtitles_*.deb

vdr-plugin-xineliboutput

$ apt-get source vdr-plugin-xineliboutput
$ sudo apt-get build-dep vdr-plugin-xineliboutput
$ cd vdr-plugin-xineliboutput-*
$ fakeroot debian/rules binary
$ cd ..
$ sudo dpkg -i vdr-plugin-xineliboutput_*.deb libxine-xvdr_*.deb libxineliboutput-sxfe_*.deb xineliboutput-sxfe_*.deb

MORE PLUGINS

Below are listed a couple of useful plugins. Install the same way as above. 
It can be wise to install these after you are sure vdr is working.
vdr-plugin-remote (remote control support)
vdr-plugin-osdteletext (used at least in europe)
vdradmin-am (control vdr via web)

USEFUL TIPS

Starting VDR (started automatically during deb installation)
$ sudo /etc/init.d/vdr start

Config files (if you make changes, remember to restart VDR)

/etc/default/vdr
# Enable VDR
ENABLED=1
# change default path to save recordings
VIDEO_DIR="/path/to/videodir" 
# use this only to configure remote control keys via sxfe, comment out for normal use
# USER=your_username_which_is_running_X_session

/etc/vdr/plugins/plugin.xineliboutput.conf
--local=none # disable sxfe access, consider enabling if you have a dedicated VDR box
--remote=37890 # add network support in order to access it via xine player
--primary
NOTE, first time starting VDR use --local=sxfe --remote=none to configure remote control keys.
Remember to use correct USER above (normally VDR is run as "vdr" user which does not have access to your X session)
Otherwise xine xvdr access does not seem to work because it's waiting for remote control configuration.
Also temporarily "chmod 777 /var/lib/vdr" so that remote.conf can be written.

/var/lib/vdr/channels.conf
This is a required file with channel frequency info in your area.
See http://www.linuxtv.org/vdrwiki/index.php/Syntax_of_channels.conf for more info.

DONE!!

You should be able to access VDR via xine-ui (select XVDR). See xineliboutput for more frontends.
If you have later problems to use xine-ui, try the sxfe option (mentioned earlier) to debug.