HDTV

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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:
  • 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
rm /lib/firmware/dvb-fe-cx24116.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 -r 261 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 = /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

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