Difference between pages "Watch digital TV with VDR and a streaming client" and "AuToFs"

From Linuxintro
(Difference between pages)
imported>ThorstenStaerk
 
imported>ThorstenStaerk
(Redirected page to Automounter tutorial)
 
Line 1: Line 1:
= Introduction =
+
#REDIRECT [[Automounter tutorial]]
This article describes some aspects to setup an enviroment with a VDR server and a xine stream client.
 
 
 
Here typically should be the obligatory screenshot of my desktop showing the running stream - I add that later on :)
 
 
 
To proceed, [[find out your distribution]] and proceed accordingly:
 
 
 
= SUSE Linux 12.1 =
 
== The setup as basic for this article ==
 
We need some Hardware - I my case:
 
* a laptop [http://www.staerk.de/thorsten/latitude_2100 Dell Latitude 2100]
 
* an external digital TeraTec Cinergy S2 USB with remote control
 
 
 
And of course some software repositories - in my case:
 
* Base OS is openSUSE 12.1
 
 
 
We setup the following componets
 
* VDR (http://www.vdr-portal.de/)
 
* XINE
 
 
 
== Setup Procedure ==
 
=== Installing VDR and XINE ===
 
 
 
==== Installation channels ====
 
* Set up installation channels
 
zypper ar http://packman.inode.at/suse/openSUSE_12.1/Essentials packman-essentials
 
zypper ar http://packman.inode.at/suse/openSUSE_12.1/Multimedia packman-multimedia
 
* Now the command
 
zypper lr -u
 
must contain
 
| packman-essentials                | packman-essentials                | Yes    | No      | http://packman.inode.at/suse/openSUSE_12.1/Essentials                     
 
| packman-multimedia                | packman-multimedia                | Yes    | No      | http://packman.inode.at/suse/openSUSE_12.1/Multimedia
 
 
 
==== Installation ====
 
Now install the software:
 
[[yast]] -i vdr-plugin-xine
 
 
 
==== Configuration ====
 
Now [[configure]] the [[software]]. In /etc/sysconfig/vdr, replace
 
VDR_PLUGINS=""
 
by
 
VDR_PLUGINS="remote xine"
 
VDR_PLUGIN_ARGS_remote="-i /dev/input/ir"
 
VDR_PLUGIN_ARGS_xine=""
 
and restart the video disk recorder:
 
/etc/init.d/vdr restart
 
 
 
= SUSE Linux 11.4 =
 
== The setup as basic for this article ==
 
We need some Hardware - I my case:
 
* a laptop DELL D620
 
* an external USB S2 digtital HD device TeVii S660
 
* a TechnoTrend remote control (because unfortunately the remote control support of TeVii S660 is buggy in my setup)
 
 
 
And of course some software repositories - in my case:
 
* Base OS is openSUSE 11.4
 
* Additional package repositories: TBD
 
 
 
We setup the following componets
 
* VDR (http://www.vdr-portal.de/)
 
* LIRC
 
* XINE
 
 
 
== Setup Procedure ==
 
=== Installing VDR and XINE ===
 
 
 
==== Installation channels ====
 
* Set up installation channels
 
zypper ar http://packman.inode.at/suse/openSUSE_11.4/Essentials packman-essentials
 
zypper ar http://packman.inode.at/suse/openSUSE_11.4/Multimedia packman-multimedia
 
* Now the command
 
zypper lr -u
 
must contain
 
  | packman-essentials  | packman-essentials        | Yes    | Yes    |  99    | rpm-md | http://packman.inode.at/suse/openSUSE_11.4/Essentials                     
 
  | packman-multimedia  | packman-multimedia        | Yes    | Yes    |  99    | rpm-md | http://packman.inode.at/suse/openSUSE_11.4/Multimedia                     
 
 
 
* libxine2 removed; xine-ui from other vendor'''. Install VDR and xine packages - sou might need also some dependent packages so use zypper to resolve dependencies
 
** Remark: '''2012-07-18: Updated List'''
 
** removed package libxine2
 
** xine-ui from openSUSE '''not''' packman.links2linux.de
 
** downgraded vdr-plugin-xine to version 0.9.3
 
** To query the packages in this format:
 
printf " %-22s | %-22s | %-30s | %s\
 
" "Name" "Version" "Vendor" "Project URL"
 
printf " -----------------------+------------------------+--------------------------------+-------------------------------\
 
"
 
rpm -qa --queryformat ' %-22{name} | %-22{version} | %-30{vendor} | %{url} \
 
' | egrep '(vdr|xine)'
 
 
Name                  | Version                | Vendor                        | Project URL
 
-----------------------+------------------------+--------------------------------+-------------------------------
 
libxine1-pulse        | 1.1.20.1              | http://packman.links2linux.de  | http://www.xine-project.org/home
 
xine-ui                | 0.99.5                | openSUSE                      | http://xine.sourceforge.net
 
libxine1-codecs        | 1.1.20.1              | http://packman.links2linux.de  | http://www.xine-project.org/home
 
vdr-plugin-streamdev  | 0.0_CVS20080716080048  | openSUSE                      | http://streamdev.vdr-developer.org/
 
libdvdread3            | 0.9.7                  | http://packman.links2linux.de  | http://www.dtek.chalmers.se/groups/dvd/index.shtml
 
libxine1              | 1.1.20.1              | http://packman.links2linux.de  | http://www.xine-project.org/home
 
vdr                    | 1.6.0                  | openSUSE                      | http://www.tvdr.de/
 
xine-skins            | 1.0.3                  | Packman                        | http://xinehq.de/index.php/skins
 
vdr-plugin-epgsearch  | 0.9.24                | obs://build.opensuse.org/vdr  | http://winni.vdr-developer.org/epgsearch/downloads/vdr-epgsearch-0.9.24.tgz
 
kdebase4-runtime-xine  | 4.6.0                  | openSUSE                      | http://www.kde.org/
 
libdvdread4            | 4.1.3                  | openSUSE                      | http://www.mplayerhq.hu/
 
xinetd                | 2.3.14                | openSUSE                      | http://www.xinetd.org/
 
phonon-backend-xine    | 4.4.4                  | openSUSE                      | http://phonon.kde.org/
 
vdr-plugin-cutalot    | 0.0.3                  | openSUSE                      | http://www.vdr-wiki.de/wiki/index.php/Cutalot-plugin
 
libxine1-gnome-vfs    | 1.1.20.1              | http://packman.links2linux.de  | http://www.xine-project.org/home
 
vdr-plugin-xine        | 0.9.3                  | openSUSE                      | http://home.vr-web.de/~rnissl/
 
 
 
* Install optional VDR packages
 
vdr-plugin-cutalot 0.0.3 openSUSE http://www.vdr-wiki.de/wiki/index.php/Cutalot-plugin
 
vdr-plugin-epgsearch 0.9.24 obs://build.opensuse.org/vdr http://winni.vdr-developer.org/epgsearch/downloads/vdr-epgsearch-0.9.24.tgz
 
vdr-plugin-streamdev 0.0_CVS20080716080048 openSUSE http://streamdev.vdr-developer.org/
 
 
 
'''Remark:''' Using the xine plugin (from repository PackMan) you could use xine for a complete VDR client (with full control over all menus).
 
 
 
* Adapt plugin configuration /etc/sysconfig/vdr (the plugin "remote" is optional and can be dropped, if you use lirc)
 
#
 
# With plugin remote plugin:
 
#
 
VDR_PLUGINS="remote xine"
 
VDR_PLUGIN_ARGS_remote="-i /dev/input/ir"
 
VDR_PLUGIN_ARGS_xine=""
 
#
 
# Without plugin remote plugin:
 
#
 
VDR_PLUGINS="remote xine"
 
VDR_PLUGIN_ARGS_remote="-i /dev/input/ir"
 
VDR_PLUGIN_ARGS_xine=""
 
* Restart VDR
 
  /etc/init.d/vdr restart
 
* start watching VDR: - You should get a OSD message from VDR that tells you to train VDR to understand your remote control or keyboard sequences
 
xine vdr://
 
 
 
In this setup we proceed to integrate the Technotrend Remote control to be able to send signals to LIRCD and than configure VDR to understand LIRCD commands...
 
 
 
=== TechnoTrend USB Remote-Control ===
 
==== Low Level Test with mode2 ====
 
To test, if the IR keys are recognized on a very low level test using command mode2. This works also without lircd.
 
furka:~ # mode2 -d /dev/lirc0
 
space 3508766
 
pulse 806
 
space 744
 
pulse 806
 
 
 
==== lircd configuration =====
 
In openSUSE 11.4 lircd is configured via
 
===== /etc/sysconfig/lirc =====
 
## Description:    lirc (infrared remote control) configuration
 
## Type:          string
 
## Default:        "660"
 
## ServiceRestart: lirc
 
#
 
# permissions for /dev/lircd
 
#
 
LIRCD_DEV_PERMISSIONS="660"
 
 
## Type:        string
 
## Default:    "root:video"
 
#
 
# owner and group for /dev/lircd
 
#
 
LIRCD_DEV_OWNER="root:video"
 
 
## Type:        string
 
## Default:    ""
 
#
 
# use given driver
 
#
 
LIRCD_DRIVER=""
 
 
## Type:        string
 
## Default:    ""
 
#
 
# read from given device
 
#
 
LIRCD_DEVICE="/dev/lirc0"
 
 
## Type:        string(lirc_bt829,lirc_gpio,lirc_i2c,lirc_it87,lirc_parallel,lirc_sir,ir-kbd-i2c,ir-kbd-gpio)
 
## Default:    ""
 
#
 
# load given lirc driver module
 
#
 
LIRC_MODULE="lirc_ttusbir"
 
 
## Type:        string
 
## Default:    ""
 
#
 
# listen for network connections on specified port.
 
# WARNING: don't use this on a machine with an internet
 
# connection as lircd is running as root!
 
#
 
LIRCD_LISTENPORT=
 
 
## Type:        string
 
## Default:    ""
 
#
 
# connect lircd to specified host
 
#
 
LIRCD_CONNECT=
 
===== /etc/lirc/lircd.conf =====
 
/etc/lirc/lircd.conf (enthaelt die definition der Fernbedienungstasten)
 
#
 
# this config file was automatically generated
 
# using lirc-0.8.3(default) on Wed Jul  2 21:51:15 2008
 
#
 
# contributed by
 
#
 
# brand:                                  Technotrend
 
# model no. of remote control:
 
# devices being controlled by this remote: TV-Card
 
#
 
 
 
begin remote
 
 
 
  name      Technotrend
 
  bits                6
 
  flags RC5|CONST_LENGTH
 
  eps                30
 
  aeps                100
 
 
 
  one                889  889
 
  zero                889  889
 
  plead              889
 
  pre_data_bits        7
 
  pre_data          0x55
 
  gap              113792
 
  toggle_bit            2
 
  frequency        36000
 
  duty_cycle          50
 
 
 
      begin codes
 
          Power                    0x01
 
          Mute                    0x18
 
          1                        0x03
 
          2                        0x04
 
          3                        0x05
 
          4                        0x06
 
          5                        0x07
 
          6                        0x08
 
          7                        0x09
 
          8                        0x0A
 
          9                        0x0B
 
          0                        0x0C
 
          Audio                    0x1A
 
          Repeat                  0x02
 
          vol-                    0x26
 
          vol+                    0x25
 
          Text                    0x19
 
          ch-                      0x24
 
          ch+                      0x23
 
          Exit                    0x13
 
          OK                      0x0F
 
          Up                      0x0D
 
          Down                    0x11
 
          Left                    0x0E
 
          Right                    0x10
 
          Red                      0x14
 
          Green                    0x15
 
          Yellow                  0x16
 
          Blue                    0x17
 
          Record                  0x3A
 
          Play                    0x3B
 
          Stop                    0x3C
 
          Info                    0x12
 
          Rew                      0x3D
 
          Pause                    0x3E
 
          Fwd                      0x3F
 
          EPG                      0x22
 
      end codes
 
 
end remote
 
 
 
==== lircd start and start at boot time ====
 
furka:~ # rclirc start
 
Starting lircd (/dev/lirc0)                                          done
 
furka:~ # chkconfig lirc on
 
 
 
==== lircd-client Connection Test ====
 
To test, if a client of lircd could recognize key presses use command irw. This command is part of package lirc.
 
furka:~ # irw
 
000000000000154c 00 0 Technotrend
 
000000000000154c 01 0 Technotrend
 
000000000000154c 00 0 Technotrend
 
000000000000154c 01 0 Technotrend
 
 
 
==== Trouble-Shooting ====
 
* If you do NOT have a valid config file for your remote you might create one interactive using irrecord
 
irrecord -d /dev/lirc0 file
 
* Remarks
 
** "file" is the output file
 
** You should prefer to fetch a config file from http://www.lirc.org/remotes/
 
** I successfully tried http://lirc.sourceforge.net/remotes/technotrend/TV-Card
 
 
 
=== lirc to talk with vdr ===
 
* VDR automatically tries to get signals/commands from LIRC, but you need to help VDR to understand whoat to do, if a special LIRC command is received. You could either "train" VDR and press keys in the training mode, or provide a ready-to-go definition file. File '''/etc/vdr/remote.conf''' needs to contain those additional entries for accepting lircd keys:
 
LIRC.Up        Up
 
LIRC.Down      Down
 
LIRC.Menu      Repeat
 
LIRC.Ok        OK
 
LIRC.Back      Exit
 
LIRC.Left      Left
 
LIRC.Right      Right
 
LIRC.Red        Red
 
LIRC.Green      Green
 
LIRC.Yellow    Yellow
 
LIRC.Blue      Blue
 
LIRC.0          0
 
LIRC.1          1
 
LIRC.2          2
 
LIRC.3          3
 
LIRC.4          4
 
LIRC.5          5
 
LIRC.6          6
 
LIRC.7          7
 
LIRC.8          8
 
LIRC.9          9
 
LIRC.Info      Info
 
LIRC.Play      Play
 
LIRC.Pause      Pause
 
LIRC.Stop      Stop
 
LIRC.Record    Record
 
LIRC.FastFwd    Fwd
 
LIRC.FastRew    Rew
 
LIRC.Power      Power
 
LIRC.Channel+  ch+
 
LIRC.Channel-  ch-
 
LIRC.Volume+    vol+
 
LIRC.Volume-    vol-
 
LIRC.Mute      Mute
 
 
 
* Restart VDR again to activate the new configuration
 
 
 
== UNSORTED STUFF ==
 
Auf dem Laptop Latitude D820 habe ich einen vdr installiert mit einer externen USB-Box TVii 660
 
=== Installation of the DVB-S2 USB-Box ===
 
<TBD>
 
=== Plugins, plugins, plugins ... ===
 
Why are there so much differetn plugins for VDR to provide video streams? They all have different feature sets and use cases. While in the use case to watch TV on a Laptop where the TV-Card/Box is connected is matching to the plugine xine, there are other usescases for network streaming.
 
 
 
TBD We need / explain the following VDR plugins:
 
* xine
 
* streamdev
 
* libxineoutput
 
 
 
=== Video clients ===
 
==== Remote Streaming: vdr-plugin-streamdev ====
 
vlc - What is already running is that you can watch TV and also switch the programm. But you do not have full control over VDR using that method.
 
vlc http://127.0.0.1:3000/PES/1
 
URL in general:
 
http://<hostip>:<port>/[PES|xx]/<prognummer>
 
You need to setup the file /etc/vdr/streamdev.conf:
 
# streamdev.conf:
 
<TBD>
 
 
 
Passender /etc/sysconfig/vdr Auszug
 
  VDR_PLUGINS="streamdev"
 
 
 
==== vdr-plugin-xineliboutput ====
 
With xineliboutput
 
vlc tcp://localhost:37890
 
 
 
But how to switch the program using this connection?
 
 
 
==== Best practice local access with <html><acronym title="On Screen Display">OSD</acronym></html>:
 
vdr-plugin-xine ====
 
'''This is the recommended way if you want to watch TV on the computer where VDR is running.'''
 
 
 
Using the xine plugin (from repository PackMan) you could use xine for a complete VDR client (with full control over all menus).
 
 
 
* install it:
 
yast -i vdr-plugin-xine
 
 
 
* Matching line in /etc/sysconfig/vdr (the plugin "remote" is optional and can be dropped, if you use lirc)
 
  VDR_PLUGINS="remote xine"
 
  VDR_PLUGIN_ARGS_remote="-i /dev/input/ir"
 
  VDR_PLUGIN_ARGS_xine=""
 
 
 
* Restart VDR
 
  /etc/init.d/vdr restart
 
 
 
* start watching TV:
 
xine vdr://
 
 
 
=== Remote Control ===
 
TBD: translate de->en
 
==== TeVii S660 remote control is a bit painfull for me ====
 
Translation: <TBD>
 
* Mit dem Update von c.a. Mitte März auf den Herstellerseiten (auf Simplon Download/Tevii) geht nun die Erkennung der Fernbedienung
 
* Kleiner Patch in ./v4l/dw2102.c die Ausgaben von "query RC..." auskommentiert (also nicht aktiv), weil sonst der syslog voll läuft
 
* VDR meldet (ohne Config s.u.) beim Starten, dass er kein lirc findet, allerdings scheint die Fernbedienung als Tastatur zur funktionieren:
 
** Test mit fb bringt messages im syslog (kann ggf später entfallen)
 
** xev zeigt tastaturreaktion, wenn man fb bedient
 
** KDE lautstärke regler funktioniert bereits :)
 
** Cursorbewegungen (auf/ab/rechts/links) funktinieren u.a. hier im wiki :)
 
** war jetzt nach einigen Eingaben nicht stabil - prüfen!
 
 
 
In den VDR bindet  man die Fernbedienung mit dem plugin remote ein.
 
Passender Auszug aus der /etc/sysconfig/vdr
 
  VDR_PLUGINS="remote"
 
  VDR_PLUGIN_ARGS_remote="-i /dev/input/ir
 
 
 
Die Berechtigungen für das IR-device (/dev/input/ir) müssen so eingestellt werden,
 
dass der VDR (Benutzer vdr) darauf Zugreifen darf.
 
  chown vdr:users /dev/input/ir
 
 
 
Die FB muss beim ersten Benutzen im VDR trainiert werden, wenn die Datei /etc/vdr/remote.conf nicht
 
angepasst wird (Datei stelle ich bei Bedarf zur Verfügung :).
 
 
 
=== openSUSE 11.2 package list sorted  by "vendor"  ===
 
rpm -qa --queryformat "%{NAME} %{VENDOR}\
 
" | egrep '(vdr|xine)' | sort -k2
 
* Packman
 
gxine Packman
 
gxine-browser-plugin Packman
 
xine-browser-plugin Packman
 
xine-skins Packman
 
* http://packman.links2linux.de
 
libdvdread3 http://packman.links2linux.de
 
libdvdread4 http://packman.links2linux.de
 
libxine1 http://packman.links2linux.de
 
libxine1-codecs http://packman.links2linux.de
 
libxine1-gnome-vfs http://packman.links2linux.de
 
libxine1-pulse http://packman.links2linux.de
 
vdr-plugin-xine http://packman.links2linux.de
 
xine-ui http://packman.links2linux.de
 
* obs://build.opensuse.org/vdr
 
vdr-plugin-xineliboutput obs://build.opensuse.org/vdr
 
* openSUSE
 
phonon-backend-xine openSUSE
 
vdr openSUSE
 
vdr-plugin-cutalot openSUSE
 
vdr-plugin-epgsearch openSUSE
 
vdr-plugin-remote openSUSE
 
vdr-plugin-streamdev openSUSE
 
xinetd openSUSE
 
 
 
= See also =
 
* [[watch TV]]
 
* http://packman.links2linux.de/package/vdr-plugin-xine/229857
 

Latest revision as of 13:37, 7 January 2013