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