VDR
Archivierte Anleitung
Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
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:
zeitgesteuerte Aufnahmen
zeitversetzte Wiedergabe ("Timeshifting")
Entfernen von Werbeblöcken
Nutzung des ElectronicProgramGuide http://www.vdr-wiki.de/wiki/index.php/EPG 🇩🇪
Darüber hinaus gibt es eine Vielzahl von Plugins, durch die der VDR um zahlreiche Funktionen erweitert werden kann, z.B.
Abspielen von DVD/VCD oder MP3s
Programmierung und Konfiguration per Web-Browser
Brennen von Aufnahmen auf DVD
E-Mails lesen
Wettervorhersage
Spiele
u.v.m.
Hardwarevoraussetzungen¶
Für den Betrieb eines VDR ist mindestens eine kompatible TV-Karte (siehe Eingabegeräte) 🇩🇪 nötig.
Die Ausgabe auf den Fernseher kann über folgende Varianten erreicht werden:
Als CPU kann man bereits mit einer Intel-Atom-CPU (oder vergleichbares) starten, eine stromsparende Dual-Core-CPU ist anzuraten.
2 GB Speicher sollten genügen.
Mainboards mit PCIe-Bus sind empfehlenswert, weil fast alle modernen Twin- oder Quad-DVB-Karten auf diesen Bus aufsetzen
Die Festplatte zum Aufnehmen kann eigentlich nie zu groß sein. Platten ab 3 TiB machen aber u.U. Probleme
Weitere Informationen gibt es im VDR-Portal 🇩🇪 und im VDR-Wiki 🇩🇪.
VDR-Versionen in Ubuntu¶
Ubuntu enthält häufig ältere VDR- und Pluginpakete:
Ubuntu 14.04: VDR 2.0.3
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:
vdr (universe, Hauptprogramm)
Befehl zum Installieren der Pakete:
sudo apt-get install 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 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, muss man den Signierungsschlüssel mit folgendem Befehl importieren:
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 8103B360
Addons und Plugins¶
Die Addons und Plugins sind prinzipiell nach folgendem Schema benannt:
vdr-addon-<Addon Name>
vdr-plugin-<Plugin Name>
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.
Ausgabe¶
Es gibt mehrere Möglichkeiten für die grafische Ausgabe von VDR.
Full-Featured Karte¶
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.
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:
blacklist vesafb
blacklist vga16fb
blacklist nvidiafb
(nur wenn eine nVidia-Grafikkarte im Rechner verbaut ist)
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:
VDR-Live 🇩🇪
VdrAdmin AM 🇩🇪
Xxv 🇩🇪
Diverses¶
Minimal-Installation¶
Für einen minimalen VDR mit Web-Oberfläche und Streaming-Funktion müssen folgende Pakete installiert[1] werden:
vdr (universe, Hauptprogramm)
vdradmin-am (universe, Web-Oberfläche)
vdr-plugin-streamdev-server (universe, erlaubt das Streamen ins Netzwerk)
Befehl zum Installieren der Pakete:
sudo apt-get install vdr vdradmin-am vdr-plugin-streamdev-server
Oder mit apturl 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
Befehl zum Installieren der Pakete:
sudo apt-get install vdrsymbols-ttf
Oder mit apturl installieren, Link: apt://vdrsymbols-ttf
Anschließend stellt man im OSD den Zeichensatz "VDR Symbols" ein.
Links¶
intern¶
Howto/VDR (Headless) - den "Video Disc Recorder" zu Hause "headless" als Aufnahme- und Abspielgerät nutzen
extern¶
Projektseite 🇩🇪
VDR-Forum 🇩🇪
VDR-Wiki 🇩🇪
yaVDR 🇬🇧 - Ubuntu-basierte VDR-Distribution mit XBMC
HowTo - Ubuntu 10.04 – VDR 1.7.14 & VNSI-Server für XBMC vorbereiten 🇩🇪