Difference between pages "Error messages and their solutions" and "Watch digital TV with VDR and a streaming client"

From Linuxintro
(Difference between pages)
imported>ThorstenStaerk
 
imported>ThorstenStaerk
 
Line 1: Line 1:
This is a collection of known error messages and their solution. Mostly these error messages result from missing [[dependencies]].
+
= Introduction =
 +
This article describes some aspects to setup an enviroment with a VDR server and a xine stream client.
  
=== a52 ===
+
Here typically should be the obligatory screenshot of my desktop showing the running stream - I add that later on :)
'''Symptom''', in this case from [[build]]ing [[vlc]]:
 
[[configure]]: error: Could not find liba52 on your system: you may get it from http://liba52.sf.net/. Alternatively you can use --disable-a52 to disable the a52 plugin.
 
'''Solution''', in this case for SUSE Linux:
 
[[yast]] -i liba52-devel
 
  
=== access forbidden ===
+
To proceed, [[find out your distribution]] and proceed accordingly:
'''Symptom''': When surfing to a web site from your [[apache]] web server your browser tells you
 
Access forbidden!
 
 
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
 
 
If you think this is a server error, please contact the webmaster.
 
Error 403
 
'''Solution''', in this case for SUSE Linux:
 
In /etc/apache2 search for AllowOverride:
 
[[grep]] -ir "allowoverride" *
 
Make sure all AllowOverride are set to None, then restart your apache:
 
/etc/init.d/apache2 restart
 
  
=== atk ===
+
= SUSE Linux 12.1 =
'''Symptom''', in this case from gqcam:
+
== The setup as basic for this article ==
/usr/include/gtk/gtkwidget.h:40:21: fatal error: atk/atk.h: No such file or directory
+
We need some Hardware - I my case:
compilation terminated.
+
* a laptop [http://www.staerk.de/thorsten/latitude_2100 Dell Latitude 2100]
make: *** [gqcam.o] Error 1
+
* an external digital TeraTec Cinergy S2 USB with remote control
'''Solution''', in this case for SUSE Linux 11.3:
 
[[cp]] -r /usr/include/atk-1.0/atk/ /usr/include/
 
  
=== C compiler ===
+
And of course some software repositories - in my case:
<pre>
+
* Base OS is openSUSE 12.1
~/freeciv-2.1.9 # ./configure
 
checking build system type... i686-pc-linux-gnu
 
checking host system type... i686-pc-linux-gnu
 
checking for a BSD-compatible install... /usr/bin/install -c
 
checking whether build environment is sane... yes
 
checking for gawk... gawk
 
checking whether make sets $(MAKE)... no
 
checking whether to enable maintainer-specific portions of Makefiles... no
 
checking for style of include used by make... none
 
checking for gcc... no
 
checking for cc... no
 
checking for cc... no
 
checking for cl... no
 
configure: error: no acceptable C compiler found in $PATH
 
See `config.log' for more details.
 
linux-zcx2:~/freeciv-2.1.9 # gcc
 
If 'gcc' is not a typo you can use command-not-found to lookup the package that contains it, like this:
 
    cnf gcc
 
linux-zcx2:~/freeciv-2.1.9 # yast -i gcc-c++
 
</pre>
 
  
=== C++ compiler ===
+
We setup the following componets
Problem e.g.:
+
* VDR (http://www.vdr-portal.de/)
CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found.  Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
+
* XINE
'''Solution''', e.g. under Debian:
 
aptitude install build-essential
 
  
=== C header files ===
+
== Setup Procedure ==
'''Symptom:''' When starting [[vmware]] player you get an error message:
+
=== Installing VDR and XINE ===
C header files matching your running kernel were not found.  Refer to your distribution's documentation for installation instructions.
 
'''Solution''', in this case for SUSE Linux 12.1:
 
[[yast]] -i kernel-source
 
  
=== can't open display ===
+
==== Installation channels ====
'''Symptom:''' When you call yast2 on a remote computer you get the error message
+
* Set up installation channels
  terminate called after throwing an instance of 'YUIException'
+
zypper ar http://packman.inode.at/suse/openSUSE_12.1/Essentials packman-essentials
  what():  Can't open display
+
zypper ar http://packman.inode.at/suse/openSUSE_12.1/Multimedia packman-multimedia
  YaST got signal 6 at YCP file Wizard.ycp:699
+
* Now the command
'''Solution:''' Log out and log in again using ssh -Y instead of ssh -X
+
  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
  
=== capabilities.h ===
+
==== Installation ====
'''Symptom''', in this case from [[build]]ing vdr
+
Now install the software:
vdr.c:35:28: fatal error: sys/capability.h: No such file or directory
+
  [[yast]] -i vdr-plugin-xine
'''Solution''', in this case for SUSE 11.3
 
  [[yast]] -i libcap-devel
 
  
=== cairo ===
+
==== Configuration ====
'''Symptom''', in this case from [[build]]ing gqcam:
+
Now [[configure]] the [[software]]. In /etc/sysconfig/vdr, replace
  /usr/include/gdk/gdkscreen.h:31:19: fatal error: cairo.h: No such file or directory
+
VDR_PLUGINS=""
'''Solution''', in this case for SUSE 11.3:
+
by
  [[cp]] /usr/include/cairo/* /usr/include/
+
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
  
=== certificate.pem ===
+
= SUSE Linux 11.4 =
'''Symptom:''' A program, e.g. [[sHellinaBox]] outputs the error message:
+
== The setup as basic for this article ==
Cannot read valid certificate from "certificate.pem". Check file permissions and file format.
+
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)
  
'''Reason,''' in this case for [[sHellInaBox]]: The program cannot create certificate.pem in the current folder
+
And of course some software repositories - in my case:
 +
* Base OS is openSUSE 11.4
 +
* Additional package repositories: TBD
  
'''Solution,''' in this case for [[shellInABox]]: start the program in /tmp
+
We setup the following componets
 +
* VDR (http://www.vdr-portal.de/)
 +
* LIRC
 +
* XINE
  
=== clock_gettime ===
+
== Setup Procedure ==
'''Symptom''', in this case from [[building]] http://svn.icmb.utexas.edu/svn/repository/trunk/zpub/sdkpub/usbkey_dlpd/macosx/d2xx/Samples/EEPROM/write/main.c:
+
=== Installing VDR and XINE ===
linux_usbfs.c:(.text+0x182): undefined reference to `clock_gettime'
 
'''Reason:''' You are missing the realtime library
 
  
'''Solution:''' Include the realtime library into your compile options, add the paramter
+
==== Installation channels ====
  -lrt
+
* 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                     
  
=== confuse.h ===
+
* 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
'''Symptom:''' When [[build]]ing a software you get an error message like
+
** Remark: '''2012-07-18: Updated List'''
  callbacks.c:10:21: fatal error: confuse.h: No such file or directory
+
** 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/
  
'''Solution,''' in this case for SUSE Linux:
+
* Install optional VDR packages
  [[yast]] -i libconfuse-devel
+
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/
  
=== curl ===
+
'''Remark:''' Using the xine plugin (from repository PackMan) you could use xine for a complete VDR client (with full control over all menus).
;Symptom: When [[build]]ing a software you get an error message like
 
configure: error: libcurl development files required
 
;Solution: Install the development package for libcurl, e.g. for SUSE:
 
yast -i libcurl-devel
 
  
=== DBUS ===
+
* Adapt plugin configuration /etc/sysconfig/vdr (the plugin "remote" is optional and can be dropped, if you use lirc)
'''Symptom''', in this case from [[build]]ing [[vlc]]:
+
#
  configure: error: Couldn't find DBus >= 1.0.0, install libdbus-dev ?
+
# With plugin remote plugin:
'''Solution''', in this case for SUSE 11.3:
+
#
  [[yast]] -i dbus-1-devel
+
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://
  
=== dlopen ===
+
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...
'''Symptom''', in this case from [[build]]ing http://svn.icmb.utexas.edu/svn/repository/trunk/zpub/sdkpub/usbkey_dlpd/macosx/d2xx/Samples/EEPROM/write/main.c
 
ftd2xx.c:(.text+0x2cb): undefined reference to `dlopen'
 
'''Solution''', in this case for SUSE 12.1:
 
Add
 
-ldl
 
to your compile parameters.
 
  
=== firefox ===
+
=== TechnoTrend USB Remote-Control ===
'''Symptom:''' When trying to start [[firefox]] you get a message:
+
==== Low Level Test with mode2 ====
Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system.
+
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
  
'''Solution''', in this case for SUSE Linux 12.1:
+
==== lircd configuration =====
[[open a console]] and enter the [[command]]
+
In openSUSE 11.4 lircd is configured via
  killall firefox-bin
+
===== /etc/sysconfig/lirc =====
 
+
## Description:    lirc (infrared remote control) configuration
=== fribidi ===
+
## Type:          string
'''Symptom''', in this case from [[build]]ing [[vlc]]:
+
## Default:        "660"
  [[configure]]: error: Package requirements (fribidi) were not met:  
+
## 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"
 
   
 
   
  No package 'fribidi' found
+
  ## 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"
 
   
 
   
  Consider adjusting the PKG_CONFIG_PATH environment variable if you
+
  ## Type:        string
  installed software in a non-standard prefix.
+
  ## 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=
 
   
 
   
  Alternatively, you may set the environment variables FRIBIDI_CFLAGS
+
  ## Type:       string
and FRIBIDI_LIBS to avoid the need to call pkg-config.
+
  ## Default:     ""
See the pkg-config man page for more details.
+
  #
'''Solution''', in this case for SUSE 11.3:
+
  # connect lircd to specified host
  [[yast]] -i fribidi-devel
+
#
 
+
  LIRCD_CONNECT=
=== ftp: local: whatever.log: Operation not permitted ===
+
===== /etc/lirc/lircd.conf =====
'''Symptom:''' you want to download a file using e.g.
+
/etc/lirc/lircd.conf (enthaelt die definition der Fernbedienungstasten)
  ftp -p ftp://user:password@server/tmp/whatever.log
+
  #
and get an error message
+
  # this config file was automatically generated
  ftp: local: whatever.log: Operation not permitted
+
  # using lirc-0.8.3(default) on Wed Jul  2 21:51:15 2008
There is already a file whatever.log in your current working directory. You do not have write access to this file.
+
  #
 
+
  # contributed by
'''Reason:''' The command tries to overwrite your local ''whatever.log'' and fails because of missing privileges.
+
  #
 
+
  # brand:                                  Technotrend
'''Solution:''' Delete the local file ''whatever.log'' as root:
+
  # model no. of remote control:  
  rm ''whatever.log''
+
  # devices being controlled by this remote: TV-Card
 
+
  #
=== gcrypt ===
+
 
'''Symptom''', in this case from [[build]]ing [[vlc]]:
+
  begin remote
configure: error: libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.
+
 
'''Solution''', in this case for SUSE 11.3:
+
  name      Technotrend
[[yast]] -i libgcrypt-devel
+
  bits                6
 
+
  flags RC5|CONST_LENGTH
=== gdk ===
+
  eps                30
'''Symptom''', in this case from [[build]]ing gqcam:
+
  aeps                100
/usr/include/gtk/gtk.h:32:21: fatal error: gdk/gdk.h: No such file or directory
+
 
'''Solution''', in this case for SUSE Linux 11.3:
+
  one                889  889
[[cp]] -pr /usr/include/gtk-2.0/gdk /usr/include/
+
  zero                889  889
 
+
  plead              889
=== gdkconfig ===
+
  pre_data_bits        7
'''Symptom''':
+
  pre_data          0x55
/usr/include/gdk/gdktypes.h:55:23: fatal error: gdkconfig.h: No such file or directory
+
  gap              113792
  compilation terminated.
+
  toggle_bit            2
  [[make]]: *** [gqcam.o] Error 1
+
  frequency        36000
'''Solution''':
+
  duty_cycle          50
  linux-noqb:~/gqcam-0.8 # cd /usr/include/
+
 
  linux-noqb:/usr/include # find -iname "gdkconfig*"
+
      begin codes
  linux-noqb:/usr/include # cd /usr/lib64/
+
          Power                    0x01
  linux-noqb:/usr/lib64 # find -iname "gdkconfig*"
+
          Mute                    0x18
  ./gtk-2.0/include/gdkconfig.h
+
          1                        0x03
  linux-noqb:/usr/lib64 # cp /usr/lib64/gtk-2.0/include/gdkconfig.h /usr/include/
+
          2                        0x04
 
+
          3                        0x05
=== gdk-pixbuf ===
+
          4                        0x06
'''Symptom''':
+
          5                        0x07
  /usr/include/gdk/gdkpixbuf.h:37:35: fatal error: gdk-pixbuf/gdk-pixbuf.h: No such file or directory
+
          6                        0x08
  compilation terminated.
+
          7                        0x09
  [[make]]: *** [gqcam.o] Error 1
+
          8                        0x0A
'''Solution''':
+
          9                        0x0B
<pre>
+
          0                        0x0C
linux-noqb:~/gqcam-0.8 # cd /usr/include/
+
          Audio                    0x1A
linux-noqb:/usr/include # find -iname "gdk-pixbuf*"
+
          Repeat                  0x02
./gtk-2.0/gdk-pixbuf
+
          vol-                     0x26
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-enum-types.h
+
          vol+                    0x25
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-animation.h
+
          Text                    0x19
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-features.h
+
          ch-                      0x24
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-core.h
+
          ch+                      0x23
./gtk-2.0/gdk-pixbuf/gdk-pixbuf.h
+
          Exit                    0x13
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-transform.h
+
          OK                      0x0F
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-io.h
+
          Up                      0x0D
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-marshal.h
+
          Down                    0x11
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-loader.h
+
          Left                    0x0E
./gtk-2.0/gdk-pixbuf/gdk-pixbuf-simple-anim.h
+
          Right                    0x10
./gtk-2.0/gdk-pixbuf-xlib
+
          Red                      0x14
./gtk-2.0/gdk-pixbuf-xlib/gdk-pixbuf-xlib.h
+
          Green                    0x15
./gtk-2.0/gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h
+
          Yellow                  0x16
linux-noqb:/usr/include # cp -r /usr/include/gtk-2.0/gdk-pixbuf /usr/include/
+
          Blue                    0x17
</pre>
+
          Record                  0x3A
 
+
          Play                    0x3B
=== gettext ===
+
          Stop                    0x3C
'''Symptom''', in this example from [[build]]ing [[pidgin]]:
+
          Info                    0x12
[[configure]]: error: GNU gettext tools not found; required for intltool
+
          Rew                      0x3D
'''Solution''', in this case for SLES 11:
+
          Pause                    0x3E
# [[yast]] -i gettext-tools
+
          Fwd                      0x3F
 
+
          EPG                      0x22
=== gio ===
+
      end codes
'''Symptom''', in this case [[build]]ing from gqcam:
 
/usr/include/gdk/gdkapplaunchcontext.h:30:21: fatal error: gio/gio.h: No such file or directory
 
'''Solution''', in this case for SUSE Linux 11.3:
 
[[cp]] -r /usr/include/glib-2.0/gio/ /usr/include/
 
 
 
=== glib ===
 
'''Symptom''', in this case from [[build]]ing [[xawtv]]:
 
error: glib.h: No such file or directory
 
'''Solution''' (in this case for SUSE 11.3):
 
[[yast]] -i glib2-devel
 
[[cp]] /usr/include/glib-2.0/glib.h /usr/include/
 
cp -pr /usr/include/glib-2.0/glib /usr/include/
 
 
 
=== glibconfig ===
 
'''Symptom''', in this case from [[build]]ing gqcam:
 
/usr/include/glib/gtypes.h:34:24: fatal error: glibconfig.h: No such file or directory
 
'''Solution''', in this case for SUSE 11.3:
 
[[cp]] /usr/lib64/glib-2.0/include/glibconfig.h /usr/include/
 
 
 
=== gmodule ===
 
'''Symptom''', in this case from [[build]]ing gqcam:
 
/usr/include/gio/giomodule.h:31:21: fatal error: gmodule.h: No such file or directory
 
'''Solution''', in this case for SUSE 11.3:
 
[[cp]] /usr/include/glib-2.0/gmodule.h /usr/include/
 
 
 
=== gtk ===
 
'''Symptom''', in this case from [[build]]ing [[kino]]:
 
checking for GTK2... configure: error: Package requirements (gthread-2.0 libglade-2.0 >= 2.5.0 gtk+-2.0 >= 2.6) were not met:
 
 
   
 
   
  No package 'libglade-2.0' found
+
  end remote
'''Solution''', in this case for SUSE 11.3:
 
[[yast]] -i libglade2-devel
 
 
 
=== gtk-config ===
 
'''Symptom''', in this case from [[build]]ing gqcam:
 
/bin/sh: gtk-config: command not found
 
gqcam.c:32:21: fatal error: gtk/gtk.h: No such file or directory
 
'''Solution''', in this case for SUSE 11.3:
 
* install gtk 2.20
 
* copy the header files
 
[[cp]] -pr /usr/include/gtk-2.0/gtk/ /usr/include
 
 
 
=== gtk-window-dialog ===
 
<pre>
 
frontend.c:411:44: error: ‘GTK_WINDOW_DIALOG’ undeclared (first use in this function)
 
frontend.c:411:44: note: each undeclared identifier is reported only once for each function it appears in
 
make: *** [frontend.o] Error 1
 
linux-noqb:~/gqcam-0.8 # cd
 
[1]+  Exit 16                yast2 sw_single  (wd: ~/gqcam-0.8)
 
(wd now: ~)
 
linux-noqb:~ # cd gtk+-2.20.1/
 
linux-noqb:~/gtk+-2.20.1 # grep -ri "gtk_window_dialog" *
 
ChangeLog.pre-1-0:      GTK_WINDOW_DIALOG as a destination for reparenting the child of
 
ChangeLog.pre-2-0:      * gtk/testgtk.c (dnd_drop): remove use of GTK_WINDOW_DIALOG
 
ChangeLog.pre-2-0:      * gtk/gtkcompat.h (GTK_WINDOW_DIALOG): compat #define
 
ChangeLog.pre-2-0:      GTK_WINDOW_DIALOG GTK_WINDOW_TOPLEVEL
 
ChangeLog.pre-2-0:      * gtk/gtkenums.h (enum GtkWindowType): remove GTK_WINDOW_DIALOG
 
</pre>
 
 
 
=== intltool ===
 
'''Symptom''', in this case from [[build]]ing [[pidgin]]:
 
[[configure]]: error: The intltool scripts were not found. Please install intltool.
 
'''Solution''', in this case with SLES 11:
 
# [[wget]] http://ftp.gnome.org/pub/gnome/sources/intltool/0.35/intltool-0.35.5.tar.bz2
 
# bunzip2 intltool-0.35.5.tar.bz2
 
# [[tar]] xvf intltool-0.35.5.tar
 
# [[cd]] intltool-0.35.5/
 
# ./[[configure]] && [[make]] -j8 && make [[install]]
 
 
 
=== jni ===
 
'''Symptom''', in this case from compiling soprano:
 
-- Could NOT find JNI (missing:  JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
 
CMake Error at CMakeLists.txt:84 (file):
 
  file Internal CMake error when trying to open file:
 
  /usr/lib64/jvm/java-1.7.0-openjdk/jni.h for reading.
 
'''Solution''': Install the development toolkit for java, in this case for SUSE 12.2:
 
java-1_7_0-openjdk-devel
 
 
 
=== jpeg ===
 
'''Symptom''', in this case from [[xawtv]]:
 
Oops:  jpeg library not found.  You need this one, please install.
 
'''Solution''', in this case for SUSE 11.3:
 
[[yast]] -i libjpeg-devel
 
 
 
=== KDE ===
 
'''Symptom''':
 
  ERROR: Could not find KDE4 kde4-config
 
'''Solution''', e.g. under Debian:
 
apt-get [[install]] kdelibs5-dev
 
 
 
=== libavcodec ===
 
'''Symptom''', in this case from [[build]]ing [[vlc]]:
 
configure: error: No package 'libavcodec' found
 
'''Solution''', in this case for SUSE Linux Enterprise Server 11:
 
[[yast]] -i lib[[ffmpeg]]-devel
 
 
 
=== liblavdisplay ===
 
'''Symptom''', e.g. when compiling mjpegtools:
 
./.libs/liblavplay.so: undefined reference to `XOpenDisplay'
 
'''Solution''', e.g. under SUSE:
 
[[yast]] -i libSDL-devel
 
 
 
=== libQtDBus ===
 
'''Symptom''', in this case from running [[skype]]:
 
skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory
 
'''Reason''': You do not have the 32bit libraries for Qt.
 
 
 
'''Solution''', in this case for SUSE 11.3:
 
[[yast]] -i libqt4-32bit
 
 
 
=== libfontconfig ===
 
'''Symptom''', in this case from building [[xawtv]]:
 
/usr/bin/ld: cannot find -lfontconfig
 
'''Solution''', in this case for Ubuntu 11.10:
 
apt-get install libfontconfig1-dev
 
 
 
=== libgdk ===
 
'''Symptom''', in this case from running realplay:
 
/opt/real/RealPlayer/realplay.bin: error while loading shared libraries: libgdk-x11-2.0.so.0: cannot open shared object file: No such file or directory
 
'''Reason''': For SUSE Linux, libgdk-x11-2.0.so.0 is provided by the [[package]] libgtk. /usr/lib64/libgdk-x11-2.0.so.0 is provided by the package libgtk-2_0-0-2.24.7-2.5.1.x86_64:
 
# [[rpm]] -qf /usr/lib64/libgdk-x11-2.0.so.0
 
libgtk-2_0-0-2.24.7-2.5.1.x86_64
 
/usr/lib/libgdk-x11-2.0.so.0 is provided by the package libgtk-2_0-0-32bit:
 
rpm -qf /usr/lib/libgdk-x11-2.0.so.0
 
libgtk-2_0-0-32bit-2.24.7-2.5.1.x86_64
 
'''Solution''', in this case for SUSE 12.1:
 
[[yast]] -i libgtk-2_0-0-32bit
 
 
 
=== libQt ===
 
'''Problem''', in this case from running [[umtsmon]]:
 
./umtsmon: error while loading shared libraries: libqt-mt.so.3: cannot open shared object file: No such file or directory
 
'''Solution''', in this case for SUSE 11.3:
 
[[yast]] -i qt3-32bit
 
 
 
=== libQtGui ===
 
'''Problem''', in this case from running [[skype]]:
 
skype: error while loading shared libraries: libQtGui.so.4: cannot open shared object file: No such file or directory
 
'''Reason''': You do not have the 32bit libraries for Qt.
 
 
 
'''Solution''':
 
[[yast]] -i libqt4-x11-32bit
 
 
 
=== libXaw ===
 
'''Symptom''', in this case from [[build]]ing [[xawtv]]:
 
/usr/bin/ld: cannot find -lXaw
 
'''Solution''', in this case for Ubuntu 11.10:
 
apt-get [[install]] libxaw7-dev
 
 
 
=== libXext ===
 
'''Symptom''', in this case from [[build]]ing [[xawtv]]:
 
/usr/bin/ld: cannot find -lXext
 
'''Solution''', in this case for Ubuntu 11.10:
 
apt-get [[install]] libxext-dev
 
 
 
=== libXm ===
 
'''Symptom:''' When installing an rpm (in this case ICAClient) you get an error like
 
error: Failed dependencies:
 
        libXm.so.4 is needed by ICAClient-11.0-1.i386
 
'''Solution:''' Install openmotif-libs, best for 32bit and 64bit.
 
 
 
You can find out what package a file belongs to after installing the rpm like this:
 
[[rpm]] -qf /usr/lib64/libXm.so.4
 
openmotif-libs-2.3.1-3.13
 
 
 
=== libXv ===
 
'''Symptom''', in this case from [[install]]ing realplayer:
 
# [[rpm]] -ivh Downloads/RealPlayer11GOLD.rpm
 
error: Failed dependencies:
 
        libXv.so.1 is needed by realplay-11.0.2.1744-1.i386
 
'''Solution''', in this case for SUSE Linux:
 
# [[yast]] -i xorg-x11-libXv-32bit
 
 
 
=== libxml ===
 
'''Symptom''', in this case from [[build]]ing [[xawtv]]:
 
libxml/parser.h: No such file or directory
 
'''Solution''',  in this case for SUSE 11.3:
 
[[yast]] -i libxml-devel
 
 
 
=== libxml 2 ===
 
'''Symptom''', in this case from [[build]]ing [[xawtv]]:
 
Package libxml-2.0 was not found in the pkg-config search path.
 
Perhaps you should add the directory containing `libxml-2.0.pc'
 
to the PKG_CONFIG_PATH environment variable
 
No package 'libxml-2.0' found
 
'''Solution''', in this case for SUSE 11.3:
 
[[yast]] -i libxml2-devel
 
 
 
=== libXp ===
 
'''Symptom''', in this case from [[build]]ing [[xawtv]]:
 
/usr/bin/ld: cannot find -lXp
 
'''Solution''', in this case for Ubuntu 11.10:
 
apt-get [[install]] libxp-dev
 
 
 
=== libpng ===
 
'''Symptom''', in this case from [[build]]ing [[xawtv]]:
 
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: cannot find -lpng
 
collect2: ld returned 1 exit status
 
make: *** [console/scantv] Error 1
 
 
 
'''Solution''', in this case for SUSE 11.3:
 
linux-fhbd:~/xawtv # [[yast]] -i libpng14-devel
 
 
 
=== lua ===
 
'''Symptom''', in this case from [[build]]ing [[vlc]]:
 
configure: error: Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.
 
'''Solution''', in this case for SUSE 11.3:
 
[[yast]] -i lua-devel
 
 
 
=== mad ===
 
'''Symptom''', in this case from [[build]]ing [[vlc]]:
 
configure: error: Could not find libmad on your system: you may get it from http://www.underbit.com/products/mad/. Alternatively you can use --disable-mad to disable the mad plugin.
 
'''Solution''', in this case for SUSE Linux Enterprise Server 11:
 
[[yast]] -i libmad-devel
 
 
 
=== ncurses ===
 
'''Symptom''', in this case from [[build]]ing xawtv:
 
Oops: (n)curses library not found.  You need this one, please install.
 
'''Solution''', in this case for SUSE 11.3:
 
[[yast]] -i ncurses-devel
 
 
 
=== Net/DAV/Server.pm ===
 
'''Symptom:''' Trying to run a [[perl]] [[program]] you get the message:
 
Can't locate Net/DAV/Server.pm in @INC (@INC contains
 
  
'''Reason:''' Perl has a library of functions, and the module Net/DAV/Server.pm is missing there.
+
==== lircd start and start at boot time ====
 +
furka:~ # rclirc start
 +
Starting lircd (/dev/lirc0)                                          done
 +
furka:~ # chkconfig lirc on
  
'''Solution:''' Install Net/DAV/Server.pm as described under [[cpan]].
+
==== 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
  
=== pango ===
+
==== Trouble-Shooting ====
'''Symptom''':
+
* If you do NOT have a valid config file for your remote you might create one interactive using irrecord
<pre>
+
irrecord -d /dev/lirc0 file
/usr/include/gdk/gdktypes.h:37:25: fatal error: pango/pango.h: No such file or directory
+
* Remarks
compilation terminated.
+
** "file" is the output file
make: *** [gqcam.o] Error 1
+
** You should prefer to fetch a config file from http://www.lirc.org/remotes/
linux-noqb:~/gqcam-0.8 # cd /usr/include/
+
** I successfully tried http://lirc.sourceforge.net/remotes/technotrend/TV-Card
linux-noqb:/usr/include # find -iname "pango*"
 
./pango-1.0
 
./pango-1.0/pango
 
./pango-1.0/pango/pango-break.h
 
./pango-1.0/pango/pangoft2.h
 
./pango-1.0/pango/pango.h
 
[...]
 
</pre>
 
'''Solution''':
 
linux-noqb:/usr/include # cp -r /usr/include/pango-1.0/pango/ /usr/include/
 
  
=== popt ===
+
=== lirc to talk with vdr ===
'''Symptom''', in this case from building gphoto2:
+
* 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:
  * Cannot autodetect popt.h
+
  LIRC.Up        Up
'''Solution''', in this case for SUSE Linux:
+
LIRC.Down      Down
  [[yast]] -i popt-devel
+
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
  
=== pthread_create ===
+
* Restart VDR again to activate the new configuration
'''Symptom''', in this case from [[building]] http://svn.icmb.utexas.edu/svn/repository/trunk/zpub/sdkpub/usbkey_dlpd/macosx/d2xx/Samples/EEPROM/write/main.c
 
undefined reference to `pthread_create'
 
'''Solution''', in this case for SUSE Linux 12.1:
 
Add
 
-lpthread
 
to your [[compile]] parameters
 
  
=== python.h ===
+
== UNSORTED STUFF ==
'''Symptom''', in this case from setting up [[uniconvertor]]:
+
Auf dem Laptop Latitude D820 habe ich einen vdr installiert mit einer externen USB-Box TVii 660
src/modules/filter/streamfilter.c:24:20: fatal error: Python.h: No such file or directory
+
=== Installation of the DVB-S2 USB-Box ===
'''Solution''', in this case for SUSE Linux 12.1:
+
<TBD>
[[yast]] -i python-devel
+
=== 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.
  
=== qt ===
+
TBD We need / explain the following VDR plugins:
'''Symptom''', in this case from [[build]]ing [http://en.wikipedia.org/wiki/Quassel quassel]:
+
* xine
CMake Error at cmake/modules/FindQt4.cmake:1257 (MESSAGE):
+
* streamdev
  Qt qmake not found!
+
* libxineoutput
  
'''Reason''': You are missing the qt build environment
+
=== 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>
  
'''Solution''', in this case for SUSE Linux 11.4:
+
Passender /etc/sysconfig/vdr Auszug
[[yast]] -i libqt4-devel
+
  VDR_PLUGINS="streamdev"
  
=== serial ===
+
==== vdr-plugin-xineliboutput ====
'''Symptom:''' when calling a python program you get an error message like this:
+
With xineliboutput
  ImportError: No module named serial
+
  vlc tcp://localhost:37890
  
'''Solution:''' Install python's serial module, e.g. for SUSE Linux:
+
But how to switch the program using this connection?
yast -i python-pyserial
 
  
=== smtp error 450 ===
+
==== Best practice local access with <html><acronym title="On Screen Display">OSD</acronym></html>:
;Symptom: after [[setting up a mail server]] and sending mail via [[roundCube]] you get the following error message:
+
vdr-plugin-xine ====
SMTP Error (450): Failed to add recipient "whoever@domain.de" (4.1.8 <whoever@localhost>: Sender address rejected: Domain not found).
+
'''This is the recommended way if you want to watch TV on the computer where VDR is running.'''
;Solution: in [[roundcube]] set Settings -> Identities -> user -> Email to contain a correct domain as listed in /etc/postfix/main.cf
 
  
=== ssh does not work ===
+
Using the xine plugin (from repository PackMan) you could use xine for a complete VDR client (with full control over all menus).
'''Symptom:''' when calling a GUI program within an ssh -X session, you get an error message like this:
 
X Error of failed request:  BadAtom (invalid Atom parameter)
 
  Major opcode of failed request:  20 (X_GetProperty)
 
  Atom id in failed request:  0x17
 
  Serial number of failed request:  4
 
  Current serial number in output stream:  4
 
  
'''Solution:''' Exit the session, reconnect with ssh -Y
+
* install it:  
 +
yast -i vdr-plugin-xine
  
=== unknown filesystem smbfs ===
+
* Matching line in /etc/sysconfig/vdr (the plugin "remote" is optional and can be dropped, if you use lirc)
'''Symptom:''' When trying to mount a [[sambA]] share that is entered in [[fstab]] using the [[commAnd]]
+
  VDR_PLUGINS="remote xine"
mount -a
+
  VDR_PLUGIN_ARGS_remote="-i /dev/input/ir"
you get the error messages
+
  VDR_PLUGIN_ARGS_xine=""
unknown filesystem smbfs
 
'''Solution:''' replace "smbfs" in /etc/fstab by "cifs"
 
  
=== unary operator expected ===
+
* Restart VDR
'''Symptom''' when running a [[program]] you get an error message like
+
  /etc/init.d/vdr restart
test.sh: line 4: [: =: unary operator expected
 
  
'''Reason''' See [[what does "unary operator expected" mean]].
+
* start watching TV:
 +
xine vdr://
  
=== xclock not found ===
+
=== Remote Control ===
'''Symptom:''' You cannot call xclock. When you [[open a console]] and do it you get the message
+
TBD: translate de->en
xclock: command not found
+
==== TeVii S660 remote control is a bit painfull for me ====
'''Solution:''' [[Install]] xclock's [[package]], in this case with SUSE Linux 12.1:
+
Translation: <TBD>
yast -i xorg-x11
+
* 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!
  
=== Xlib ===
+
In den VDR bindet  man die Fernbedienung mit dem plugin remote ein.
'''Symptom''', in this case from [[build]]ing [[fsl]]:
+
Passender Auszug aus der /etc/sysconfig/vdr
error: X11/Xlib.h: No such file or directory
+
  VDR_PLUGINS="remote"
'''Solution''', in this case for CentOs 6:
+
  VDR_PLUGIN_ARGS_remote="-i /dev/input/ir
yum install libX11-devel
 
  
=== yasm ===
+
Die Berechtigungen für das IR-device (/dev/input/ir) müssen so eingestellt werden,  
'''Symptom''', in this case from [[build]]ing [[mplayer]]:
+
dass der VDR (Benutzer vdr) darauf Zugreifen darf.
Error: yasm not found, use --yasm='' if you really want to compile without 
+
  chown vdr:users /dev/input/ir
'''Solution''', in this case for SUSE Linux 11.3:
 
yast -i [http://en.wikipedia.org/wiki/Yasm yasm]
 
  
=== zlib ===
+
Die FB muss beim ersten Benutzen im VDR trainiert werden, wenn die Datei /etc/vdr/remote.conf nicht
'''Symptom''', in this case from [[build]]ing [[freeciv]]:
+
angepasst wird (Datei stelle ich bei Bedarf zur Verfügung :).
checking for gzgets in -lz... no
 
configure: error: Could not find zlib library.
 
'''Reason:''' Your '''''z'''''ipping library ''zlib'' is not [[install]]ed in a way that you can build [[software]] with [[dependencies]] on it. You need the development [[package]] of zlib.
 
  
'''Solution''', in this case for SUSE Linux:
+
=== openSUSE 11.2 package list sorted  by "vendor"  ===
  [[yast]] -i zlib-devel
+
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 =
 
= See also =
* [[dependencies]]
+
* [[watch TV]]
* [[troubleshooting]]
+
* http://packman.links2linux.de/package/vdr-plugin-xine/229857

Revision as of 21:11, 20 August 2012

Introduction

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 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

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

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

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
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