VDR

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte hilf mit, indem du diesen Artikel testest. Wiki/FAQ - häufig gestellte Fragen (Abschnitt „Wikiartikel-testen“).

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Verwenden eines PPAs

  3. Ein Terminal öffnen

  4. Einen Editor verwenden

Inhaltsverzeichnis
  1. Hardwarevoraussetzungen
  2. VDR-Versionen in Ubuntu
  3. Distributionen
  4. Installation
    1. Ubuntu-Quellen
    2. PPA
    3. e-tobi-Quellen
    4. Addons und Plugins
    5. Grundsätzliches
  5. Sender einstellen
    1. DVB
    2. Analog-TV
  6. Ausgabe
    1. Full-Featured Karte
    2. Ausgabe über Grafikkarte
    3. Ausgabe über PVR 350
    4. Streaming Server
  7. Web-Oberflächen
  8. Diverses
    1. Minimal-Installation
    2. Konfiguration
    3. Problembehebung
  9. Links
    1. intern
    2. extern

./vdr-logo-small.jpg Der VDR (Video Disk Recorder) 🇬🇧 von Klaus Schmidinger ist eine Software für einen digitalen Videorekorder auf Linux-Basis. Ursprünglich war die Software ausschließlich dafür ausgelegt sog. Full-Featured-Karten zu unterstützen und benötigte dafür auch nur sehr geringe Hardwareanforderungen. Mittlerweile geht der Trend immer mehr zu HDTV, was sich im Entwicklerzweig des VDR 1.7 realisieren ließ. Neben vielen Coderweiterungen und Fehlerbereinigungen lassen sich Version ab VDR 1.7.21 im Produktivbetrieb stabil einsetzen. Nativ wird auch die FF-HD-Karte von Technotrend unterstützt, womit sich HDTV ebenso ressourcenschonend einsetzen lässt, wie mit den Plugins xine, xineliboutput oder neu softhddevice, die aber eine VDPAU-fähige Grafikkarte (Nvidia > 8xxx) benötigen. Neben der einfachen Aufzeichnung oder Wiedergabe von TV-Signalen (DVB), stellt diese Software ein funktionsreiches und modular aufgebautes Media-Center dar und bietet auch interessante Funktionen:

Darüber hinaus gibt es eine Vielzahl von Plugins, durch die der VDR um zahlreiche Funktionen erweitert werden kann, z.B.

Hardwarevoraussetzungen

Weitere Informationen gibt es im VDR-Portal 🇩🇪 und im VDR-Wiki 🇩🇪.

VDR-Versionen in Ubuntu

Ubuntu enthält häufig ältere VDR- und Pluginpakete:

Wer zur vorhandenen Ubuntuversion eine neuere VDR-Version als die angebotene nutzen möchte, sollte sich die PPAs der beiden auf Ubuntu basierenden Distributionen easyVDR und yaVDR ansehen (siehe auch nächster Abschnitt).

Distributionen

Aktueller sind fertig konzeptionierte Distributionen. Der Nutzen einer fertigen Distribution, bei der die Entwickler bereits einen Großteil der Konfiguration und Abhängigkeiten erledigt haben und man - unterstützte Hardware vorausgesetzt - innerhalb kurzer Zeit einen rudimentären VDR erhält, ist für den Anfänger sicher ein schnellerer Erfolgsweg. Als bekannteste Vertreter, die Ubuntu als Basis nutzen, seien hier easyVDR 🇩🇪 und yaVDR 🇬🇧 genannt.

Installation

Voraussetzung für einen erfolgreichen Betrieb des VDR ist die korrekte Einrichtung der TV-Karte(n). Es werden DVB-C, DVB-S/S2, DVB-T sowie mit Einschränkungen auch analoge TV-Karten (bevorzugt Hauppauge PVR Serie) unterstützt. Näheres zur Konfiguration findet man unter TV-Karten.

Nutzen einer beliebigen Ubuntubasis, bei der alle Konfigurationen selbst erledigt werden müssen. Vorteil ist ein komplett nach den eigenen Wünschen konfiguriertes System,

Ubuntu-Quellen

Für eine Grundinstallation muss folgendes Paket installiert[1] werden:

Paketliste zum Kopieren:

sudo apt-get install vdr 

Oder mit apturl die Pakete installieren. Link: apt://vdr

PPA

Möchte man eine aktuelle Version des VDRs nutzen, bieten sich die "Personal Package Archive" (PPA) [2] des The VDR Teams bzw yaVDR an. Vorteile dieser PPAs sind unter anderem aktuelle und angepasste nVidia-Treiber, die mittels vdpau hardwarebeschleunigte Videowiedergabe, und eine speziell auf VDR zugeschnittene Xine-Version.

Ubuntu 14.04

Um das Programm aus dem PPA Wiki/Vorlagen/PPA/ppa.png stable-vdr von yaVDR zu installieren, muss für Ubuntu 14.04 die folgenden Paketquellen eingetragen werden:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.

Für die sources.list:

deb http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu trusty main 
deb-src http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu trusty main

Um die Fremdquelle zu authentifizieren, kann man den Signierungsschlüssel mit folgendem Befehl importieren:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 8103B360  

e-tobi-Quellen

Es existiert eine weitere Quelle für VDR, nähere Einzelheiten unter e-Tobi-Paketquelle 🇩🇪.

Addons und Plugins

Die Addons und Plugins sind prinzipiell nach folgendem Schema benannt:

Für Hauppauge PVR-Karten benötigt man das Paket vdr-plugin-pvrinput, für andere analoge TV-Karten (Achtung: Hohe Hardware-Anforderungen, nur eine analoge Karte möglich) das Paket vdr-plugin-analogtv, die nicht in den Ubuntu-Quellen enthalten sind. Bei entsprechenden TV-Karten empfiehlt es sich daher die alternativen Quellen von e-Tobi 🇬🇧 oder "The VDR Team" aka "yaVDR" zu nutzen. Nach jeder Plugin-Installation sollte der VDR neu gestartet werden, um das neu installierte Plugin verwenden zu können.

Will man nicht mittels aptitude oder Synaptic nach den Plugins suchen, kann man sich verfügbare Erweiterungen auch diesem Befehl in der Shell anzeigen lassen:

sudo apt-cache search vdr* 

Grundsätzliches

Man kann den VDR entweder als normales Programm (vdr) starten oder als Dienst beim Systemstart automatisch laden lassen. Dazu muss man in der Datei /etc/default/vdr in einem Editor[4] mit Root-Rechten folgenden Änderung vornehmen:

# VDR automatisch beim Start laden
# Change to 1 do enable vdr's init-script
ENABLED=1

# VDR ermöglichen den Rechner auszuschalten
# Change this to 1 if you want vdr to be able to shutdown the
# computer
ENABLE_SHUTDOWN=1

Beim nächsten Neustart wird der VDR automatisch ausgeführt.

Um den VDR als Dienst zu beeinflussen, kann man folgende Befehle verwenden:

# VDR starten
sudo /etc/init.d/vdr start
# VDR stoppen
sudo /etc/init.d/vdr stop
# VDR neu starten
sudo /etc/init.d/vdr restart 

Sender einstellen

Hinweis:

Wie bei allen Änderungen an den Konfigurationsdateien sollte VDR zuvor gestoppt werden, da die Veränderung ansonsten unter Umständen nicht übernommen wird.

DVB

Damit der VDR weiß, welche Sender er anzeigen soll, muss die Datei /var/lib/vdr/channels.conf mit den Senderdaten gefüllt werden. Die Senderliste kann von Hand verändert werden, solange die richtige Syntax 🇩🇪 eingehalten wird. Am einfachsten ist der Sendersuchlauf mit w scan. Alternativ kann man mit dem Wirbelscan-Plugin aus den e-Tobi-Quelle 🇩🇪 im OSD des VDR die Senderliste erstellen lassen. Dies funktioniert für alle gängigen Empfangsarten (Analog-TV nur mit PVR).

Analog-TV

Nutzt man Analog-TV mit einer Hauppauge-PVR-Karte, so bietet sich für die Sendersuche am besten das Wirbelscan-Plugin 🇩🇪 aus den e-Tobi-Quellen 🇩🇪 an. Die Sendersuche wird dann über das OSD in den Plugin-Einstellungen aufgerufen.

Ausgabe

Es gibt mehrere Möglichkeiten für die grafische Ausgabe von VDR.

Die einfachste Variante, einen VDR in Betrieb zu nehmen, ist die sogenannte "Full-Featured-" oder kurz "FF"-Karte. Diese sind für DVB-S, DVB-C und DVB-T (aber nur mit eingeschränktem Empfang) erhältlich. Sie dekodiert das MPEG2-Signal über einen Decoderchip auf der Karte. Das Fernsehsignal ist dann direkt als Video- und Audio-Signal über die Karte für den Anschluss an den Fernseher verfügbar. Über einen Adapter kann es an den SCART-Anschluss des Fernsehers angeschlossen werden. Weitere Vorteile der FF-Karten sind: Direktanschluss der Fernbedienung (mit RC5 Code), Ausgabe von Dolby Digital Ton über SPDIF. Der Nachteil: die FF-Karten sind kaum noch neu erhältlich (gebraucht im vdrportal 🇩🇪 oder bei Internetauktionshäusern) und nicht HD-fähig. Infos dazu im vdr-wiki 🇩🇪.

Hinweis:

Ab VDR 1.7.11 (z.B. von yaVDR) muss das Paket vdr-plugin-dvbsddevice installiert werden, damit eine FF-Karte überhaupt Signale an ihren Ausgängen ausgibt.

Ausgabe über Grafikkarte

Xine

Direkt

Benutzt man eine Xine-Version, in der die VDR-Unterstützung mit kompiliert wurde (zum Beispiel aus dem PPA), und das xine-plugin 🇩🇪 installiert ist, so kann man lokal direkt auf den VDR zugreifen:

xine vdr:// 

Dies greift den Stream aus der Pipe /tmp/vdr-xine/stream ab.

Via TCP/IP

Mit dem xine-plugin 🇩🇪 oder xine-liboutput-plugin 🇩🇪 kann man auch ohne Full-Featured-Karte die Oberfläche des VDR ausgeben - und das sogar übers Netzwerk. Zu beachten ist, jedoch, dass pro VDR-Instanz nur ein Client eine Verbindung zur VDR aufbauen kann.

Dadurch wird ein HTTP-Stream der Oberfläche des VDR auf Port 37890 erzeugt, der z.B. mit (g)xine oder VLC angezeigt werden kann. Der Stream kann in der Standardeinstellung nur lokal am Rechner mit VDR empfangen werden.

In /etc/vdr/plugins/plugin.xineliboutput.conf kann man die Bindung an eine Netzwerkadresse bzw. Port festlegen. In der Standard-Einstellung kann nur vom localhost aus zugegriffen werden. Mit der folgenden Option stellt er den HTTP-Stream auch Clients im Netzwerk als HTTP-Stream auf Port 8888 zur Verfügung.

--remote=8888

Ideal für die Darstellung inklusive OSD des VDR ist das Programm vdr-sxfe geeignet. Falls man mehrere Rechner benutzt, sollte darauf geachtet werden, auf allen die gleichen Paketquellen bzw. die gleichen Programmversionen von vdr, vdr-plugin-xineliboutput und vdr-sxfe zu verwenden. Bei geeigneter nVidia-Grafikkarte und installierte VDPAU-Unterstützung kann die Videoausgabe hardwarebeschleunigt erfolgen.

Folgender Befehl ruft z.B. den vom Xinelibiutput-Plugin bereitgestellten Stream auf:

vdr-sxfe xvdr+tcp://<IP des VDR> 

Für (g)xine existiert die Erweiterung libxine1-xvdr, die bequem über die Paketverwaltung installiert werden kann und in (g)xine nach Angabe der IP-Adresse des VDR den Zugriff auf den Stream und die Steuerung des VDR über eine Software-Fernbedienung ermöglicht.

HD mit XINE

Will man mit XINE HD sehen, zum Beispiel via DVB-S2, so müssen in der Datei ~/.xine/config die Werte der Puffer erhöht werden, da ansonsten das Bild und Ton ruckeln:

engine.buffers.audio_num_buffers:750
engine.buffers.video_num_buffers:1500

Ausgabe über PVR 350

Die Hauppauge PVR 350 erlaubt es Bild und Ton des VDR über ihren Videoausgang auszugeben. Dabei muss beachtet werden, dass einige Einschränkungen aufgrund der verbauten Hardware bestehen: Es können nur MPEG2-Videos wiedergegeben werden. Die Plugins zur Anzeige von Bildern, Musik und anderen Videos funktionieren nicht ohne einige Verrenkungen. Daher eignet sich diese Karte vor allem, wenn man nur die TV-Funktionalität des VDR nutzen möchte.

In den e-Tobi-Paketquelle 🇩🇪 findet man das Paket vdr-plugin-pvr350. Damit die Ausgabe funktioniert, muss man die PVR 350 als Framebuffer-Gerät einrichten.

Hinweis:

Man sollte vor den folgenden Änderungen einen SSH (Abschnitt „Der-SSH-Server“)-Server auf dem Rechner installieren und die Möglichkeit haben von einem zweiten Rechner aus darauf zuzugreifen, da bei einer versehentlichen Fehlkonfiguration die grafische Ausgabe des Rechners blockiert wird.

Als erstes muss man Ubuntu erlauben, einen Framebuffer zu laden. Dazu editiert man die Datei /etc/modprobe.d/blacklist-framebuffer.conf und kommentiert die folgenden Einträge aus:

Die Datei sollte nun in etwa so aussehen:

blacklist cyber2000fb
blacklist cyblafb
blacklist gx1fb
blacklist hgafb
blacklist i810fb
blacklist intelfb
blacklist kyrofb
blacklist lxfb
blacklist matroxfb_base
blacklist neofb
blacklist nvidiafb
blacklist pm2fb
blacklist rivafb
blacklist s1d13xxxfb
blacklist savagefb
blacklist sisfb
blacklist sstfb
blacklist tdfxfb
blacklist tridentfb
#blacklist vesafb
blacklist vfb
#blacklist vga16fb
blacklist vt8623fb

Nun müssen die Module für die PVR 350 beim Start geladen werden, dazu man fügt in die Datei /etc/modules die folgenden Zeilen ein:

ivtv
ivtvfb

Zuletzt müssen noch die Datei /etc/default/grub angepasst, und ein paar Parameter übergeben werden. Die Zeile

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

wird um folgende Parameter ergänzt:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash vga=0x317 video=vc:64-64 video=map:1"

Nun wird die Framebuffer-Device fb1 erzeugt und die Grub-Bootliste neu geschrieben:

sudo mknod /dev/fb1 c 29 1   # Erzeugt den Framebuffer fb1
sudo chmod 666 /dev/fb1      # Setzt die Rechte
sudo update-initramfs -u     # Bezieht die Änderungen in die Intial Ramdisk ein
sudo update-grub             # Schreibt die neue Grub-Konfiguration weg. 

Nach einem Neustart sollte das Bild des VDR über den Videoausgang der PVR 350 angezeigt werden. Um die Fernbedienung der PVR 350 anzulernen, muss die Datei /etc/vdr/remote.conf gelöscht und der VDR neu gestartet werden.

Streaming Server

Mittels des Plugins vdr-plugin-streamdev-server stellt der VDR die empfangenen Sender als Video-Streams zur Verfügung. In der Datei /etc/vdr/plugins/streamdevhosts.conf stellt man ein, für welche Netzwerkbereiche ein Stream bereitgestellt wird. Das folgende Beispiel zeigt die Freigabe für alle Rechner mit der IP 192.168.178.x:

# streamdevhosts  This file describes a number of host addresses that
#                 are allowed to connect to the streamdev server running
#                 with the Video Disk Recorder (VDR) on this system.
# Syntax:
#
# IP-Address[/Netmask]
#
127.0.0.1             # always accept localhost
192.168.178.0/24      # any host on the local net
#204.152.189.113      # a specific host
#0.0.0.0/0            # any host on any net (USE THIS WITH CARE!)

Man kann über das streamdev-plugin keine Aufzeichnungen streamen (Stand: Jan. 2012, Quelle: www.vdr-wiki.de).

Web-Oberflächen

Für den VDR gibt es die Möglichkeit per Weboberfäche auf den EPG zuzugreifen und Aufnahmen zu programmieren sowie Aufgenommene Sendungen als Stream anzusehen.

Folgende Varianten stehen zur Verfügung:

Diverses

Minimal-Installation

Für einen minimalen VDR mit Web-Oberfläche und Streaming-Funktion müssen folgende Pakete installiert[1] werden:

Paketliste zum Kopieren:

sudo apt-get install vdr vdradmin-am vdr-plugin-streamdev-server 

Oder mit apturl die Pakete installieren. Link: apt://vdr,vdradmin-am,vdr-plugin-streamdev-server

Konfiguration

Es müssen neben der channels.conf (s.o.) nur wenige Konfigurationsdateien angepasst werden, bevor man den VDR starten kann.

Z.B. Pfad für die Video Aufnahemen /etc/default/vdr:

VIDEO_DIR="/media/daten"

Lässt man den vdr wie weiter unten beschrieben als daemon laufen (/etc/init.d/vdr) ist darauf zu achten, das der Pfad für die Video Aufnahmen die entsprechenden Rechte für den User vdr hat. Der vdr daemon prüft diese beim Programmstart und beendet sich sofort mit einer entsprechenden Fehlermeldung.

vdradmind.conf

Benutzt man das Webinterface vdradmin-am, so muss die Datei /var/lib/vdradmin-am/vdradmind.conf angepasst werden:

PASSWORD = passwort
USERNAME = benutzer

Hier werden Benutzer und Passwort für die Web-Oberfläche festgelegt. Man sollte sie auf jeden Fall ändern.

Achtung!

Achtung, das Passwort ist im Klartext gespeichert und könnte von jedem Benutzer mit Leserechten auf diese Datei ausgespäht werden!

Autostart aktivieren: /etc/default/vdr

	ENABLED=1

und /etc/default/vdradmin-am

	ENABLED="1"

Starten der installierten Minimal-Installation:

sudo /etc/init.d/vdr start
sudo /etc/init.d/vdradmin-am start 

Achtung: Der DAEMON /usr/bin/vdradmind darf nicht einfach per sudo gestartet werden, sondern muss über vdradmin-am gestartet werden. Nur so wird sichergestellt, dass die ggf. neu erstellten Konfigurationsdateien usw. dem richtigen User (vdradmin-am) und nicht root gehören.

Die Weboberfläche erreicht man dann im Browser via:

http://localhost:8001/

oder, von einem anderen Rechner als dem VDR-Server selbst, mit der passenden IP-Adresse.

streamdevhosts.conf

127.0.0.1             # always accept localhost
192.168.0.0/24        # any host on the local net

In der Datei /etc/vdr/plugins/streamdevhosts.conf werden die Hosts eingetragen, die auf den Stream zugreifen dürfen. Will man zu anderen Rechnern als localhost streamen, müssen diese hier eingetragen werden. Man kann auch gleich ein ganzes Subnetz freigeben, wie hier 192.168.0.0/24 (d.h. alle IPs von 192.168.0.1 bis 192.168.0.254).

Den Stream-Server erreicht man mit dem Player der Wahl folgendermaßen:

# mit mplayer Programm 1 ansehen:
mplayer http://VDR_SERVER_IP:3000/1
# mit vlc Programm 2 ansehen:
vlc http://VDR_SERVER_IP:3000/2 

Verzeichnis für Aufnahmen

VDR speichert die Aufnahmen automatisch unter /var/lib/video.00. Will man dies nicht, bietet es sich an, einen Symlink auf ein anderes Verzeichnis zu erstellen (Achtung: Rechte beachten!), oder den entsprechenden Eintrag in der Konfigurationsdatei (bei ausgeschaltetem VDR, der ansonsten die Änderung wieder überschreibt) zu ändern.

Problembehebung

Man sollte sich zuerst vergewissern, dass man die Konfigurationseinstellungen richtig vorgenommen hat. Wichtig ist zudem noch, dass die richtigen Kernelmodule geladen sind, was sich mit einem lsmod (ggf. in Verbindung mit grep) herausfinden lässt:

lsmod | grep dvb 

Weitere Debug-Informationen erhält man in der Ausgabe von dmesg:

dmesg 

Läuft ein manueller Sendersuchlauf korrekt durch und findet Sender, ist die DVB-Karte wahrscheinlich funktionstüchtig und das Problem liegt am VDR. Bringt ein Sendersuchlauf jedoch keine Resultate, liegt das Problem wiederum an der Konfiguration der Karte und wahrscheinlich nicht am VDR.

Sonderzeichen

Werden im OSD die Sonderzeichen nicht richtig angezeigt, so muss der passende Zeichensatz installiert werden:

  • vdrsymbols-ttf

Paketliste zum Kopieren:

sudo apt-get install vdrsymbols-ttf 

Oder mit apturl die Pakete installieren. Link: apt://vdrsymbols-ttf

Anschließend stellt man im OSD den Zeichensatz "VDR Symbols" ein.

intern

extern