HDTV
(→Nvidia Installation) |
(→Nvidia Installation) |
||
Zeile 236: | Zeile 236: | ||
wget ftp://download.nvidia.com/XFree86/Linux-x86/185.19/NVIDIA-Linux-x86-185.19-pkg1.run (oder neuer) | wget ftp://download.nvidia.com/XFree86/Linux-x86/185.19/NVIDIA-Linux-x86-185.19-pkg1.run (oder neuer) | ||
sh *.run | sh *.run | ||
+ | /etc/init.d/gdm start | ||
</pre> | </pre> | ||
Version vom 14. Juni 2009, 09:16 Uhr
Allgemein
HDTV ist Digitalfernsehen höherer Auflösung (High Definition Television). Im Gegensatz zum herkömmlichen Fernsehen (analog, DVB-S/C/T, DVD) mit seiner Auflösung von maximal 720×576 sichtbaren Punkten (PAL+SECAM) oder 720×480 sichtbaren Punkten (NTSC) kann bei HDTV die Auflösung maximal 1920×1080 Punkte (1080i) betragen. Das Bild könnte also 5 normale Fernseher füllen. Es ist bereits ein Nachfolger namens Ultra High Definition Video definiert, der allerdings nicht auf Heimkinos, sondern auf echte Kinos abzielt.
Folgende Auflösungen sind im HDTV-Standard definiert: 1080i (interlaced, Halbbilder, d.h. von Vollbildern werden abwechselnd die geraden und die ungeraden Zeilen übertragen) und 720p (1280×720 Punkte). Eine Zahl, die nach dem Buchstaben (i oder p) folgt, gibt die Anzahl der Bilder pro Sekunde an (zb. 720p50 --> 50 fps).
Verfügbare Sender
Leider gibt es zur Zeit nur einen einzigen frei empfangbaren HDTV-Sender in deutscher Sprache mit HDTV-Vollprogramm, der mit VDR über Satellit oder Kabel empfangen werden kann.
Astra - 19.2°Ost
Sendername | Transponder | Auflösung | Bitrate1 | Status | Beschreibung / Bemerkung | ||
---|---|---|---|---|---|---|---|
Frequenz | Pol. | Modulat. | |||||
ANIXE HD | 11302 MHz | h | DVB-S2 | 1080i50 | 7.5 MBit/s | aktiv | Vollprogramm (Serien, Filme & Sport, natives HDTV - kein hochskaliertes Filmmaterial). |
arte HD | 11362 MHz | h | DVB-S2 | 720p50 | 10 MBit/s | aktiv | Vollprogramm des altbekannten SDTV Senders arte (z. Zt. nur wenig natives HD-Material). |
PREMIERE HD | 11914 MHz | h | DVB-S2 | 1080i50 | 12 MBit/s | aktiv (kodiert) |
Vollprogramm des PayTV Anbieter Premiere (Spielfilme, Serien und vereinzelt Sportübertragungen alle natives HD). |
DISCOVERY HD | 11914 MHz | h | DVB-S2 | 1080i50 | 14 MBit/s | aktiv (kodiert) |
Vollprogramm des PayTV Anbieter Premiere (Dokumentationen von Discovery alle natives HD). |
ORF1 HD | 10832 MHz | h | DVB-S | 720p50 | 10 MBit/s | aktiv (kodiert) |
Vollprogramm des Österreichischen Rundfunks (wenig natives HD). |
EinsFestival HD | 12421 MHz | h | DVB-S | 720p50 | 11 MBit/s | aktiv | Showcases zu besonderen Ereignissen z. B. Weihnachten (22.12.2008 bis 1.1.2009) oder Ostern. Nun mit Endlosschleife (ca 4 min). |
ASTRA HD+ | 11302 MHz | h | DVB-S2 | 1080i50 | 9 MBit/s | aktiv | verschiedene HD-Trailer (Endlosschleife ca. 30 min). |
Simul HD | 11361 MHz | h | DVB-S2 | 720p50 | - | aktiv | HDTV Demokanal |
Premiere HD Promo | - | - | - | - | - | eingestellt | wurde zugunsten des HDTV-Regelprogramms, das per DVB-S2 gesendet wird, eingestellt. |
ProSieben HD | 12722 MHz | h | - | - | - | abgeschaltet | Vollprogramm von ProSieben - Testbetrieb beendet - Sendebetrieb wird voraussichtlich erst wieder ab 2010 aufgenommen. |
Sat1 HD | 12722 MHz | h | - | - | - | abgeschaltet | Vollprogramm von Sat1 - Testbetrieb beendet - Sendebetrieb wird voraussichtlich erst wieder ab 2010 aufgenommen. |
Anmerkungen: 1 - Durchschnittswerte von Linowsat
- Außer den aufgelisteten deutschsprachigen Sendern gibt es noch weitere von Canal+ und anderen PayTV-Anbietern (siehe channels.conf).
Hotbird - 13°Ost
- HD-Forum - 11013 MHz H - Trailerschleife
Pro7 HD, Sat.1 HD, Premiere HD, Anixe HD und arte HD
Hinweis: Der Testbetrieb von Pro7 HD und Sat.1 HD wurde bis voraussichtlich 2010 eingestellt!!
Anders als die ersten Testausstrahlungen von Pro7 und Sat.1 in HDTV, senden diese beiden Sender ihre aktuelle HDTV-Parallelausstrahlung nicht mehr über DVB-S sondern über DVB-S2. Dieses Format ist auf Hardwareseite inkompatibel zu DVB-S-TV-Karten. Dafür sind dann der aktuellste Developer-VDR mit Patchen nötig sowie der multiproto DVB-Treiber (noch nicht im Kernel und auch nicht absehbar wann er das je sein wird). HDTV über DVB-C kann mit den normalen DVB-C Karten empfangen werden.
Ein weiteres Hindernis für die Wiedergabe dieser HDTV-Ausstrahlungen ist, dass Pro7 HD, Sat.1 HD, Premiere HD, Anixe HD und arte HD nicht in MPEG2 sondern in MPEG4/H.264 senden. Dieses Videoformat ist bei der Decodierung deutlich rechenintensiver als MPEG-2 und somit vermutlich bei Softwaredekodierung nicht ruckelfrei auf einem Rechner mit weniger als 3 GHz wiederzugeben. Auch Hardware-Hersteller werden bei der Entwicklung von Chips, die H.264 in voller HD-Auflösung von 1920 × 1080 Bildpunkten wiedergeben können, vor größere Probleme gestellt, weswegen es momentan nur wenige Geräte (meist Standalone-Lösungen wie z. B. den Pace S810und den Humax PR-HD1000) für diesen Zweck gibt.
Was braucht mein VDR für HDTV?
Hardware-Anforderungen – Ideal
zusätzliche Anforderungen zum Wiedergeben der HDTV-Inhalte:
- ein schneller Rechner (z. B. Pentium IV ab 3 GHz oder Athlon64 ab 2 GHz). Sollen die HD-Inhalte nicht auf dem Rechner mit den DVB-Karten sondern über das Netzwerk auf einem anderen Rechner wiedergegeben werden, so gilt dies nur für den Client-Rechner und nicht für den Rechner mit TV-Karten.
- bei langsamen Rechnern ist die Verwendung von internen und externen Hardwaredekodern möglich - Übliche Hardwaredekoder sind:
- Reel-HDe (intern)
- Broadcom HDTV (intern)
- Popcorn Hour (standalone Player)
- eine VDPAU-fähige Grafikkarte
- Im Gegensatz zu DVB-S und DVB-S2 wird bei DVB-C HDTV von den herkömmlichen Tunern empfangen. Einen C2-Standard gibt es hier "noch" nicht. Ein Ausgabedevice muss dementsprechend AVI oder H.264 (MPEG4) unterstützen. Eine FF-Karte als Ausgabedevice scheidet deshalb aus. Der Weg führt also mehr oder weniger zwansläufig zur Reel-HDe oder einer VDPAU-Lösung(Nvidia Grafikkarte/ GPU auf Motherboard (8x00/ 9x00 Chipsatz))
Software
Anforderungen – Minimal
zum Aufnehmen und zum Streamen auf andere Rechner:
- Einfaches Aufnehmen einer HDTV-Ausstrahlung setzt bei neueren VDR-Versionen keine zusätzliche Software voraus. Wird eine Full-featured-DVB-Karte zum Aufnehmen verwendet, so ist Firmware-Version FD2623 oder neuer nötig, diese Firmware verhindert einen Absturz des ARM-Chips auf diesen Karten während des Empfangs von HD-Inhalten. Alternativ kann auch die Ausgabe der HD-Inhalte über die FF-Karte verhindert werden; dies geht z. B. durch Abspielen einer Nicht-HD-Aufnahme während der gesamten Aufnahmezeit oder idealerweise mit dem Hauptmenüeintrag "Suspend TV output", der vom Streamdev-Server-Plugin bereitgestellt wird.
- Streamen eines HDTV-Programms an einen HTTP- oder VDR-Client (lokal oder über das Netzwerk) setzt das Streamdev-Server-Plugin voraus.
Installation
Eine Anleitung für eine HDTV-fähige VDR-Installation ist unter OpenSUSE_VDR_DVB-S2 zu finden. Die Anleitung lässt sich auch auf andere Linuxdistributionen anwenden.
Erfolgreiche Kombinationen (Bitte ergänzen):
- vdr-1.3.43, streamdev aus CVS, P3 800 MHz Aufnahme + Gleichzeitiges streamen zu P4/2.8 GHz, Windows 2k, vlc-0.8
- vdr-1.3.22, streamdev-CVS-20050313, P3 800 MHz Aufnahme + Gleichzeitiges streamen zu P4/2.8 GHz, Windows 2k, vlc-0.81
- LinVDR0.7 mit MT-Patch 20050403, DarkAngels Kernel 2.6.10 -> funktionierendes Live-HDTV!
- VDR 1.3.28, streamdev-0.3.3-pre3-geni, xine-Plugin 0.7.4 und xine v0.99.3cvs unter Suse 9.2: funktioniert, wenn auch auf meinem System mit starkem Ruckeln (P4-2533).
- VDR 1.3.29, streamdev-0.3.3-pre3-geni, MPlayer 1.07 unter Debian 3.1 selbst kompiliert: Streamen von HDTV per TransportStream, im Zweifelsfall Protokoll mit in der URL angeben: mplayer http://vdr:3000/TS/90, d. h. der VDR-Rechner ist im Netzwerk mit dem Namen vdr ansprechbar, ansonsten IP-Adresse verwenden, Kanal 90 ist der HDTV-Sender, natürlich anpassen. So läuft HDTV auf meinen P4-3.2Ghz perfekt.
- VDR 1.4.0, vdr-xine 0.7.9, libxine1 1.1.1-1vdr1 und xine-ui 0.99.3-1.3: alles auf demselben Rechner (2x AthlonMP @2000 MHz) funktioniert ruckelfrei bei 1440x1024 (Canal+ HD) und 1920x1088 (Astra HD).
- VDR 1.4.0, vdr-xine-0.7.9, xine-lib-cvs-20060319194500, xine-ui-cvs-20060319194500, 1x AthlonXP2000, Stream in Datei speichern, danach abspielen, Canal+ und AstraHD meistens ruckelfrei, aber Artefakte.
- VDR 1.4.1, streamdev aus CVS, AMD Athlon XP 1800+, über 100Mbit-LAN oder 54MBit-WLAN an einen Windows XP Rechner streamen und mit VLC ansehen (Canal+ und AstraHD) mit Artefakten.
- VDR 1.4.2-1ctvdr2, streamdev-0.3.3-pre3-geni, gestreamed an Pentium M 1.6GHz, 100Mbit-LAN, VLC 0.85 (HD-Hit, Euro1080 HD-1) ohne Deinterlacing ruckelfrei, mit Deinterlacing Tonaussetzer.
- VDR 1.4.4-Toxic-Tonic Edition, streamdev-0.3.3-pre3-geni, VDR mit 733 MHz und nexus -s bzw. nova se2 streamed an Athlon64 3500+, 1Gbit-LAN, VLC 0.85 (Astra HD). Stream von Nexus mit Tonaussetzer und Artefakte, Stream von se2 ohne Probleme. Bei Deinterleacing mit Bob merkwürdiges Ruckeln, Deinterleacing anderer Art OK.
channels.conf für HDTV per Sat ASTRA 19.2E
: ->HDTV Deutsch arte HD;ZDFvision:11361:hC23M16O35S1:S19.2E:22000:6210=27:6221=deu,6222=fra:6230:0:11120:1:1011:0 ANIXE HD;BetaDigital:11302:hC910M2O35S1:S19.2E:22000:255:0;259=deu:0:0:4900:1:1007:0 ASTRA HD+;BetaDigital:11302:hC910M2O35S1:S19.2E:22000:511:0;515=deu:0:0:4901:1:1007:0 ORF 1 HD;ORF:10832:hC56M2O0S0:S19.2E:22000:1920:1921=deu,1922=eng;1923=deu:1925:D05,1702,1801:61920:1:1057:0 PREMIERE HD,PREM HD;PREMIERE:11914:hC910M2O35S1:S19.2E:27500:767:0;771=deu,772=eng:32:1830,1833,9C4,1801:129:133:6:0 DISCOVERY HD,DISC HD;PREMIERE:11914:hC910M2O35S1:S19.2E:27500:1023:0;1027=deu:32:1830,1833,9C4,1801:130:133:6:0 : ->HDTV Demokanal EinsFestival HD;ARD:12422:hC34O0S0:S19.2E:27500:1601:1602=deu;1606=deu:0:0:28396:1:1201:0 Simul HD;IRT:11361:hC23M5O35S1:S19.2E:22000:6410:6420=deu:0:0:11140:1:1011:0 : ->HDTV teilweise ausser Betrieb bis 2010 ProSieben HD;ProSiebenSat.1:12722:hC23M5O35S1:S19.2E:22000:255:0;259=deu:0:0:10200:1:1119:0 Sat1 HD;ProSiebenSat.1:12722:hC23M5O35S1:S19.2E:22000:511:0;515=deu:0:0:10201:1:1119:0 : ->HDTV Ausland CANAL+ HD;DIGITAL+:10847:vC56M2O0S0:S19.2E:22000:175:0:0:0:30162:1:1058:0 CANAL+ HI-TECH HD;CSAT:12522:vC23M5O35S1:S19.2E:22000:160:0;82=fra,83=eng:0:100:9201:1:1106:0 NATIONAL GEO HD;CSAT:12522:vC23M5O35S1:S19.2E:22000:161:0;86=fra:0:100:9202:1:1106:0 TF1 HD;CSAT:12522:vC23M5O35S1:S19.2E:22000:163:0;94=fra:0:100:9204:1:1106:0 CANAL HD TEST 3;IMEDIA:12522:vC23M5O35S1:S19.2E:22000:164+163:0;98=fra,99=eng:0:100:9220:1:1106:0 CINE PREMIER HD;CSAT:12580:vC23M5O35S1:S19.2E:22000:160:0;82=fra,83=eng:0:100:9301:1:1110:0 13EME RUE HD;CSAT:12580:vC23M5O35S1:S19.2E:22000:161:0;86=fra:0:100:9302:1:1110:0 DISNEY MAGIC HD;CSAT:12580:vC23M5O35S1:S19.2E:22000:162:0;90=fra,91=eng:0:100:9303:1:1110:0 M6 HD;CSAT:12580:vC23M5O35S1:S19.2E:22000:170:0;122=fra:0:100:9310:1:1110:0 FRANCE 2 HD;CSAT:12610:vC56O0S0:S19.2E:22000:171:124=fra;126=fra:0:0:9611:1:1112:0 TVP HD - test;TVP:10773:hC56O0S0:S19.2E:22000:517:700=pol;701=pol:0:0:17126:1:1053:0
Beispiel channels.conf für HDTV per DVB-C
PREMIERE HD,PREM HD;PREMIERE:346000:C0M256:C:6900:767:0;771=deu,772=eng:32:1830,1833,9C4,1801:129:133:6:0 DISCOVERY HD,DISC HD;PREMIERE:346000:C0M256:C:6900:1023:0;1027=deu:32:1830,1833,9C4,1801:130:133:6:0 ANIXE HD;BetaDigital:522000:C0M256:C:6900:1535:0;1539=deu:0:0:132:133:6:0
MPEG4-HDTV
Für den MPEG4-Stream über DVB-S braucht man ein gepatches szap für pmt/pat streaming (Siehe szap-pmt.diff), und viel Rechenpower. Nach aktuellen Informationen von Technotrend werden etwa im zweiten Quartal MPEG4-Hardwaredecoderkarten erwartet. Das sind die Nachfolgekarten der derzeitigen Premium 2300. Aufzeichnen geht aber bereits.
Premiere HD / DPC.TV11:11914:h:0:27500:767:772:129
Das aktuelle HDTV-Programm von Premiere wird über DVB-S2 gesendet und ist nicht mit einer DVB-S-Karte zu empfangen.
Auf HotBird gibt es einen H.264 Sender der mit DVB-S sendet
HD FORUM:11241:v:1:27500:33:36:13809
Hinweis: Der o.a Patch für szap ist in den aktuellen DVB-APPS schon integriert.
Installationsanleitung Ubuntu 9.04
Nvidia Installation
apt-get install build-essential xserver-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/init.d/gdm start
LIB Installation
apt-get install mercurial cvs subversion libncurses-dev zlib1g-dev apt-get install autoconf libtool automake pkg-config gettext apt-get install liba52-0.7.4-dev libmp3lame-dev libvorbis-dev libpng12-dev libx11-dev libxv-dev libasound2-dev
Firmware Installation
cd /usr/local/src apt-get install unrar -y cd /usr/local/src wget http://tevii.com/Tevii_linuxdriver_0815.rar unrar x Tevii_linuxdriver_0815.rar cp tevii_linuxdriver_0815/fw/dvb-fe-cx24116.fw /lib/firmware/dvb-fe-cx24116-1.23.86.1.fw ln -s /lib/firmware/dvb-fe-cx24116-1.23.86.1.fw /lib/firmware/dvb-fe-cx24116.fw
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
Xine-VDPAU
cd /usr/local/src svn co svn://jusst.de/xine-vdpau cd xine-vdpau ./autogen.sh ./configure --prefix=/usr make make install ldconfig -v
Xine-UI
cd /usr/local/src apt-get install libxt-dev libpostproc-dev wget http://home.vrweb.de/~rnissl/xine-ui-cvs-20090412200000.tar.bz2 tar xivf xine-ui-cvs-20090412200000.tar.bz2 cd xine-ui ./autogen.sh --prefix=/usr --enable-vdr-keys make make install
VDR 1.7.7
cd /usr/local/src apt-get install libfreetype6-dev libfontconfig1-dev libjpeg62-dev libcap-dev libncurses5-dev libncursesw5-dev wget ftp://ftp.cadsoft.de/vdr/Developer/vdr-1.7.7.tar.bz2 tar xivf vdr-1.7.7.tar.bz2 wget http://www.zulu-entertainment.de/page/klick.php?d=VDR+Extensions+Patch tar xivf VDR-Extensions-Patch-72.tar.bz2 cd vdr-1.7.7 patch -p1 < ../VDR-Extensions-Patch-72/vdr-1.7.7_extensions.diff mv Make.config.template Make.config
vi 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 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 = /media/video 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 ### VDR-Extensions: # Comment the patches you don't need # DVDCHAPJUMP needs DVDARCHIVE enabled # DVDARCHIVE needs LIEMIEXT enabled # SORTRECORDS needs LIEMIEXT enabled # you can only enable MENUORG or SETUP #ANALOGTV = 1 #ATSC = 1 #CHANNELSCAN = 1 #CMDRECCMDI18N = 1 #CMDSUBMENU = 1 #CUTTERLIMIT = 1 #CUTTERQUEUE = 1 #CUTTIME = 1 #DDEPGENTRY = 1 #DELTIMESHIFTREC = 1 #DOLBYINREC = 1 #DVBSETUP = 1 #DVDARCHIVE = 1 #DVDCHAPJUMP = 1 #DVLFRIENDLYFNAMES = 1 #DVLRECSCRIPTADDON = 1 #DVLVIDPREFER = 1 #EM84XX = 1 #GRAPHTFT = 1 #HARDLINKCUTTER = 1 #JUMPPLAY = 1 #LIEMIEXT = 1 #LIRCSETTINGS = 1 #LIVEBUFFER = 1 #LNBSHARE = 1 #MAINMENUHOOKS = 1 #MENUORG = 1 #NOEPG = 1 #OSDMAXITEMS = 1 #PARENTALRATING = 1 #PINPLUGIN = 1 #PLUGINAPI = 1 #PLUGINMISSING = 1 #PLUGINPARAM = 1 #ROTOR = 1 #SETTIME = 1 #SETUP = 1 #SOFTOSD = 1 #SOURCECAPS = 1 #SORTRECORDS = 1 #STREAMDEVEXT = 1 #TIMERCMD = 1 #TIMERINFO = 1 #TTXTSUBS = 1 #VALIDINPUT = 1 #VOLCTRL = 1 #WAREAGLEICON = 1 #YAEPG = 1 ### You don't need to touch the following: ifdef DVBDIR INCLUDES += -I$(DVBDIR)/include endif ifdef ANALOGTV DEFINES += -DUSE_ANALOGTV endif ifdef ATSC DEFINES += -DUSE_ATSC endif ifdef CHANNELSCAN DEFINES += -DUSE_CHANNELSCAN endif ifdef CMDRECCMDI18N DEFINES += -DUSE_CMDRECCMDI18N endif ifdef CMDSUBMENU DEFINES += -DUSE_CMDSUBMENU endif ifdef CUTTERLIMIT DEFINES += -DUSE_CUTTERLIMIT endif ifdef CUTTERQUEUE DEFINES += -DUSE_CUTTERQUEUE endif ifdef CUTTIME DEFINES += -DUSE_CUTTIME endif ifdef DDEPGENTRY DEFINES += -DUSE_DDEPGENTRY endif ifdef DELTIMESHIFTREC DEFINES += -DUSE_DELTIMESHIFTREC endif ifdef DOLBYINREC DEFINES += -DUSE_DOLBYINREC endif ifdef DVBSETUP DEFINES += -DUSE_DVBSETUP endif ifdef DVDARCHIVE ifdef LIEMIEXT DEFINES += -DUSE_DVDARCHIVE endif endif ifdef DVLRECSCRIPTADDON DEFINES += -DUSE_DVLRECSCRIPTADDON endif ifdef DVLVIDPREFER DEFINES += -DUSE_DVLVIDPREFER endif ifdef DVLFRIENDLYFNAMES DEFINES += -DUSE_DVLFRIENDLYFNAMES endif ifdef EM84XX DEFINES += -DUSE_EM84XX endif ifdef GRAPHTFT DEFINES += -DUSE_GRAPHTFT endif ifdef HARDLINKCUTTER DEFINES += -DUSE_HARDLINKCUTTER endif ifdef JUMPPLAY DEFINES += -DUSE_JUMPPLAY endif ifdef LIEMIEXT DEFINES += -DUSE_LIEMIEXT endif ifdef LIRCSETTINGS DEFINES += -DUSE_LIRCSETTINGS endif ifdef LIVEBUFFER DEFINES += -DUSE_LIVEBUFFER endif ifdef LNBSHARE DEFINES += -DUSE_LNBSHARE endif ifdef MAINMENUHOOKS DEFINES += -DUSE_MAINMENUHOOKS endif ifdef MENUORG DEFINES += -DUSE_MENUORG else ifdef SETUP DEFINES += -DUSE_SETUP endif endif ifdef NOEPG DEFINES += -DUSE_NOEPG endif ifdef OSDMAXITEMS DEFINES += -DUSE_OSDMAXITEMS endif ifdef PARENTALRATING DEFINES += -DUSE_PARENTALRATING endif ifdef PINPLUGIN DEFINES += -DUSE_PINPLUGIN endif ifdef PLUGINMISSING DEFINES += -DUSE_PLUGINMISSING endif ifdef PLUGINPARAM DEFINES += -DUSE_PLUGINPARAM endif ifdef ROTOR DEFINES += -DUSE_ROTOR endif ifdef SETTIME DEFINES += -DUSE_SETTIME endif ifdef SOFTOSD DEFINES += -DUSE_SOFTOSD endif ifdef SOURCECAPS DEFINES += -DUSE_SOURCECAPS endif ifdef SORTRECORDS ifdef LIEMIEXT DEFINES += -DUSE_SORTRECORDS endif endif ifdef STREAMDEVEXT DEFINES += -DUSE_STREAMDEVEXT endif ifdef TIMERCMD DEFINES += -DUSE_TIMERCMD endif ifdef TIMERINFO DEFINES += -DUSE_TIMERINFO endif ifdef TTXTSUBS DEFINES += -DUSE_TTXTSUBS endif ifdef VALIDINPUT DEFINES += -DUSE_VALIDINPUT endif ifdef VOLCTRL DEFINES += -DUSE_VOLCTRL endif ifdef WAREAGLEICON DEFINES += -DUSE_WAREAGLEICON endif ifdef YAEPG DEFINES += -DUSE_YAEPG endif
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/
Xineliboutput 1.0.4
cd /usr/local/src/vdr-1.7.7/PLUGINS/src apt-get install libextractor-dev wget http://heanet.dl.sourceforge.net/sourceforge/xineliboutput/vdr-xineliboutput-1.0.4.tar.bz2 tar xivf vdr-xineliboutput-1.0.4.tar.bz2 mv xineliboutput-1.0.4 xineliboutput
oder via cvs
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 xineliboutput make make install mkdir -p /etc/vdr/plugins/xineliboutput cp *.mpg /etc/vdr/plugins/xineliboutput/ cd ../../../ make plugins make install
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 \ -s /var/bin/vdrpoweroff.sh \ -P'xineliboutput -l none -r 37890 -p' \ -u root \ $*" 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.sh
#!/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 " /var/bin/runvdr > /var/log/vdr.log & /usr/bin/irexec -d /etc/irexec.conf & /usr/local/bin/switchtv init ;; stop) echo -n "Shutting down VDR " /usr/bin/killall irexec /usr/local/bin/switchtv kill /usr/bin/killall runvdr /bin/kill `/bin/pidof /usr/bin/vdr` 2>/dev/null ;; 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
/usr/local/bin/switchtv
mit Umschaltung zu XBMC
#!/bin/bash RUNAS="vdr" run_vdr() { killall -9 vdr-sxfe kill_xinit killall xbmc killall xbmc.bin su - $RUNAS -c "/usr/bin/xinit -e /usr/bin/vdr-sxfe --video=vdpau --post tvtime:method=use_vo_driver --audio=alsa --fullscreen --reconnect --lirc $@ &" } run_xbmc() { killall -9 vdr-sxfe kill_xinit /usr/local/bin/scanvdr & su - $RUNAS -c "/usr/bin/xinit -e /usr/share/xbmc/xbmc.bin -fs $@ &" } kill_xinit() { /usr/bin/killall xinit while [ true ] do [[ "`ps -ef | grep -v grep | grep xinit`" = "" ]] && break done } if [ "$1" = "xbmc" ];then run_xbmc elif [ "$1" = "vdr" ];then run_vdr elif [ "$1" = "init" ];then sleep 5 run_vdr elif [ "$1" = "kill" ];then killall -9 vdr-sxfe killall -9 xbmc killall -9 xbmc.bin elif [ -z "$1" ];then if [ "`ps -ef | grep -v grep | grep 'vdr-sxfe'`" != "" ];then echo "VDR application is running => starting XBMC ..." run_xbmc elif [ "`ps -ef | grep -v grep | grep 'xbmc'`" != "" ];then echo "XBMC application is running => starting VDR ..." run_vdr else echo "no application is running => starting VDR ..." run_vdr fi fi exit 0
X
/etc/init.d/gdm (muß disabled werden)
Edit file /etc/X11/Xwrapper.config: Change this line: allowed_users=console
to
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
/etc/lirc/hardware.conf
# /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
#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-
Audio
Vorsichthalber auf die neueste Alsa Version mit dem Script "AlsaUpgrade-1.0.x-rev-1.17.sh" upgraden und anschließend neu booten
Der User der vdr-sxfe startet muß(!) in der group "audio" sein
HDMI
Im folgenden sieht man daß HDMI Device auf 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/vdr/setup.conf 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
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
apt-get install xbmc
# Lircmap.xml <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 VDRREC="/var/lib/video.00" TVFILE="../tvshow.nfo" VDRINFO="info.vdr" NFOFILE="001.nfo" DVDTHUMB="../folder.jpg" DVDOFFSET="18000" DVD_XRES="1280" DVD_YRES="720" FANTHUMB="../fanart.jpg" FANOFFSET="20000" 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 {} \; fi VDR2JPEG="/usr/local/bin/vdr2jpeg" for i in $(find $VDRREC -name info.vdr) do VDRDIR=$(dirname $i) VDRFILE=$(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) 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 [ -f $VDR2JPEG ];then if [ ! -f $DVDTHUMB ];then echo "creating DVD thumbnails ..." $VDR2JPEG -x $DVD_XRES= -y $DVD_YRES -f $DVDOFFSET -r . mv 000${DVDOFFSET}.jpg $DVDTHUMB fi if [ ! -f $FANTHUMB ];then echo "creating FANART thumbnails ..." $VDR2JPEG -x $FAN_XRES= -y $FAN_YRES -f $FANOFFSET -r . mv 000${FANOFFSET}.jpg $FANTHUMB fi else echo "cannot create Fanart - $VDR2JPEG not found!" fi echo "---" done