http://www.vdr-wiki.de/wiki/api.php?action=feedcontributions&user=93.104.28.73&feedformat=atom
VDR Wiki - Benutzerbeiträge [de]
2024-03-29T11:07:55Z
Benutzerbeiträge
MediaWiki 1.19.2
http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu
HDTV Installationsanleitung Ubuntu
2009-12-06T18:47:14Z
<p>93.104.28.73: </p>
<hr />
<div>== Installationsanleitung Ubuntu 9.04 ==<br />
<br />
Allgemeine Infos zu VDPAU findet man auf [http://wbreu.htpc-forum.de/vdpaukompendium/]<br />
<br />
=== Nvidia Installation ===<br />
Achtung: vorher alle nvidia/nv Pakete/Module deinstallieren<br />
<pre><br />
apt-get install build-essential xserver-xorg-dev xorg-dev<br />
/etc/init.d/gdm stop<br />
cd /home/deinkonto <br />
wget ftp://download.nvidia.com/XFree86/Linux-x86/185.19/NVIDIA-Linux-x86-185.19-pkg1.run #(oder neuer)<br />
sh *.run<br />
</pre><br />
<br />
==== /etc/X11/xorg.conf ====<br />
<pre><br />
Section "ServerLayout"<br />
Identifier "Layout0"<br />
Screen 0 "Screen0"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
InputDevice "Mouse0" "CorePointer"<br />
EndSection<br />
<br />
Section "Files"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "dbe"<br />
Load "extmod"<br />
Load "type1"<br />
Load "freetype"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
# generated from default<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/psaux"<br />
Option "Emulate3Buttons" "no"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
# generated from default<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Unknown"<br />
ModelName "Unknown"<br />
HorizSync 28.0 - 33.0<br />
VertRefresh 43.0 - 72.0<br />
Option "DPMS"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "nvidia"<br />
VendorName "NVIDIA Corporation"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Device0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
EndSection<br />
</pre><br />
<br />
gdm restarten und anschließend im '''/var/log/Xorg.0.log''' prüfen ob der Treiberr wirklich geladen wurde<br />
<pre><br />
/etc/init.d/gdm restart<br />
</pre><br />
<br />
==== vdpinfo ====<br />
<br />
Mit dem Tool kann man testen ob die vdpau Unterstützung funktioniert<br />
<br />
<pre><br />
cd /usr/local/src<br />
wget http://www.cs.rug.nl/~wladimir/vdpinfo/vdpinfo-0.0.5.tar.gz<br />
tar -xivf vdpinfo-0.0.5.tar.gz<br />
cd vdpinfo<br />
make<br />
cp vdpinfo /usr/local/bin<br />
</pre><br />
<br />
=== LIB Installation ===<br />
<pre><br />
apt-get install mercurial cvs subversion libncurses-dev zlib1g-dev<br />
apt-get install autoconf libtool automake pkg-config gettext unrar<br />
apt-get install liba52-0.7.4-dev libmp3lame-dev libvorbis-dev libpng12-dev libx11-dev libxv-dev libasound2-dev<br />
</pre><br />
<br />
=== Treiber Installation ===<br />
<pre><br />
cd /usr/local/src<br />
hg clone http://mercurial.intuxication.org/hg/s2-liplianin/<br />
cd s2-liplianin<br />
cd linux/include/linux<br />
ln -s /usr/src/linux-headers-`uname -r`/include/linux/compiler.h ./<br />
cd ../../../<br />
make<br />
make install<br />
depmod -a<br />
reboot<br />
</pre><br />
<br />
=== Firmware Installation (unterschiedlich je nach Karte) ===<br />
==== TT-S2-1600 ====<br />
<pre><br />
cd /usr/src<br />
hg clone http://powarman.dyndns.org/hg/v4l-dvb<br />
cd v4l-dvb<br />
make<br />
make install<br />
</pre><br />
<br />
==== TeVii S470 / TBS 6920 (DVB-S2 PCI-E) ====<br />
<pre><br />
cd /usr/local/src<br />
wget http://www.tbsdtv.com/download/tbs6920_8920_v23_linux_x86_x64.rar<br />
unrar x tbs6920_8920_v23_linux_x86_x64.rar<br />
tar xivf linux-s2api-tbs6920-8920-v23.tar.gz<br />
cd linux-s2api-tbs6920-8920-v23<br />
make<br />
make install<br />
<br />
#firmware runterladen von http://www.vdr-portal.de/board/thread.php?threadid=86740<br />
tar xvzf firmware.tar.gz<br />
cp dvb-fe-cx24116.fw /lib/firmware/<br />
<br />
# bei meiner Tivii S470 musste die Firmware umbenannt werden:<br />
cp /lib/firmware/dvb-fe-cx24116.fw /lib/firmware/dvb-fe-ds3000.fw<br />
</pre><br />
<br />
==== Nova-HD-S2 ====<br />
<pre><br />
cd /usr/local/src<br />
apt-get install unrar -y<br />
rm /lib/firmware/dvb-fe-c*<br />
cd /usr/local/src<br />
wget http://www.hauppauge.de/software/mce/88x_2_122_26109_WHQL.zip<br />
unzip -jo 88x_2_122_26109_WHQL.zip Driver88/hcw88bda.sys<br />
dd if=hcw88bda.sys of=dvb-fe-cx26109.fw skip=75504 bs=1 count=32501<br />
cp dvb-fe-cx26109.fw /lib/firmware/<br />
ln -s /lib/firmware/dvb-fe-cx26109.fw /lib/firmware/dvb-fe-cx24116.fw<br />
</pre><br />
<br />
=== ffmpeg ===<br />
<pre><br />
cd /usr/local/src<br />
apt-get install build-essential checkinstall<br />
apt-get install mercurial cvs subversion git-core libncurses-dev<br />
apt-get install autoconf libtool automake pkg-config gettext<br />
apt-get install liba52-0.7.4-dev libmp3lame-dev libvorbis-dev zlib1g-dev libpng12-dev libx11-dev libxv-dev libxvmc-dev libasound2-dev libmpcdec-dev<br />
apt-get install yasm<br />
apt-get build-dep ffmpeg<br />
git clone git://git.videolan.org/x264.git<br />
cd x264<br />
./configure --prefix=/usr --enable-pic --enable-shared --enable-pthread --enable-asm --extra-cflags="-mtune=native -march=native -mfpmath=sse -O4 -pipe"<br />
make<br />
make install<br />
ldconfig -v<br />
cd /usr/local/src<br />
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg<br />
cd ffmpeg/<br />
./configure --prefix=/usr --enable-shared --enable-gpl --enable-postproc --enable-libmp3lame --enable-libvorbis --enable-pthreads --enable-libx264 --extra-cflags="-mtune=native -march=native -mfpmath=sse -O4 -pipe"<br />
make<br />
make install<br />
ldconfig –v<br />
</pre><br />
<br />
=== xine plugin ===<br />
<pre><br />
cd /usr/local/src<br />
wget http://home.vr-web.de/~rnissl/vdr-xine-0.9.3.tgz<br />
tar xivf vdr-xine-0.9.3.tgz <br />
</pre><br />
<br />
<br />
<br />
=== Xine ===<br />
<pre><br />
apt-get remove --purge libxine1 libxine1-bin libxine1-console libxine1-misc-plugins libxine1-x libxine1-doc<br />
</pre><br />
<br />
'''Achtung!''' vorher prüfen, ob es in /usr/lib/xine oder /usr/local/lib/xine bereits plugins gibt, ''./configure --prefix=/usr'' ggfs. entsprechend anpassen. Nach der Installation prüfen, ob im lib Verzeichnis die plugins vorhanden sind<br />
<br />
<pre><br />
cd /usr/local/src<br />
svn co svn://jusst.de/xine-vdpau<br />
cd xine-vdpau <br />
<br />
## vi ./src/combined/ffmpeg/ff_video_decoder.c<br />
## "dort gibt es 2 Einträge mit RGBA32 dies ändern in RGB32"<br />
<br />
find ../xine-0.9.3 -name xine-lib.patch -exec patch -p1 -i \{} \; <br />
<br />
./autogen.sh<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
ldconfig -v<br />
</pre><br />
<br />
Sollte "make install" fehlschlagen, hilft evtl. dieser Patch hier: http://bugs.xine-project.org/attachment.cgi?id=144&action=diff<br />
<br />
=== Xine-UI ===<br />
<pre><br />
cd /usr/local/src<br />
apt-get install libxt-dev libpostproc-dev liblircclient-dev<br />
apt-get install libxft2 libxft-dev<br />
wget http://home.vrweb.de/~rnissl/xine-ui-cvs-20090617220000.tar.bz2<br />
tar xivf xine-ui-cvs-20090617220000.tar.bz2<br />
cd xine-ui<br />
./autogen.sh --prefix=/usr --enable-vdr-keys<br />
make<br />
make install<br />
</pre><br />
<br />
=== Xine Installation prüfen ===<br />
<br />
Bei "Videoausgabe" muß "vdpau" vorhanden sein!<br />
<pre><br />
xine --list-plugins<br />
<br />
Dies ist xine (X11 gui) - Ein freier Video-Player v0.99.6cvs.<br />
(c) 2000-2007 Das xine Team.<br />
<br />
Verfügbare xine-Plugins:<br />
-Audioausgabe:<br />
alsa, oss, esd, file, none.<br />
<br />
-Videoausgabe:<br />
vdpau, dxr3, aadxr3, xv, raw, SyncFB, opengl, xshm, aa, caca, xxmc, none,<br />
sdl, vidix, vidixfb, fb, xvmc.<br />
<br />
-Demuxer:<br />
xvdr, anx, nsv, yuv4mpeg2, mpeg_block, matroska, ogg, pva, iff, mpeg-ts,<br />
avi, quicktime, wve, idcin, ipmovie, vqa, wc3movie, roq, str, film,<br />
smjpeg, fourxm, vmd, flashvideo, fli, real, asf, aud, aiff, flac, nsf,<br />
realaudio, snd, tta, voc, vox, mpeg_pes, slave, mpeg, ac3, dts, cdda, wav,<br />
mpc, rawdv, vc1es, mp3, shn, yuv_frames, elem, sputext, aac.<br />
<br />
-Eingang:<br />
CD, VCDO, rtp, DVD, stdin, VDR, pnm, VCD, v4l_radio, v4l_tv, rtsp, FILE,<br />
DVB, http, tcp, xvdr, mms, pvr.<br />
<br />
-Untertitel:<br />
dxr3-spudec, spudec, spudvb, spucc, spucmml, sputext.<br />
<br />
-Nachbearbeitung:<br />
vdr, goom, switch, mosaico, upmix, upmix_mono, stretch, volnorm, warp,<br />
swscale, expand, fill, invert, eq, denoise3d, boxblur, eq2, unsharp, pp,<br />
noise, oscope, fftscope, fftgraph, autocrop, tvtime, audiochannel,<br />
vdr_video, vdr_audio.<br />
<br />
-Audiodecoder:<br />
gsm610, mad, ffmpegaudio, realadec, vorbis, a/52, nsf, speex, mpc,<br />
dvaudio, pcm, dts, faad.<br />
<br />
-Videodecoder:<br />
dxr3-mpeg2, vdpau_mpeg12, vdpau_vc1, mpeg2, realvdec, vdpau_h264,<br />
ffmpegvideo, theora, bitplane, yuv, rgb, ffmpeg-wmv8, ffmpeg-wmv9.<br />
<br />
</pre><br />
<br />
=== VDR 1.7.9 ===<br />
<pre><br />
cd /usr/local/src<br />
apt-get install libfreetype6-dev libfontconfig1-dev libjpeg62-dev libcap-dev libncurses5-dev libncursesw5-dev libbz2-dev ethtool<br />
wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.9.tar.bz2<br />
tar xivf vdr-1.7.9.tar.bz2<br />
cd vdr-1.7.9<br />
mv /usr/local/src/xine-0.9.3 PLUGINS/src/xine<br />
</pre><br />
<br />
==== Make.config ====<br />
<pre><br />
#<br />
# User defined Makefile options for the Video Disk Recorder<br />
#<br />
# Copy this file to 'Make.config' and change the parameters as necessary.<br />
#<br />
# See the main source file 'vdr.c' for copyright information and<br />
# how to reach the author.<br />
#<br />
# $Id: Make.config.template 2.0 2008/01/13 12:54:09 kls Exp $<br />
<br />
### The C compiler and options:<br />
<br />
CC = gcc<br />
CFLAGS = -g -O2 -Wall<br />
<br />
CXX = g++<br />
CXXFLAGS = -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses<br />
<br />
ifdef PLUGIN<br />
CFLAGS += -fPIC<br />
CXXFLAGS += -fPIC<br />
DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE<br />
endif<br />
<br />
### The directory environment:<br />
DVBDIR = /usr/local/src/s2-liplianin/linux<br />
MANDIR = /usr/man<br />
BINDIR = /usr/bin<br />
<br />
LOCDIR = /usr/share/locale<br />
PLUGINDIR= ./PLUGINS<br />
PLUGINLIBDIR= /usr/lib/vdr/plugins<br />
VDRSCRIPTDIR= /usr/lib/vdr/scripts<br />
VIDEODIR = /var/lib/video.00<br />
CONFDIR = /etc/vdr/<br />
<br />
<br />
### The remote control:<br />
<br />
LIRC_DEVICE = /dev/lircd<br />
RCU_DEVICE = /dev/ttyS1<br />
<br />
## Define if you want vdr to not run as root<br />
#VDR_USER = vdr<br />
</pre><br />
<br />
Vorbereitung:<br />
<pre><br />
mkdir /var/lib/video.00<br />
mkdir -p /usr/lib/vdr/plugins<br />
mkdir -p /usr/lib/vdr/scripts<br />
mkdir -p /etc/vdr/plugins<br />
make<br />
make plugins<br />
make i18n<br />
make install<br />
locale-gen de_DE.UTF-8 de_DE<br />
dpkg-reconfigure locales<br />
cp -a svdrpsend.pl /usr/bin<br />
cp *.conf /etc/vdr/<br />
</pre><br />
<br />
==== Troubleshooting ====<br />
Wer Probleme hat in der Art:<br />
<br />
dvbdevice.c: In constructor âcDvbDevice::cDvbDevice(int)â:<br />
dvbdevice.c:487: error: âFE_CAN_2G_MODULATIONâ was not declared in this scope<br />
<br />
<pre><br />
# vi /usr/include/linux/dvb/frontend.h<br />
- FE_HAS_EXTENDED_CAPS = 0x800000, // We need more bitspace for newer APIs, indicate this.<br />
- FE_NEEDS_BENDING = 0x20000000, // not supported anymore, don't use (frontend requires frequency bending)<br />
+ FE_HAS_EXTENDED_CAPS = 0x800000, // We need more bitspace for newer APIs, indicate this.<br />
+ FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */<br />
+ FE_NEEDS_BENDING = 0x20000000, // not supported anymore, don't use (frontend requires frequency bending)<br />
</pre><br />
<br />
=== Xineliboutput plugin ===<br />
==== bis vdr-1.7.3 ====<br />
<pre><br />
cd /usr/local/src/vdr-1.7.x/PLUGINS/src<br />
wget http://downloads.sourceforge.net/project/xineliboutput/xineliboutput/vdr-xineliboutput-1.0.4/vdr-xineliboutput-1.0.4.tar.bz2<br />
tar xivf vdr-xineliboutput-1.0.4.tar.bz2<br />
<br />
mv xineliboutput* xineliboutput<br />
cd ../..<br />
make plugins<br />
make install<br />
cd PLUGINS/src/xineliboutput<br />
make<br />
make install<br />
mkdir -p /etc/vdr/plugins/xineliboutput<br />
cp *.mpg /etc/vdr/plugins/xineliboutput/<br />
cd ../../../<br />
make plugins<br />
make install<br />
</pre><br />
<br />
==== ab vdr-1.7.4 ====<br />
<pre><br />
cd /usr/local/src/vdr-1.7.9/PLUGINS/src<br />
apt-get install libextractor-dev<br />
cvs -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput login<br />
cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co -P vdr-xineliboutput<br />
<br />
mv vdr-xineliboutput* xineliboutput<br />
cd ../..<br />
make plugins<br />
make install<br />
cd PLUGINS/src/xineliboutput<br />
make<br />
make install<br />
mkdir -p /etc/vdr/plugins/xineliboutput<br />
cp *.mpg /etc/vdr/plugins/xineliboutput/<br />
cd ../../../<br />
make plugins<br />
make install<br />
</pre><br />
<br />
=== Xine plugin ===<br />
<pre><br />
cd /usr/local/src/vdr-1.7.9/PLUGINS/src/xine/data<br />
mkdir -p /etc/vdr/plugins/xine<br />
cp *.mpg /etc/vdr/plugins/xine<br />
</pre><br />
<br />
=== Scripts ===<br />
==== /var/bin/runvdr ====<br />
<pre><br />
#!/bin/bash<br />
<br />
export VDR_LANG=de_DE<br />
export VDR_CHARSET_OVERRIDE="ISO-8859-15"<br />
export LANG="de_DE"<br />
export LC_COLLATE="de_DE"<br />
export LC_ALL="de_DE"<br />
<br />
PATH=/usr/local/bin:$PATH<br />
<br />
/usr/bin/amixer set 'IEC958',1 unmute<br />
<br />
/usr/bin/touch /var/lib/video.00/.update<br />
<br />
VDRPRG="/usr/bin/vdr"<br />
VDRCMD="/usr/bin/vdr -c /etc/vdr -v /var/lib/video.00 -E /var/vdr -l 3 --user=root --lirc=/dev/null \<br />
-s /var/bin/vdrpoweroff -P'xineliboutput -l none -r 37890 -p' -P'xine -r' $*"<br />
<br />
<br />
KILL="/usr/bin/killall -q -TERM"<br />
<br />
# Detect whether the DVB driver is already loaded<br />
# and return 0 if it *is* loaded, 1 if not:<br />
DriverLoaded()<br />
{<br />
return 1<br />
}<br />
<br />
# Load all DVB driver modules needed for your hardware:<br />
LoadDriver ()<br />
{<br />
<br />
return 0<br />
<br />
}<br />
<br />
# Unload all DVB driver modules loaded in LoadDriver():<br />
UnloadDriver ()<br />
{<br />
<br />
return 0<br />
<br />
}<br />
<br />
# Load driver if it hasn't been loaded already:<br />
if ! DriverLoaded; then<br />
LoadDriver<br />
fi<br />
<br />
while (true) do<br />
eval "$VDRCMD"<br />
if test $? -eq 0 -o $? -eq 2; then exit; fi<br />
echo "`date` reloading DVB driver"<br />
$KILL $VDRPRG<br />
sleep 10<br />
UnloadDriver<br />
LoadDriver<br />
echo "`date` restarting VDR"<br />
done<br />
</pre><br />
<br />
==== /var/bin/vdrpoweroff ====<br />
<pre><br />
#!/bin/bash<br />
/sbin/poweroff<br />
</pre><br />
<br />
==== /etc/init.d/vdr ====<br />
<pre><br />
#!/bin/bash<br />
### BEGIN INIT INFO<br />
# Provides: VDR<br />
# Required-Start: $network<br />
# Required-Stop: $network<br />
# Default-Start: 3 5<br />
# Default-Stop: 0 1 2 6<br />
# Description: Start, Stop or Restart VDR<br />
### END INIT INFO<br />
<br />
# Shell functions sourced from /etc/rc.status:<br />
# set -e<br />
# Reset status of this service<br />
# rc_reset<br />
<br />
#<br />
case "$1" in<br />
start)<br />
echo -n "Starting VDR "<br />
/usr/sbin/ethtool -s eth0 wol g<br />
/var/bin/runvdr > /var/log/vdr.log &<br />
sleep 5<br />
/usr/local/bin/switchtv<br />
;;<br />
stop)<br />
echo -n "Shutting down VDR "<br />
/usr/local/bin/switchtv kill<br />
;;<br />
restart)<br />
echo -n "Restart VDR "<br />
$0 stop<br />
sleep 5<br />
$0 start<br />
;;<br />
*)<br />
echo "Usage: $0 {start|stop|restart}"<br />
exit 1<br />
;;<br />
esac<br />
# rc_exit<br />
exit 0<br />
<br />
</pre><br />
<br />
<pre><br />
update-rc.d vdr defaults<br />
</pre><br />
<br />
==== /var/bin/vdrwakealarm ====<br />
<br />
<pre><br />
#!/bin/sh<br />
<br />
DEV=/sys/class/rtc/rtc0/wakealarm<br />
<br />
if [ -z "$1" ];then<br />
wakeuptime=$(/usr/local/bin/svdrpsend.pl -d localhost NEXT abs|grep 250 |cut -f3 -d' '|tr -d '\r')<br />
else<br />
wakeuptime=$1<br />
fi<br />
<br />
echo ""<br />
echo "initialisiere Wakeup ..."<br />
echo 0 > $DEV<br />
echo "setze Timer $wakeuptime ..."<br />
echo $wakeuptime > $DEV<br />
echo ""<br />
echo "naechster Timer abzgl. 2h:"<br />
echo "-------------------------"<br />
<br />
ALARM_DATE=$(cat /proc/driver/rtc | grep alrm_date )<br />
ALARM_TIME=$(cat /proc/driver/rtc | grep alrm_time )<br />
<br />
echo "$ALARM_DATE"<br />
echo "$ALARM_TIME"<br />
echo ""<br />
<br />
TEST=$(echo $ALARM_DATE|grep '\*\*')<br />
<br />
if [ -n "$TEST" ];then<br />
echo "**** ERROR: Wakeup nicht korrekt ... ****"<br />
echo "**** neuer Wakeup in 4h ****"<br />
wakeuptime=$(date +%s)<br />
wakeuptime=$((wakeuptime+14400))<br />
$0 $wakeuptime<br />
fi<br />
</pre><br />
<br />
==== /usr/local/bin/switchtv ====<br />
mit Umschaltung zu XBMC<br />
<br />
<pre><br />
#!/bin/bash<br />
DEFAULT=run_vdrxine<br />
<br />
if [ -n "`/bin/pidof switchtv`" ];then<br />
echo "switchtv already running ..."<br />
exit 0<br />
fi<br />
<br />
run_vdr() {<br />
$DEFAULT<br />
}<br />
<br />
run_vdrxineliboutput() {<br />
/usr/bin/xinit -e /usr/bin/vdr-sxfe --video=vdpau --post tvtime:method=use_vo_driver --audio=alsa --fullscreen --reconnect $@ &<br />
}<br />
<br />
run_vdrxine() {<br />
/usr/bin/xinit -e /usr/bin/xine -I -V vdpau -f -r anamorphic --post vdr_video --post vdr_audio --post upmix_mono --post vdr --verbose=2 vdr:/tmp/vdr-xine/stream#demux:mpeg_pes &<br />
}<br />
<br />
run_xbmc() {<br />
if [ -f /usr/share/xbmc/xbmc.bin ];then<br />
/usr/local/bin/scanvdr &<br />
/usr/bin/xinit -e /usr/share/xbmc/xbmc.bin -fs $@ &<br />
else<br />
/etc/init.d/vdr restart<br />
fi<br />
}<br />
<br />
kill_apps() {<br />
killall -w -9 vdr-sxfe 2>/dev/null<br />
killall -w -9 xterm 2>/dev/null<br />
killall -w -9 runvdr 2>/dev/null<br />
killall -w -9 vdr 2>/dev/null<br />
killall -w -9 xine 2>/dev/null<br />
killall -w -9 xbmc 2>/dev/null<br />
killall -w -9 xbmc.bin 2>/dev/null<br />
killall -w -9 scanvdr 2>/dev/null<br />
killall -w -9 irexec 2>/dev/null<br />
killall -w -9 xinit 2>/dev/null<br />
}<br />
<br />
if [ "$1" = "xbmc" ];then<br />
kill_apps<br />
/usr/bin/irexec -d /etc/irexec.conf<br />
run_xbmc<br />
elif [ "$1" = "vdr" ];then<br />
kill_apps<br />
/usr/bin/irexec -d /etc/irexec.conf<br />
/etc/init.d/vdr start<br />
elif [ "$1" = "kill" ];then<br />
kill_apps<br />
elif [ -z "$1" ];then<br />
killall -9 irexec 2>/dev/null<br />
run_vdr<br />
/usr/bin/irexec -d /etc/irexec.conf<br />
fi<br />
<br />
exit 0<br />
<br />
</pre><br />
<br />
=== Script permissions anpassen ===<br />
<pre><br />
chmod 755 /usr/local/bin/switchtv<br />
chmod 755 /etc/init.d/vdr<br />
chmod 755 /var/bin/runvdr<br />
chmod 755 /var/bin/vdrpoweroff<br />
chmod 775 /var/bin/vdrwakealarm<br />
</pre><br />
<br />
=== Wakeup ===<br />
<br />
Wenn das Wakeup nicht funktioniert, dann bitte http://www.mythtv.org/wiki/ACPI_Wakeup#Disable_hwclock_updates lesen<br />
<br />
=== X ===<br />
'''/etc/init.d/gdm disablen:'''<br />
<pre><br />
update-rc.d gdm remove<br />
</pre><br />
<br />
'''/etc/X11/Xwrapper.config'''<br />
<br />
Diese Zeile <br />
allowed_users=console<br />
ändern in <br />
allowed_users=anybody<br />
<br />
'''/etc/X11/xorg.conf'''<br />
<pre><br />
# nvidia-xconfig: X configuration file generated by nvidia-xconfig<br />
# nvidia-xconfig: version 1.0 (buildmeister@builder63) Fri Apr 3 13:01:52 PST 2009<br />
<br />
<br />
Section "ServerLayout"<br />
Identifier "Layout0"<br />
Screen 0 "Screen0" 0 0<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
InputDevice "Mouse0" "CorePointer"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
<br />
# generated from default<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/psaux"<br />
Option "Emulate3Buttons" "no"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
<br />
# generated from default<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "Monitor"<br />
<br />
# VendorName "Unknown"<br />
# ModelName "Unknown"<br />
Identifier "Monitor0"<br />
#HorizSync 15.0 - 68.0<br />
HorizSync 15.0 - 75.0<br />
VertRefresh 23.0 - 61.0<br />
Option "DPMS"<br />
Option "ExactModeTimingsDVI" "True"<br />
Option "UseDisplayDevice" "DFP-0"<br />
Option "UseEDIDFreqs" "False"<br />
<br />
# 1920x1080p @ 50Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 60Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@60" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 24Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 23.976Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080i @ 50Hz (EIA/CEA-861B)<br />
Modeline "1920x1080@50i" 74.250 1920 2448 2492 2640 1080 1085 1095 1125 +hsync +vsync Interlace<br />
<br />
# 1920x1080i @ 60Hz (EIA/CEA-861B)<br />
Modeline "1920x1080@60i" 74.250 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace<br />
<br />
# 1920x1080p @ 59.94Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@59.94" 148.350 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080i @ 59.94Hz (EIA/CEA-861B)<br />
Modeline "1920x1080@59.94i" 74.175 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace<br />
<br />
# 1920x1080p @ 25Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@25" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 29.97Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@29.97" 74.175 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 30Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@30" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "nvidia"<br />
VendorName "NVIDIA Corporation"<br />
Option "CustomEdid" "DFP-0:/etc/X11/edid.bin"<br />
Option "ConnectedMonitor" "DFP-0"<br />
Option "UseDisplayDevice" "DFP-0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Device0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
Option "NoLogo"<br />
Option "DynamicTwinView" "false"<br />
Option "AllowGLXWithComposite" "True"<br />
Option "AddARGBVisuals" "True"<br />
Option "AddARGBGLXVisuals" "True"<br />
Option "NoLogo" "False"<br />
Option "RenderAccel" "True"<br />
Option "UseEvents" "True"<br />
Option "TripleBuffer" "True"<br />
Option "ExactModeTimingsDVI" "True"<br />
Option "FlatPanelProperties" "Scaling = Native"<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1920x1080@50" "1920x1080@24"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "extmod"<br />
Load "glx"<br />
#Load "v4l"<br />
EndSection<br />
</pre><br />
<br />
=== Lirc ===<br />
<br />
apt-get install lirc lirc-modules-source<br />
<br />
==== /etc/lirc/hardware.conf ====<br />
(nur für Nova-HD-S2 IR Empfänger!)<br />
<pre><br />
# /etc/lirc/hardware.conf<br />
#<br />
#Chosen Remote Control<br />
REMOTE="Hauppauge Nova-HD-S2"<br />
REMOTE_MODULES=""<br />
REMOTE_DRIVER="devinput"<br />
TEMPIREVENT=`ls /dev/input/by-path/ |grep event-ir`<br />
REMOTE_DEVICE="/dev/input/by-path/$TEMPIREVENT"<br />
REMOTE_LIRCD_CONF="/etc/lircd.conf"<br />
REMOTE_LIRCD_ARGS=""<br />
<br />
#Chosen IR Transmitter<br />
TRANSMITTER="None"<br />
TRANSMITTER_MODULES=""<br />
TRANSMITTER_DRIVER=""<br />
TRANSMITTER_DEVICE=""<br />
TRANSMITTER_LIRCD_CONF=""<br />
TRANSMITTER_LIRCD_ARGS=""<br />
<br />
#Enable lircd<br />
START_LIRCD="true"<br />
<br />
#Don't start lircmd even if there seems to be a good config file<br />
#START_LIRCMD="false"<br />
<br />
#Try to load appropriate kernel modules<br />
LOAD_MODULES=""<br />
<br />
# Default configuration files for your hardware if any<br />
LIRCMD_CONF=""<br />
<br />
#Forcing noninteractive reconfiguration<br />
#If lirc is to be reconfigured by an external application<br />
#that doesn't have a debconf frontend available, the noninteractive<br />
#frontend can be invoked and set to parse REMOTE and TRANSMITTER<br />
#It will then populate all other variables without any user input<br />
#If you would like to configure lirc via standard methods, be sure<br />
#to leave this set to "false"<br />
FORCE_NONINTERACTIVE_RECONFIGURATION="false"<br />
START_LIRCMD=""<br />
</pre><br />
<br />
==== /etc/lircd.conf ====<br />
(nur für Nova-HD-S2 IR Empfänger!)<br />
<pre><br />
# Please make this file available to others<br />
# by sending it to <lirc@bartelmus.de><br />
#<br />
# this config file was automatically generated<br />
# using lirc-0.8.4a(default) on Sun Aug 30 19:33:29 2009<br />
#<br />
# contributed by<br />
#<br />
# brand: ./test<br />
# model no. of remote control:<br />
# devices being controlled by this remote:<br />
#<br />
<br />
begin remote<br />
<br />
name Nova-HD-S2<br />
bits 13<br />
flags RC5|CONST_LENGTH<br />
eps 30<br />
aeps 100<br />
<br />
one 915 854<br />
zero 915 854<br />
plead 951<br />
gap 112860<br />
toggle_bit_mask 0x800<br />
<br />
begin codes<br />
OK 0x17A5<br />
Left 0x1796<br />
Right 0x1797<br />
Up 0x1794<br />
Down 0x1795<br />
Power 0x17BD<br />
Go 0x17BB<br />
TV 0x179C<br />
Videos 0x1798<br />
Music 0x1799<br />
Pictures 0x179A<br />
Guide 0x179B<br />
Radio 0x178C<br />
Back 0x179F<br />
Menu 0x178D<br />
Volume+ 0x1790<br />
Volume- 0x1791<br />
Ch+ 0x17A0<br />
Ch- 0x17A1<br />
Mute 0x178F<br />
PrevCh 0x1792<br />
Pause 0x17B0<br />
Play 0x17B5<br />
Stop 0x17B6<br />
Next 0x179E<br />
Prev 0x17A4<br />
Forward 0x17B4<br />
Rewind 0x17B2<br />
0 0x1780<br />
1 0x1781<br />
2 0x1782<br />
3 0x1783<br />
4 0x1784<br />
5 0x1785<br />
6 0x1786<br />
7 0x1787<br />
8 0x1788<br />
9 0x1789<br />
Red 0x178B<br />
Green 0x17AE<br />
Yellow 0x17B8<br />
Blue 0x17A9<br />
* 0x178A<br />
# 0x178E<br />
end codes<br />
<br />
end remote<br />
</pre><br />
<br />
==== /etc/irexec.conf ====<br />
<pre><br />
begin<br />
prog = irexec<br />
remote = NOVA-HD-S2<br />
button = Go<br />
config = /usr/local/bin/switchtv xbmc & \n<br />
end<br />
begin<br />
prog = irexec<br />
remote = NOVA-HD-S2<br />
button = TV<br />
config = /usr/local/bin/switchtv vdr & \n<br />
end<br />
</pre><br />
<br />
==== /etc/vdr/remote.conf ====<br />
<pre><br />
LIRC.Info Guide<br />
LIRC.Audio Music<br />
LIRC.Pause Pause<br />
LIRC.Play Play<br />
LIRC.Stop Stop<br />
LIRC.Next Next<br />
LIRC.Prev Prev<br />
LIRC.FastFwd Forward<br />
LIRC.FastRew Rewind<br />
LIRC.Schedule Pictures<br />
LIRC.Recordings Videos<br />
LIRC.0 PrevCh<br />
LIRC.Up Up<br />
LIRC.Down Down<br />
LIRC.Menu Menu<br />
LIRC.Ok OK<br />
LIRC.Back Back<br />
LIRC.Left Left<br />
LIRC.Right Right<br />
LIRC.Red Red<br />
LIRC.Green Green<br />
LIRC.Yellow Yellow<br />
LIRC.Blue Blue<br />
LIRC.0 0<br />
LIRC.1 1<br />
LIRC.2 2<br />
LIRC.3 3<br />
LIRC.4 4<br />
LIRC.5 5<br />
LIRC.6 6<br />
LIRC.7 7<br />
LIRC.8 8<br />
LIRC.9 9<br />
LIRC.Power Power<br />
LIRC.Volume+ Volume+<br />
LIRC.Volume- Volume-<br />
LIRC.Mute Mute<br />
LIRC.Channel+ Ch+<br />
LIRC.Channel- Ch-<br />
</pre><br />
<br />
=== Audio ===<br />
<br />
Vorsichthalber auf die neueste Alsa Version mit dem Script "AlsaUpgrade-1.0.x-rev-1.17.sh" [http://ubuntuforums.org/showthread.php?p=6589810 von hier] upgraden und anschließend neu booten<br />
<br />
'''Der User der vdr-sxfe startet muß(!) in der group "audio" sein'''<br />
<br />
mit '''aplay''' sieht man wo das Device (hier am Beispiel HDMI) konfiguriert ist (Card "'''0'''" Device "'''3'''")<br />
<pre><br />
aplay -l <br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: NVidia [HDA NVidia], device 0: ALC883 Analog [ALC883 Analog]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
</pre><br />
<br />
'''/etc/asound.conf'''<br />
<pre><br />
pcm.!default {<br />
type hw<br />
card 0<br />
device 3<br />
}<br />
</pre><br />
<br />
'''/etc/vdr/setup.conf''' (vdr muß vorher gestoppt sein)<br />
<pre><br />
xineliboutput.Audio.Port = hw:0,3<br />
xineliboutput.Audio.Speakers = Pass Through<br />
</pre><br />
<br />
'''~/.xine/config_xineliboutput'''<br />
<pre><br />
audio.device.alsa_front_device:default<br />
audio.device.alsa_passthrough_device:hw:0,3<br />
audio.device.alsa_surround51_device:default<br />
audio.output.speaker_arrangement:Pass Through<br />
audio.synchronization.av_sync_method:resample<br />
audio.synchronization.force_rate:48000<br />
audio.synchronization.resample_mode:on<br />
</pre><br />
<br />
=== Feintuning ===<br />
'''~/.xine/config'''<br />
<pre><br />
# Anzahl der Audiopuffer<br />
# numeric, default: 230<br />
engine.buffers.audio_num_buffers:250<br />
<br />
# Anzahl der Videopuffer<br />
# numeric, default: 500<br />
engine.buffers.video_num_buffers:2000<br />
engine.buffers.video_num_frames:22<br />
</pre><br />
<br />
=== XBMC ===<br />
<br />
==== /etc/apt/sources.list.d/xbmc.list ====<br />
<pre><br />
deb http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu jaunty main<br />
deb-src http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu jaunty main<br />
</pre><br />
<br />
==== Installation ====<br />
<pre><br />
apt-get update<br />
apt-get install xbmc<br />
</pre><br />
<br />
==== advancedsettings.xml (~/.xbmc/userdata) ====<br />
<pre><br />
<advancedsettings><br />
<moviestacking action="prepend"><br />
<regexp>custom[0-9]*</regexp><br />
</moviestacking><br />
</advancedsettings><br />
</pre><br />
<br />
==== Lircmap.xml (~/.xbmc/userdata) ====<br />
<pre><br />
<lircmap><br />
<remote device="Nova-HD-S2"><br />
<power>Power</power><br />
<info>Red</info><br />
<display>Green</display><br />
<title>Yellow</title><br />
<start>Blue</start><br />
<skipplus>SkipFwd</skipplus><br />
<skipminus>SkipBack</skipminus><br />
<channelplus>Ch+</channelplus><br />
<channelminus>Ch-</channelminus><br />
<skipplus>Next</skipplus><br />
<skipminus>Prev</skipminus><br />
<mymusic>Music</mymusic><br />
<mypictures>Pictures</mypictures><br />
<myTV>TV</myTV><br />
<myvideo>Videos</myvideo><br />
<up>Up</up><br />
<left>Left</left><br />
<right>Right</right><br />
<down>Down</down><br />
<up>Up</up><br />
<select>OK</select><br />
<menu>Menu</menu><br />
<play>Play</play><br />
<pause>Pause</pause><br />
<stop>Stop</stop><br />
<forward>FastFwd</forward><br />
<reverse>FastRew</reverse><br />
<back>Back</back><br />
<zero>0</zero><br />
<one>1</one><br />
<two>2</two><br />
<three>3</three><br />
<four>4</four><br />
<five>5</five><br />
<six>6</six><br />
<seven>7</seven><br />
<eight>8</eight><br />
<nine>9</nine><br />
</remote><br />
</lircmap><br />
</pre><br />
<br />
==== /usr/local/bin/scanvdr ====<br />
<pre><br />
#!/bin/bash<br />
<br />
VDR2JPEG="/usr/local/bin/vdr2jpeg"<br />
FFMPEG="/usr/bin/ffmpeg"<br />
IMGUSE="VDR2JPEG"<br />
<br />
VDRREC="/nas01/videos/vdr" # you may need to adjust this<br />
TVFILE="../tvshow.nfo"<br />
NFOFILE="001.nfo"<br />
<br />
DVDTHUMB="../folder.jpg"<br />
DVDOFFSETVDR="18000"<br />
DVDOFFSETSEC="5000"<br />
DVD_XRES="144"<br />
DVD_YRES="176"<br />
<br />
FANTHUMB="../fanart.jpg"<br />
FANOFFSETVDR="20000"<br />
FANOFFSETSEC="6000"<br />
FAN_XRES="1280"<br />
FAN_YRES="720"<br />
<br />
CHECKRUNNING=$(/bin/pidof -x $0|wc -w)<br />
<br />
if [ $CHECKRUNNING -gt 2 ];then<br />
echo "$CHECKRUNNING"<br />
echo "scanvdr already running ..."<br />
exit 0<br />
fi<br />
<br />
if [ "$1" = "-new" ];then<br />
echo "regenerating all files ..."<br />
find $VDRREC -name "*.jpg" -exec rm {} \;<br />
find $VDRREC -name "*.nfo" -exec rm {} \;<br />
elif [ -n "$1" ];then<br />
echo " Usage:"<br />
echo " $0"<br />
echo " - or -"<br />
echo " $0 -new"<br />
exit 0<br />
fi<br />
<br />
<br />
for i in $(find $VDRREC -name "info*" -type f)<br />
do<br />
VDRDIR=$(dirname $i)<br />
VDRINFO=$(basename $i)<br />
cd $VDRDIR<br />
<br />
if [ -f $VDRINFO ];then<br />
AIRED=$(basename $VDRDIR | awk -F'.' '{print $1}')<br />
DAUER=$(grep "^E " $VDRINFO | awk '{print $4/60}' | awk -F'.' '{print $1}')<br />
TITEL=$(grep "^T " $VDRINFO | sed "s/^T //")<br />
INHALT=$(grep "^D " $VDRINFO | sed "s/^D //")<br />
KURZTEXT=$(grep "^S " $VDRINFO | sed "s/^S //")<br />
if [ -z "$KURZTEXT" ];then<br />
KURZTEXT="$TITEL"<br />
fi<br />
fi<br />
<br />
echo "${TITEL}:"<br />
<br />
echo "creating database infos ..."<br />
<br />
COUNTREC=$(find .. -name "*.rec" | wc -l)<br />
COUNTRECTS=$(find .. -name "*.ts" | wc -l)<br />
let COUNTREC=COUNTREC+COUNTRECTS<br />
<br />
HTEXT=$(find .. -name $VDRINFO | sort -n | xargs cat | grep "^S " | sed "s/^S //")<br />
<br />
if [ -z "$HTEXT" ];then<br />
HTEXT="$DAUER min: $INHALT"<br />
elif [ "$COUNTREC" = "1" ];then<br />
HTEXT="[ ${HTEXT} ]<br />
$DAUER min: $INHALT"<br />
fi<br />
<br />
echo "<tvshow>" > $TVFILE<br />
echo "<title>$TITEL</title>" >> $TVFILE<br />
echo "<plot>$HTEXT</plot>" >> $TVFILE<br />
echo "</tvshow>" >> $TVFILE<br />
<br />
<br />
if [ ! -f $NFOFILE ];then<br />
<br />
echo "<episodedetails>" > $NFOFILE<br />
echo "<title>$KURZTEXT</title>" >> $NFOFILE<br />
echo "<rating></rating>" >> $NFOFILE<br />
echo "<season></season>" >> $NFOFILE<br />
echo "<episode></episode>" >> $NFOFILE<br />
echo "<plot>$DAUER min: $INHALT</plot>" >> $NFOFILE<br />
echo "<credits>VDR</credits>" >> $NFOFILE<br />
echo "<director></director>" >> $NFOFILE<br />
echo "<aired>$AIRED</aired>" >> $NFOFILE<br />
echo "<runtime>$DAUER min</runtime>" >> $NFOFILE<br />
echo "<actor></actor>" >> $NFOFILE<br />
echo "</episodedetails>" >> $NFOFILE<br />
<br />
fi<br />
<br />
if [ "$VDRINFO" = "info.vdr" ];then<br />
VIDEOFILE="001.vdr"<br />
else<br />
VIDEOFILE="00001.ts"<br />
fi<br />
<br />
if [ -f $VDR2JPEG ] && [ "$IMGUSE" = "VDR2JPEG" ] && [ "$VDRINFO" = "info.vdr" ];then<br />
<br />
if [ ! -f $DVDTHUMB ];then<br />
echo "creating DVD thumbnails ..."<br />
$VDR2JPEG -x $DVD_XRES= -y $DVD_YRES -f $DVDOFFSETVDR -r .<br />
mv 000${DVDOFFSETVDR}.jpg $DVDTHUMB<br />
fi<br />
<br />
if [ ! -f $FANTHUMB ];then<br />
echo "creating FANART thumbnails ..."<br />
$VDR2JPEG -x $FAN_XRES= -y $FAN_YRES -f $FANOFFSETVDR -r .<br />
mv 000${FANOFFSETVDR}.jpg $FANTHUMB<br />
fi<br />
<br />
elif [ -f $FFMPEG ];then<br />
<br />
if [ ! -f $DVDTHUMB ];then<br />
echo "creating DVD thumbnails ..."<br />
$FFMPEG -i $VIDEOFILE -itsoffset $DVDOFFSETSEC -s ${DVD_XRES}x${DVD_YRES} -f image2 -vframes 1 -y temp.jpg<br />
mv temp.jpg $DVDTHUMB<br />
fi<br />
<br />
if [ ! -f $FANTHUMB ];then<br />
echo "creating FANART thumbnails ..."<br />
$FFMPEG -i $VIDEOFILE -itsoffset $FANOFFSETSEC -s ${FAN_XRES}x${FAN_YRES} -f image2 -vframes 1 -y temp.jpg<br />
mv temp.jpg $FANTHUMB<br />
fi<br />
<br />
fi<br />
<br />
echo "---"<br />
<br />
done<br />
</pre><br />
<br />
[[Kategorie:Ubuntu]][[Kategorie:Installationsanleitungen]][[Kategorie:HDTV]]</div>
93.104.28.73
http://www.vdr-wiki.de/wiki/index.php/HDTV_Installationsanleitung_Ubuntu
HDTV Installationsanleitung Ubuntu
2009-12-06T15:04:51Z
<p>93.104.28.73: /* Feintuning */</p>
<hr />
<div>== Installationsanleitung Ubuntu 9.04 ==<br />
<br />
=== Nvidia Installation ===<br />
Achtung: vorher alle nvidia/nv Pakete/Module deinstallieren<br />
<pre><br />
apt-get install build-essential xserver-xorg-dev xorg-dev<br />
/etc/init.d/gdm stop<br />
cd /home/deinkonto <br />
wget ftp://download.nvidia.com/XFree86/Linux-x86/185.19/NVIDIA-Linux-x86-185.19-pkg1.run #(oder neuer)<br />
sh *.run<br />
</pre><br />
<br />
==== /etc/X11/xorg.conf ====<br />
<pre><br />
Section "ServerLayout"<br />
Identifier "Layout0"<br />
Screen 0 "Screen0"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
InputDevice "Mouse0" "CorePointer"<br />
EndSection<br />
<br />
Section "Files"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "dbe"<br />
Load "extmod"<br />
Load "type1"<br />
Load "freetype"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
# generated from default<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/psaux"<br />
Option "Emulate3Buttons" "no"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
# generated from default<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Unknown"<br />
ModelName "Unknown"<br />
HorizSync 28.0 - 33.0<br />
VertRefresh 43.0 - 72.0<br />
Option "DPMS"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "nvidia"<br />
VendorName "NVIDIA Corporation"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Device0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
EndSection<br />
</pre><br />
<br />
gdm restarten und anschließend im '''/var/log/Xorg.0.log''' prüfen ob der Treiberr wirklich geladen wurde<br />
<pre><br />
/etc/init.d/gdm restart<br />
</pre><br />
<br />
==== vdpinfo ====<br />
<br />
Mit dem Tool kann man testen ob die vdpau Unterstützung funktioniert<br />
<br />
<pre><br />
cd /usr/local/src<br />
wget http://www.cs.rug.nl/~wladimir/vdpinfo/vdpinfo-0.0.5.tar.gz<br />
tar -xivf vdpinfo-0.0.5.tar.gz<br />
cd vdpinfo<br />
make<br />
cp vdpinfo /usr/local/bin<br />
</pre><br />
<br />
=== LIB Installation ===<br />
<pre><br />
apt-get install mercurial cvs subversion libncurses-dev zlib1g-dev<br />
apt-get install autoconf libtool automake pkg-config gettext unrar<br />
apt-get install liba52-0.7.4-dev libmp3lame-dev libvorbis-dev libpng12-dev libx11-dev libxv-dev libasound2-dev<br />
</pre><br />
<br />
=== Treiber Installation ===<br />
<pre><br />
cd /usr/local/src<br />
hg clone http://mercurial.intuxication.org/hg/s2-liplianin/<br />
cd s2-liplianin<br />
cd linux/include/linux<br />
ln -s /usr/src/linux-headers-`uname -r`/include/linux/compiler.h ./<br />
cd ../../../<br />
make<br />
make install<br />
depmod -a<br />
reboot<br />
</pre><br />
<br />
=== Firmware Installation (unterschiedlich je nach Karte) ===<br />
==== TT-S2-1600 ====<br />
<pre><br />
cd /usr/src<br />
hg clone http://powarman.dyndns.org/hg/v4l-dvb<br />
cd v4l-dvb<br />
make<br />
make install<br />
</pre><br />
<br />
==== TeVii S470 / TBS 6920 (DVB-S2 PCI-E) ====<br />
<pre><br />
cd /usr/local/src<br />
wget http://www.tbsdtv.com/download/tbs6920_8920_v23_linux_x86_x64.rar<br />
unrar x tbs6920_8920_v23_linux_x86_x64.rar<br />
tar xivf linux-s2api-tbs6920-8920-v23.tar.gz<br />
cd linux-s2api-tbs6920-8920-v23<br />
make<br />
make install<br />
<br />
#firmware runterladen von http://www.vdr-portal.de/board/thread.php?threadid=86740<br />
tar xvzf firmware.tar.gz<br />
cp dvb-fe-cx24116.fw /lib/firmware/<br />
<br />
# bei meiner Tivii S470 musste die Firmware umbenannt werden:<br />
cp /lib/firmware/dvb-fe-cx24116.fw /lib/firmware/dvb-fe-ds3000.fw<br />
</pre><br />
<br />
==== Nova-HD-S2 ====<br />
<pre><br />
cd /usr/local/src<br />
apt-get install unrar -y<br />
rm /lib/firmware/dvb-fe-c*<br />
cd /usr/local/src<br />
wget http://www.hauppauge.de/software/mce/88x_2_122_26109_WHQL.zip<br />
unzip -jo 88x_2_122_26109_WHQL.zip Driver88/hcw88bda.sys<br />
dd if=hcw88bda.sys of=dvb-fe-cx26109.fw skip=75504 bs=1 count=32501<br />
cp dvb-fe-cx26109.fw /lib/firmware/<br />
ln -s /lib/firmware/dvb-fe-cx26109.fw /lib/firmware/dvb-fe-cx24116.fw<br />
</pre><br />
<br />
=== ffmpeg ===<br />
<pre><br />
cd /usr/local/src<br />
apt-get install build-essential checkinstall<br />
apt-get install mercurial cvs subversion git-core libncurses-dev<br />
apt-get install autoconf libtool automake pkg-config gettext<br />
apt-get install liba52-0.7.4-dev libmp3lame-dev libvorbis-dev zlib1g-dev libpng12-dev libx11-dev libxv-dev libxvmc-dev libasound2-dev libmpcdec-dev<br />
apt-get install yasm<br />
apt-get build-dep ffmpeg<br />
git clone git://git.videolan.org/x264.git<br />
cd x264<br />
./configure --prefix=/usr --enable-pic --enable-shared --enable-pthread --enable-asm --extra-cflags="-mtune=native -march=native -mfpmath=sse -O4 -pipe"<br />
make<br />
make install<br />
ldconfig -v<br />
cd /usr/local/src<br />
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg<br />
cd ffmpeg/<br />
./configure --prefix=/usr --enable-shared --enable-gpl --enable-postproc --enable-libmp3lame --enable-libvorbis --enable-pthreads --enable-libx264 --extra-cflags="-mtune=native -march=native -mfpmath=sse -O4 -pipe"<br />
make<br />
make install<br />
ldconfig –v<br />
</pre><br />
<br />
=== xine plugin ===<br />
<pre><br />
cd /usr/local/src<br />
wget http://home.vr-web.de/~rnissl/vdr-xine-0.9.3.tgz<br />
tar xivf vdr-xine-0.9.3.tgz <br />
</pre><br />
<br />
<br />
<br />
=== Xine ===<br />
<pre><br />
apt-get remove --purge libxine1 libxine1-bin libxine1-console libxine1-misc-plugins libxine1-x libxine1-doc<br />
</pre><br />
<br />
'''Achtung!''' vorher prüfen, ob es in /usr/lib/xine oder /usr/local/lib/xine bereits plugins gibt, ''./configure --prefix=/usr'' ggfs. entsprechend anpassen. Nach der Installation prüfen, ob im lib Verzeichnis die plugins vorhanden sind<br />
<br />
<pre><br />
cd /usr/local/src<br />
svn co svn://jusst.de/xine-vdpau<br />
cd xine-vdpau <br />
<br />
## vi ./src/combined/ffmpeg/ff_video_decoder.c<br />
## "dort gibt es 2 Einträge mit RGBA32 dies ändern in RGB32"<br />
<br />
find ../xine-0.9.3 -name xine-lib.patch -exec patch -p1 -i \{} \; <br />
<br />
./autogen.sh<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
ldconfig -v<br />
</pre><br />
<br />
Sollte "make install" fehlschlagen, hilft evtl. dieser Patch hier: http://bugs.xine-project.org/attachment.cgi?id=144&action=diff<br />
<br />
=== Xine-UI ===<br />
<pre><br />
cd /usr/local/src<br />
apt-get install libxt-dev libpostproc-dev liblircclient-dev<br />
apt-get install libxft2 libxft-dev<br />
wget http://home.vrweb.de/~rnissl/xine-ui-cvs-20090617220000.tar.bz2<br />
tar xivf xine-ui-cvs-20090617220000.tar.bz2<br />
cd xine-ui<br />
./autogen.sh --prefix=/usr --enable-vdr-keys<br />
make<br />
make install<br />
</pre><br />
<br />
=== Xine Installation prüfen ===<br />
<br />
Bei "Videoausgabe" muß "vdpau" vorhanden sein!<br />
<pre><br />
xine --list-plugins<br />
<br />
Dies ist xine (X11 gui) - Ein freier Video-Player v0.99.6cvs.<br />
(c) 2000-2007 Das xine Team.<br />
<br />
Verfügbare xine-Plugins:<br />
-Audioausgabe:<br />
alsa, oss, esd, file, none.<br />
<br />
-Videoausgabe:<br />
vdpau, dxr3, aadxr3, xv, raw, SyncFB, opengl, xshm, aa, caca, xxmc, none,<br />
sdl, vidix, vidixfb, fb, xvmc.<br />
<br />
-Demuxer:<br />
xvdr, anx, nsv, yuv4mpeg2, mpeg_block, matroska, ogg, pva, iff, mpeg-ts,<br />
avi, quicktime, wve, idcin, ipmovie, vqa, wc3movie, roq, str, film,<br />
smjpeg, fourxm, vmd, flashvideo, fli, real, asf, aud, aiff, flac, nsf,<br />
realaudio, snd, tta, voc, vox, mpeg_pes, slave, mpeg, ac3, dts, cdda, wav,<br />
mpc, rawdv, vc1es, mp3, shn, yuv_frames, elem, sputext, aac.<br />
<br />
-Eingang:<br />
CD, VCDO, rtp, DVD, stdin, VDR, pnm, VCD, v4l_radio, v4l_tv, rtsp, FILE,<br />
DVB, http, tcp, xvdr, mms, pvr.<br />
<br />
-Untertitel:<br />
dxr3-spudec, spudec, spudvb, spucc, spucmml, sputext.<br />
<br />
-Nachbearbeitung:<br />
vdr, goom, switch, mosaico, upmix, upmix_mono, stretch, volnorm, warp,<br />
swscale, expand, fill, invert, eq, denoise3d, boxblur, eq2, unsharp, pp,<br />
noise, oscope, fftscope, fftgraph, autocrop, tvtime, audiochannel,<br />
vdr_video, vdr_audio.<br />
<br />
-Audiodecoder:<br />
gsm610, mad, ffmpegaudio, realadec, vorbis, a/52, nsf, speex, mpc,<br />
dvaudio, pcm, dts, faad.<br />
<br />
-Videodecoder:<br />
dxr3-mpeg2, vdpau_mpeg12, vdpau_vc1, mpeg2, realvdec, vdpau_h264,<br />
ffmpegvideo, theora, bitplane, yuv, rgb, ffmpeg-wmv8, ffmpeg-wmv9.<br />
<br />
</pre><br />
<br />
=== VDR 1.7.9 ===<br />
<pre><br />
cd /usr/local/src<br />
apt-get install libfreetype6-dev libfontconfig1-dev libjpeg62-dev libcap-dev libncurses5-dev libncursesw5-dev libbz2-dev ethtool<br />
wget ftp://ftp.tvdr.de/vdr/Developer/vdr-1.7.9.tar.bz2<br />
tar xivf vdr-1.7.9.tar.bz2<br />
cd vdr-1.7.9<br />
mv /usr/local/src/xine-0.9.3 PLUGINS/src/xine<br />
</pre><br />
<br />
==== Make.config ====<br />
<pre><br />
#<br />
# User defined Makefile options for the Video Disk Recorder<br />
#<br />
# Copy this file to 'Make.config' and change the parameters as necessary.<br />
#<br />
# See the main source file 'vdr.c' for copyright information and<br />
# how to reach the author.<br />
#<br />
# $Id: Make.config.template 2.0 2008/01/13 12:54:09 kls Exp $<br />
<br />
### The C compiler and options:<br />
<br />
CC = gcc<br />
CFLAGS = -g -O2 -Wall<br />
<br />
CXX = g++<br />
CXXFLAGS = -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses<br />
<br />
ifdef PLUGIN<br />
CFLAGS += -fPIC<br />
CXXFLAGS += -fPIC<br />
DEFINES += -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE<br />
endif<br />
<br />
### The directory environment:<br />
DVBDIR = /usr/local/src/s2-liplianin/linux<br />
MANDIR = /usr/man<br />
BINDIR = /usr/bin<br />
<br />
LOCDIR = /usr/share/locale<br />
PLUGINDIR= ./PLUGINS<br />
PLUGINLIBDIR= /usr/lib/vdr/plugins<br />
VDRSCRIPTDIR= /usr/lib/vdr/scripts<br />
VIDEODIR = /var/lib/video.00<br />
CONFDIR = /etc/vdr/<br />
<br />
<br />
### The remote control:<br />
<br />
LIRC_DEVICE = /dev/lircd<br />
RCU_DEVICE = /dev/ttyS1<br />
<br />
## Define if you want vdr to not run as root<br />
#VDR_USER = vdr<br />
</pre><br />
<br />
Vorbereitung:<br />
<pre><br />
mkdir /var/lib/video.00<br />
mkdir -p /usr/lib/vdr/plugins<br />
mkdir -p /usr/lib/vdr/scripts<br />
mkdir -p /etc/vdr/plugins<br />
make<br />
make plugins<br />
make i18n<br />
make install<br />
locale-gen de_DE.UTF-8 de_DE<br />
dpkg-reconfigure locales<br />
cp -a svdrpsend.pl /usr/bin<br />
cp *.conf /etc/vdr/<br />
</pre><br />
<br />
==== Troubleshooting ====<br />
Wer Probleme hat in der Art:<br />
<br />
dvbdevice.c: In constructor âcDvbDevice::cDvbDevice(int)â:<br />
dvbdevice.c:487: error: âFE_CAN_2G_MODULATIONâ was not declared in this scope<br />
<br />
<pre><br />
# vi /usr/include/linux/dvb/frontend.h<br />
- FE_HAS_EXTENDED_CAPS = 0x800000, // We need more bitspace for newer APIs, indicate this.<br />
- FE_NEEDS_BENDING = 0x20000000, // not supported anymore, don't use (frontend requires frequency bending)<br />
+ FE_HAS_EXTENDED_CAPS = 0x800000, // We need more bitspace for newer APIs, indicate this.<br />
+ FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */<br />
+ FE_NEEDS_BENDING = 0x20000000, // not supported anymore, don't use (frontend requires frequency bending)<br />
</pre><br />
<br />
=== Xineliboutput plugin ===<br />
==== bis vdr-1.7.3 ====<br />
<pre><br />
cd /usr/local/src/vdr-1.7.x/PLUGINS/src<br />
wget http://downloads.sourceforge.net/project/xineliboutput/xineliboutput/vdr-xineliboutput-1.0.4/vdr-xineliboutput-1.0.4.tar.bz2<br />
tar xivf vdr-xineliboutput-1.0.4.tar.bz2<br />
<br />
mv xineliboutput* xineliboutput<br />
cd ../..<br />
make plugins<br />
make install<br />
cd PLUGINS/src/xineliboutput<br />
make<br />
make install<br />
mkdir -p /etc/vdr/plugins/xineliboutput<br />
cp *.mpg /etc/vdr/plugins/xineliboutput/<br />
cd ../../../<br />
make plugins<br />
make install<br />
</pre><br />
<br />
==== ab vdr-1.7.4 ====<br />
<pre><br />
cd /usr/local/src/vdr-1.7.9/PLUGINS/src<br />
apt-get install libextractor-dev<br />
cvs -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput login<br />
cvs -z3 -d:pserver:anonymous@xineliboutput.cvs.sourceforge.net:/cvsroot/xineliboutput co -P vdr-xineliboutput<br />
<br />
mv vdr-xineliboutput* xineliboutput<br />
cd ../..<br />
make plugins<br />
make install<br />
cd PLUGINS/src/xineliboutput<br />
make<br />
make install<br />
mkdir -p /etc/vdr/plugins/xineliboutput<br />
cp *.mpg /etc/vdr/plugins/xineliboutput/<br />
cd ../../../<br />
make plugins<br />
make install<br />
</pre><br />
<br />
=== Xine plugin ===<br />
<pre><br />
cd /usr/local/src/vdr-1.7.9/PLUGINS/src/xine/data<br />
mkdir -p /etc/vdr/plugins/xine<br />
cp *.mpg /etc/vdr/plugins/xine<br />
</pre><br />
<br />
=== Scripts ===<br />
==== /var/bin/runvdr ====<br />
<pre><br />
#!/bin/bash<br />
<br />
export VDR_LANG=de_DE<br />
export VDR_CHARSET_OVERRIDE="ISO-8859-15"<br />
export LANG="de_DE"<br />
export LC_COLLATE="de_DE"<br />
export LC_ALL="de_DE"<br />
<br />
PATH=/usr/local/bin:$PATH<br />
<br />
/usr/bin/amixer set 'IEC958',1 unmute<br />
<br />
/usr/bin/touch /var/lib/video.00/.update<br />
<br />
VDRPRG="/usr/bin/vdr"<br />
VDRCMD="/usr/bin/vdr -c /etc/vdr -v /var/lib/video.00 -E /var/vdr -l 3 --user=root --lirc=/dev/null \<br />
-s /var/bin/vdrpoweroff -P'xineliboutput -l none -r 37890 -p' -P'xine -r' $*"<br />
<br />
<br />
KILL="/usr/bin/killall -q -TERM"<br />
<br />
# Detect whether the DVB driver is already loaded<br />
# and return 0 if it *is* loaded, 1 if not:<br />
DriverLoaded()<br />
{<br />
return 1<br />
}<br />
<br />
# Load all DVB driver modules needed for your hardware:<br />
LoadDriver ()<br />
{<br />
<br />
return 0<br />
<br />
}<br />
<br />
# Unload all DVB driver modules loaded in LoadDriver():<br />
UnloadDriver ()<br />
{<br />
<br />
return 0<br />
<br />
}<br />
<br />
# Load driver if it hasn't been loaded already:<br />
if ! DriverLoaded; then<br />
LoadDriver<br />
fi<br />
<br />
while (true) do<br />
eval "$VDRCMD"<br />
if test $? -eq 0 -o $? -eq 2; then exit; fi<br />
echo "`date` reloading DVB driver"<br />
$KILL $VDRPRG<br />
sleep 10<br />
UnloadDriver<br />
LoadDriver<br />
echo "`date` restarting VDR"<br />
done<br />
</pre><br />
<br />
==== /var/bin/vdrpoweroff ====<br />
<pre><br />
#!/bin/bash<br />
/sbin/poweroff<br />
</pre><br />
<br />
==== /etc/init.d/vdr ====<br />
<pre><br />
#!/bin/bash<br />
### BEGIN INIT INFO<br />
# Provides: VDR<br />
# Required-Start: $network<br />
# Required-Stop: $network<br />
# Default-Start: 3 5<br />
# Default-Stop: 0 1 2 6<br />
# Description: Start, Stop or Restart VDR<br />
### END INIT INFO<br />
<br />
# Shell functions sourced from /etc/rc.status:<br />
# set -e<br />
# Reset status of this service<br />
# rc_reset<br />
<br />
#<br />
case "$1" in<br />
start)<br />
echo -n "Starting VDR "<br />
/usr/sbin/ethtool -s eth0 wol g<br />
/var/bin/runvdr > /var/log/vdr.log &<br />
sleep 5<br />
/usr/local/bin/switchtv<br />
;;<br />
stop)<br />
echo -n "Shutting down VDR "<br />
/usr/local/bin/switchtv kill<br />
;;<br />
restart)<br />
echo -n "Restart VDR "<br />
$0 stop<br />
sleep 5<br />
$0 start<br />
;;<br />
*)<br />
echo "Usage: $0 {start|stop|restart}"<br />
exit 1<br />
;;<br />
esac<br />
# rc_exit<br />
exit 0<br />
<br />
</pre><br />
<br />
<pre><br />
update-rc.d vdr defaults<br />
</pre><br />
<br />
==== /var/bin/vdrwakealarm ====<br />
<br />
<pre><br />
#!/bin/sh<br />
<br />
DEV=/sys/class/rtc/rtc0/wakealarm<br />
<br />
if [ -z "$1" ];then<br />
wakeuptime=$(/usr/local/bin/svdrpsend.pl -d localhost NEXT abs|grep 250 |cut -f3 -d' '|tr -d '\r')<br />
else<br />
wakeuptime=$1<br />
fi<br />
<br />
echo ""<br />
echo "initialisiere Wakeup ..."<br />
echo 0 > $DEV<br />
echo "setze Timer $wakeuptime ..."<br />
echo $wakeuptime > $DEV<br />
echo ""<br />
echo "naechster Timer abzgl. 2h:"<br />
echo "-------------------------"<br />
<br />
ALARM_DATE=$(cat /proc/driver/rtc | grep alrm_date )<br />
ALARM_TIME=$(cat /proc/driver/rtc | grep alrm_time )<br />
<br />
echo "$ALARM_DATE"<br />
echo "$ALARM_TIME"<br />
echo ""<br />
<br />
TEST=$(echo $ALARM_DATE|grep '\*\*')<br />
<br />
if [ -n "$TEST" ];then<br />
echo "**** ERROR: Wakeup nicht korrekt ... ****"<br />
echo "**** neuer Wakeup in 4h ****"<br />
wakeuptime=$(date +%s)<br />
wakeuptime=$((wakeuptime+14400))<br />
$0 $wakeuptime<br />
fi<br />
</pre><br />
<br />
==== /usr/local/bin/switchtv ====<br />
mit Umschaltung zu XBMC<br />
<br />
<pre><br />
#!/bin/bash<br />
DEFAULT=run_vdrxine<br />
<br />
if [ -n "`/bin/pidof switchtv`" ];then<br />
echo "switchtv already running ..."<br />
exit 0<br />
fi<br />
<br />
run_vdr() {<br />
$DEFAULT<br />
}<br />
<br />
run_vdrxineliboutput() {<br />
/usr/bin/xinit -e /usr/bin/vdr-sxfe --video=vdpau --post tvtime:method=use_vo_driver --audio=alsa --fullscreen --reconnect $@ &<br />
}<br />
<br />
run_vdrxine() {<br />
/usr/bin/xinit -e /usr/bin/xine -I -V vdpau -f -r anamorphic --post vdr_video --post vdr_audio --post upmix_mono --post vdr --verbose=2 vdr:/tmp/vdr-xine/stream#demux:mpeg_pes &<br />
}<br />
<br />
run_xbmc() {<br />
if [ -f /usr/share/xbmc/xbmc.bin ];then<br />
/usr/local/bin/scanvdr &<br />
/usr/bin/xinit -e /usr/share/xbmc/xbmc.bin -fs $@ &<br />
else<br />
/etc/init.d/vdr restart<br />
fi<br />
}<br />
<br />
kill_apps() {<br />
killall -w -9 vdr-sxfe 2>/dev/null<br />
killall -w -9 xterm 2>/dev/null<br />
killall -w -9 runvdr 2>/dev/null<br />
killall -w -9 vdr 2>/dev/null<br />
killall -w -9 xine 2>/dev/null<br />
killall -w -9 xbmc 2>/dev/null<br />
killall -w -9 xbmc.bin 2>/dev/null<br />
killall -w -9 scanvdr 2>/dev/null<br />
killall -w -9 irexec 2>/dev/null<br />
killall -w -9 xinit 2>/dev/null<br />
}<br />
<br />
if [ "$1" = "xbmc" ];then<br />
kill_apps<br />
/usr/bin/irexec -d /etc/irexec.conf<br />
run_xbmc<br />
elif [ "$1" = "vdr" ];then<br />
kill_apps<br />
/usr/bin/irexec -d /etc/irexec.conf<br />
/etc/init.d/vdr start<br />
elif [ "$1" = "kill" ];then<br />
kill_apps<br />
elif [ -z "$1" ];then<br />
killall -9 irexec 2>/dev/null<br />
run_vdr<br />
/usr/bin/irexec -d /etc/irexec.conf<br />
fi<br />
<br />
exit 0<br />
<br />
</pre><br />
<br />
=== Script permissions anpassen ===<br />
<pre><br />
chmod 755 /usr/local/bin/switchtv<br />
chmod 755 /etc/init.d/vdr<br />
chmod 755 /var/bin/runvdr<br />
chmod 755 /var/bin/vdrpoweroff<br />
chmod 775 /var/bin/vdrwakealarm<br />
</pre><br />
<br />
=== Wakeup ===<br />
<br />
Wenn das Wakeup nicht funktioniert, dann bitte http://www.mythtv.org/wiki/ACPI_Wakeup#Disable_hwclock_updates lesen<br />
<br />
=== X ===<br />
'''/etc/init.d/gdm disablen:'''<br />
<pre><br />
update-rc.d gdm remove<br />
</pre><br />
<br />
'''/etc/X11/Xwrapper.config'''<br />
<br />
Diese Zeile <br />
allowed_users=console<br />
ändern in <br />
allowed_users=anybody<br />
<br />
'''/etc/X11/xorg.conf'''<br />
<pre><br />
# nvidia-xconfig: X configuration file generated by nvidia-xconfig<br />
# nvidia-xconfig: version 1.0 (buildmeister@builder63) Fri Apr 3 13:01:52 PST 2009<br />
<br />
<br />
Section "ServerLayout"<br />
Identifier "Layout0"<br />
Screen 0 "Screen0" 0 0<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
InputDevice "Mouse0" "CorePointer"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
<br />
# generated from default<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/psaux"<br />
Option "Emulate3Buttons" "no"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
<br />
# generated from default<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "Monitor"<br />
<br />
# VendorName "Unknown"<br />
# ModelName "Unknown"<br />
Identifier "Monitor0"<br />
#HorizSync 15.0 - 68.0<br />
HorizSync 15.0 - 75.0<br />
VertRefresh 23.0 - 61.0<br />
Option "DPMS"<br />
Option "ExactModeTimingsDVI" "True"<br />
Option "UseDisplayDevice" "DFP-0"<br />
Option "UseEDIDFreqs" "False"<br />
<br />
# 1920x1080p @ 50Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@50" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 60Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@60" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 24Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@24" 74.250 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 23.976Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@23.976" 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080i @ 50Hz (EIA/CEA-861B)<br />
Modeline "1920x1080@50i" 74.250 1920 2448 2492 2640 1080 1085 1095 1125 +hsync +vsync Interlace<br />
<br />
# 1920x1080i @ 60Hz (EIA/CEA-861B)<br />
Modeline "1920x1080@60i" 74.250 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace<br />
<br />
# 1920x1080p @ 59.94Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@59.94" 148.350 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080i @ 59.94Hz (EIA/CEA-861B)<br />
Modeline "1920x1080@59.94i" 74.175 1920 2008 2052 2200 1080 1085 1095 1125 +hsync +vsync Interlace<br />
<br />
# 1920x1080p @ 25Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@25" 74.250 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 29.97Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@29.97" 74.175 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync<br />
<br />
# 1920x1080p @ 30Hz (EIA/CEA-861B)<br />
ModeLine "1920x1080@30" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "Device0"<br />
Driver "nvidia"<br />
VendorName "NVIDIA Corporation"<br />
Option "CustomEdid" "DFP-0:/etc/X11/edid.bin"<br />
Option "ConnectedMonitor" "DFP-0"<br />
Option "UseDisplayDevice" "DFP-0"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Device0"<br />
Monitor "Monitor0"<br />
DefaultDepth 24<br />
Option "NoLogo"<br />
Option "DynamicTwinView" "false"<br />
Option "AllowGLXWithComposite" "True"<br />
Option "AddARGBVisuals" "True"<br />
Option "AddARGBGLXVisuals" "True"<br />
Option "NoLogo" "False"<br />
Option "RenderAccel" "True"<br />
Option "UseEvents" "True"<br />
Option "TripleBuffer" "True"<br />
Option "ExactModeTimingsDVI" "True"<br />
Option "FlatPanelProperties" "Scaling = Native"<br />
SubSection "Display"<br />
Depth 24<br />
Modes "1920x1080@50" "1920x1080@24"<br />
EndSubSection<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "extmod"<br />
Load "glx"<br />
#Load "v4l"<br />
EndSection<br />
</pre><br />
<br />
=== Lirc ===<br />
<br />
apt-get install lirc lirc-modules-source<br />
<br />
==== /etc/lirc/hardware.conf ====<br />
(nur für Nova-HD-S2 IR Empfänger!)<br />
<pre><br />
# /etc/lirc/hardware.conf<br />
#<br />
#Chosen Remote Control<br />
REMOTE="Hauppauge Nova-HD-S2"<br />
REMOTE_MODULES=""<br />
REMOTE_DRIVER="devinput"<br />
TEMPIREVENT=`ls /dev/input/by-path/ |grep event-ir`<br />
REMOTE_DEVICE="/dev/input/by-path/$TEMPIREVENT"<br />
REMOTE_LIRCD_CONF="/etc/lircd.conf"<br />
REMOTE_LIRCD_ARGS=""<br />
<br />
#Chosen IR Transmitter<br />
TRANSMITTER="None"<br />
TRANSMITTER_MODULES=""<br />
TRANSMITTER_DRIVER=""<br />
TRANSMITTER_DEVICE=""<br />
TRANSMITTER_LIRCD_CONF=""<br />
TRANSMITTER_LIRCD_ARGS=""<br />
<br />
#Enable lircd<br />
START_LIRCD="true"<br />
<br />
#Don't start lircmd even if there seems to be a good config file<br />
#START_LIRCMD="false"<br />
<br />
#Try to load appropriate kernel modules<br />
LOAD_MODULES=""<br />
<br />
# Default configuration files for your hardware if any<br />
LIRCMD_CONF=""<br />
<br />
#Forcing noninteractive reconfiguration<br />
#If lirc is to be reconfigured by an external application<br />
#that doesn't have a debconf frontend available, the noninteractive<br />
#frontend can be invoked and set to parse REMOTE and TRANSMITTER<br />
#It will then populate all other variables without any user input<br />
#If you would like to configure lirc via standard methods, be sure<br />
#to leave this set to "false"<br />
FORCE_NONINTERACTIVE_RECONFIGURATION="false"<br />
START_LIRCMD=""<br />
</pre><br />
<br />
==== /etc/lircd.conf ====<br />
(nur für Nova-HD-S2 IR Empfänger!)<br />
<pre><br />
# Please make this file available to others<br />
# by sending it to <lirc@bartelmus.de><br />
#<br />
# this config file was automatically generated<br />
# using lirc-0.8.4a(default) on Sun Aug 30 19:33:29 2009<br />
#<br />
# contributed by<br />
#<br />
# brand: ./test<br />
# model no. of remote control:<br />
# devices being controlled by this remote:<br />
#<br />
<br />
begin remote<br />
<br />
name Nova-HD-S2<br />
bits 13<br />
flags RC5|CONST_LENGTH<br />
eps 30<br />
aeps 100<br />
<br />
one 915 854<br />
zero 915 854<br />
plead 951<br />
gap 112860<br />
toggle_bit_mask 0x800<br />
<br />
begin codes<br />
OK 0x17A5<br />
Left 0x1796<br />
Right 0x1797<br />
Up 0x1794<br />
Down 0x1795<br />
Power 0x17BD<br />
Go 0x17BB<br />
TV 0x179C<br />
Videos 0x1798<br />
Music 0x1799<br />
Pictures 0x179A<br />
Guide 0x179B<br />
Radio 0x178C<br />
Back 0x179F<br />
Menu 0x178D<br />
Volume+ 0x1790<br />
Volume- 0x1791<br />
Ch+ 0x17A0<br />
Ch- 0x17A1<br />
Mute 0x178F<br />
PrevCh 0x1792<br />
Pause 0x17B0<br />
Play 0x17B5<br />
Stop 0x17B6<br />
Next 0x179E<br />
Prev 0x17A4<br />
Forward 0x17B4<br />
Rewind 0x17B2<br />
0 0x1780<br />
1 0x1781<br />
2 0x1782<br />
3 0x1783<br />
4 0x1784<br />
5 0x1785<br />
6 0x1786<br />
7 0x1787<br />
8 0x1788<br />
9 0x1789<br />
Red 0x178B<br />
Green 0x17AE<br />
Yellow 0x17B8<br />
Blue 0x17A9<br />
* 0x178A<br />
# 0x178E<br />
end codes<br />
<br />
end remote<br />
</pre><br />
<br />
==== /etc/irexec.conf ====<br />
<pre><br />
begin<br />
prog = irexec<br />
remote = NOVA-HD-S2<br />
button = Go<br />
config = /usr/local/bin/switchtv xbmc & \n<br />
end<br />
begin<br />
prog = irexec<br />
remote = NOVA-HD-S2<br />
button = TV<br />
config = /usr/local/bin/switchtv vdr & \n<br />
end<br />
</pre><br />
<br />
==== /etc/vdr/remote.conf ====<br />
<pre><br />
LIRC.Info Guide<br />
LIRC.Audio Music<br />
LIRC.Pause Pause<br />
LIRC.Play Play<br />
LIRC.Stop Stop<br />
LIRC.Next Next<br />
LIRC.Prev Prev<br />
LIRC.FastFwd Forward<br />
LIRC.FastRew Rewind<br />
LIRC.Schedule Pictures<br />
LIRC.Recordings Videos<br />
LIRC.0 PrevCh<br />
LIRC.Up Up<br />
LIRC.Down Down<br />
LIRC.Menu Menu<br />
LIRC.Ok OK<br />
LIRC.Back Back<br />
LIRC.Left Left<br />
LIRC.Right Right<br />
LIRC.Red Red<br />
LIRC.Green Green<br />
LIRC.Yellow Yellow<br />
LIRC.Blue Blue<br />
LIRC.0 0<br />
LIRC.1 1<br />
LIRC.2 2<br />
LIRC.3 3<br />
LIRC.4 4<br />
LIRC.5 5<br />
LIRC.6 6<br />
LIRC.7 7<br />
LIRC.8 8<br />
LIRC.9 9<br />
LIRC.Power Power<br />
LIRC.Volume+ Volume+<br />
LIRC.Volume- Volume-<br />
LIRC.Mute Mute<br />
LIRC.Channel+ Ch+<br />
LIRC.Channel- Ch-<br />
</pre><br />
<br />
=== Audio ===<br />
<br />
Vorsichthalber auf die neueste Alsa Version mit dem Script "AlsaUpgrade-1.0.x-rev-1.17.sh" [http://ubuntuforums.org/showthread.php?p=6589810 von hier] upgraden und anschließend neu booten<br />
<br />
'''Der User der vdr-sxfe startet muß(!) in der group "audio" sein'''<br />
<br />
mit '''aplay''' sieht man wo das Device (hier am Beispiel HDMI) konfiguriert ist (Card "'''0'''" Device "'''3'''")<br />
<pre><br />
aplay -l <br />
**** List of PLAYBACK Hardware Devices ****<br />
card 0: NVidia [HDA NVidia], device 0: ALC883 Analog [ALC883 Analog]<br />
Subdevices: 1/1<br />
Subdevice #0: subdevice #0<br />
card 0: NVidia [HDA NVidia], device 3: NVIDIA HDMI [NVIDIA HDMI]<br />
Subdevices: 0/1<br />
Subdevice #0: subdevice #0<br />
</pre><br />
<br />
'''/etc/asound.conf'''<br />
<pre><br />
pcm.!default {<br />
type hw<br />
card 0<br />
device 3<br />
}<br />
</pre><br />
<br />
'''/etc/vdr/setup.conf''' (vdr muß vorher gestoppt sein)<br />
<pre><br />
xineliboutput.Audio.Port = hw:0,3<br />
xineliboutput.Audio.Speakers = Pass Through<br />
</pre><br />
<br />
'''~/.xine/config_xineliboutput'''<br />
<pre><br />
audio.device.alsa_front_device:default<br />
audio.device.alsa_passthrough_device:hw:0,3<br />
audio.device.alsa_surround51_device:default<br />
audio.output.speaker_arrangement:Pass Through<br />
audio.synchronization.av_sync_method:resample<br />
audio.synchronization.force_rate:48000<br />
audio.synchronization.resample_mode:on<br />
</pre><br />
<br />
=== Feintuning ===<br />
'''~/.xine/config'''<br />
<pre><br />
# Anzahl der Audiopuffer<br />
# numeric, default: 230<br />
engine.buffers.audio_num_buffers:250<br />
<br />
# Anzahl der Videopuffer<br />
# numeric, default: 500<br />
engine.buffers.video_num_buffers:2000<br />
engine.buffers.video_num_frames:22<br />
</pre><br />
<br />
=== XBMC ===<br />
<br />
==== /etc/apt/sources.list.d/xbmc.list ====<br />
<pre><br />
deb http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu jaunty main<br />
deb-src http://ppa.launchpad.net/team-xbmc-svn/ppa/ubuntu jaunty main<br />
</pre><br />
<br />
==== Installation ====<br />
<pre><br />
apt-get update<br />
apt-get install xbmc<br />
</pre><br />
<br />
==== advancedsettings.xml (~/.xbmc/userdata) ====<br />
<pre><br />
<advancedsettings><br />
<moviestacking action="prepend"><br />
<regexp>custom[0-9]*</regexp><br />
</moviestacking><br />
</advancedsettings><br />
</pre><br />
<br />
==== Lircmap.xml (~/.xbmc/userdata) ====<br />
<pre><br />
<lircmap><br />
<remote device="Nova-HD-S2"><br />
<power>Power</power><br />
<info>Red</info><br />
<display>Green</display><br />
<title>Yellow</title><br />
<start>Blue</start><br />
<skipplus>SkipFwd</skipplus><br />
<skipminus>SkipBack</skipminus><br />
<channelplus>Ch+</channelplus><br />
<channelminus>Ch-</channelminus><br />
<skipplus>Next</skipplus><br />
<skipminus>Prev</skipminus><br />
<mymusic>Music</mymusic><br />
<mypictures>Pictures</mypictures><br />
<myTV>TV</myTV><br />
<myvideo>Videos</myvideo><br />
<up>Up</up><br />
<left>Left</left><br />
<right>Right</right><br />
<down>Down</down><br />
<up>Up</up><br />
<select>OK</select><br />
<menu>Menu</menu><br />
<play>Play</play><br />
<pause>Pause</pause><br />
<stop>Stop</stop><br />
<forward>FastFwd</forward><br />
<reverse>FastRew</reverse><br />
<back>Back</back><br />
<zero>0</zero><br />
<one>1</one><br />
<two>2</two><br />
<three>3</three><br />
<four>4</four><br />
<five>5</five><br />
<six>6</six><br />
<seven>7</seven><br />
<eight>8</eight><br />
<nine>9</nine><br />
</remote><br />
</lircmap><br />
</pre><br />
<br />
==== /usr/local/bin/scanvdr ====<br />
<pre><br />
#!/bin/bash<br />
<br />
VDR2JPEG="/usr/local/bin/vdr2jpeg"<br />
FFMPEG="/usr/bin/ffmpeg"<br />
IMGUSE="VDR2JPEG"<br />
<br />
VDRREC="/nas01/videos/vdr" # you may need to adjust this<br />
TVFILE="../tvshow.nfo"<br />
NFOFILE="001.nfo"<br />
<br />
DVDTHUMB="../folder.jpg"<br />
DVDOFFSETVDR="18000"<br />
DVDOFFSETSEC="5000"<br />
DVD_XRES="144"<br />
DVD_YRES="176"<br />
<br />
FANTHUMB="../fanart.jpg"<br />
FANOFFSETVDR="20000"<br />
FANOFFSETSEC="6000"<br />
FAN_XRES="1280"<br />
FAN_YRES="720"<br />
<br />
CHECKRUNNING=$(/bin/pidof -x $0|wc -w)<br />
<br />
if [ $CHECKRUNNING -gt 2 ];then<br />
echo "$CHECKRUNNING"<br />
echo "scanvdr already running ..."<br />
exit 0<br />
fi<br />
<br />
if [ "$1" = "-new" ];then<br />
echo "regenerating all files ..."<br />
find $VDRREC -name "*.jpg" -exec rm {} \;<br />
find $VDRREC -name "*.nfo" -exec rm {} \;<br />
elif [ -n "$1" ];then<br />
echo " Usage:"<br />
echo " $0"<br />
echo " - or -"<br />
echo " $0 -new"<br />
exit 0<br />
fi<br />
<br />
<br />
for i in $(find $VDRREC -name "info*" -type f)<br />
do<br />
VDRDIR=$(dirname $i)<br />
VDRINFO=$(basename $i)<br />
cd $VDRDIR<br />
<br />
if [ -f $VDRINFO ];then<br />
AIRED=$(basename $VDRDIR | awk -F'.' '{print $1}')<br />
DAUER=$(grep "^E " $VDRINFO | awk '{print $4/60}' | awk -F'.' '{print $1}')<br />
TITEL=$(grep "^T " $VDRINFO | sed "s/^T //")<br />
INHALT=$(grep "^D " $VDRINFO | sed "s/^D //")<br />
KURZTEXT=$(grep "^S " $VDRINFO | sed "s/^S //")<br />
if [ -z "$KURZTEXT" ];then<br />
KURZTEXT="$TITEL"<br />
fi<br />
fi<br />
<br />
echo "${TITEL}:"<br />
<br />
echo "creating database infos ..."<br />
<br />
COUNTREC=$(find .. -name "*.rec" | wc -l)<br />
COUNTRECTS=$(find .. -name "*.ts" | wc -l)<br />
let COUNTREC=COUNTREC+COUNTRECTS<br />
<br />
HTEXT=$(find .. -name $VDRINFO | sort -n | xargs cat | grep "^S " | sed "s/^S //")<br />
<br />
if [ -z "$HTEXT" ];then<br />
HTEXT="$DAUER min: $INHALT"<br />
elif [ "$COUNTREC" = "1" ];then<br />
HTEXT="[ ${HTEXT} ]<br />
$DAUER min: $INHALT"<br />
fi<br />
<br />
echo "<tvshow>" > $TVFILE<br />
echo "<title>$TITEL</title>" >> $TVFILE<br />
echo "<plot>$HTEXT</plot>" >> $TVFILE<br />
echo "</tvshow>" >> $TVFILE<br />
<br />
<br />
if [ ! -f $NFOFILE ];then<br />
<br />
echo "<episodedetails>" > $NFOFILE<br />
echo "<title>$KURZTEXT</title>" >> $NFOFILE<br />
echo "<rating></rating>" >> $NFOFILE<br />
echo "<season></season>" >> $NFOFILE<br />
echo "<episode></episode>" >> $NFOFILE<br />
echo "<plot>$DAUER min: $INHALT</plot>" >> $NFOFILE<br />
echo "<credits>VDR</credits>" >> $NFOFILE<br />
echo "<director></director>" >> $NFOFILE<br />
echo "<aired>$AIRED</aired>" >> $NFOFILE<br />
echo "<runtime>$DAUER min</runtime>" >> $NFOFILE<br />
echo "<actor></actor>" >> $NFOFILE<br />
echo "</episodedetails>" >> $NFOFILE<br />
<br />
fi<br />
<br />
if [ "$VDRINFO" = "info.vdr" ];then<br />
VIDEOFILE="001.vdr"<br />
else<br />
VIDEOFILE="00001.ts"<br />
fi<br />
<br />
if [ -f $VDR2JPEG ] && [ "$IMGUSE" = "VDR2JPEG" ] && [ "$VDRINFO" = "info.vdr" ];then<br />
<br />
if [ ! -f $DVDTHUMB ];then<br />
echo "creating DVD thumbnails ..."<br />
$VDR2JPEG -x $DVD_XRES= -y $DVD_YRES -f $DVDOFFSETVDR -r .<br />
mv 000${DVDOFFSETVDR}.jpg $DVDTHUMB<br />
fi<br />
<br />
if [ ! -f $FANTHUMB ];then<br />
echo "creating FANART thumbnails ..."<br />
$VDR2JPEG -x $FAN_XRES= -y $FAN_YRES -f $FANOFFSETVDR -r .<br />
mv 000${FANOFFSETVDR}.jpg $FANTHUMB<br />
fi<br />
<br />
elif [ -f $FFMPEG ];then<br />
<br />
if [ ! -f $DVDTHUMB ];then<br />
echo "creating DVD thumbnails ..."<br />
$FFMPEG -i $VIDEOFILE -itsoffset $DVDOFFSETSEC -s ${DVD_XRES}x${DVD_YRES} -f image2 -vframes 1 -y temp.jpg<br />
mv temp.jpg $DVDTHUMB<br />
fi<br />
<br />
if [ ! -f $FANTHUMB ];then<br />
echo "creating FANART thumbnails ..."<br />
$FFMPEG -i $VIDEOFILE -itsoffset $FANOFFSETSEC -s ${FAN_XRES}x${FAN_YRES} -f image2 -vframes 1 -y temp.jpg<br />
mv temp.jpg $FANTHUMB<br />
fi<br />
<br />
fi<br />
<br />
echo "---"<br />
<br />
done<br />
</pre><br />
<br />
[[Kategorie:Ubuntu]][[Kategorie:Installationsanleitungen]][[Kategorie:HDTV]]</div>
93.104.28.73