[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Paketquellen freischalten/PPA: Verwenden eines PPAs] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor verwenden] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./vdr-logo-small.jpg, align=left)]] Der [http://www.tvdr.de/ VDR (Video Disk Recorder)] {en} 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 '''E'''lectronic'''P'''rogram'''G'''uide [http://www.vdr-wiki.de/wiki/index.php/EPG] {de} 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 [http://www.vdr-wiki.de/wiki/index.php/Eingabeger%C3%A4te Eingabegeräte]) {de} nötig. * Die Ausgabe auf den Fernseher kann über folgende Varianten erreicht werden: 1. [http://www.vdr-wiki.de/wiki/index.php/Ausgabeger%C3%A4te Full-Featured-Karte] {de} 1. [http://www.vdr-wiki.de/wiki/index.php/DVB-S2_full-featured-Karten Full-Featured-HD-Karte] {de} 1. [http://www.vdr-wiki.de/wiki/index.phpHauppaugePVR#Hauppauge_PVR_350 Hauppauge Hauppauge PVR 350] {de} 1. [http://www.vdr-wiki.de/wiki/index.php/EHD Reel eHD-Karte] {de} 1. [http://www.vdr-wiki.de/wiki/index.php/Kategorie:Budget-Only_Systeme Soft-Device-Plugins] {de} 1. [http://www.vdr-wiki.de/wiki/index.php/Streamdev-plugin#Streamdev-server Streaming-Server] {de} * 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 [http://www.vdr-portal.de VDR-Portal] {de} und im [http://www.vdr-wiki.de/ VDR-Wiki] {de}. = 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 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 [http://www.easy-vdr.de/ easyVDR] {de} und [http://www.yavdr.org/ yaVDR] {en} 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: {{{#!vorlage Paketinstallation vdr, universe, Hauptprogramm }}} == PPA == Möchte man eine aktuelle Version des VDRs nutzen, bieten sich die "Personal Package Archive" (PPA) [2] des [lpuser:the-vdr-team:The VDR Teams] bzw [lpuser:yavdr: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 [:Launchpad/PPA:PPA] [[Bild(Wiki/Vorlagen/PPA/ppa.png)]] [https://launchpad.net/~yavdr/+archive/stable-vdr stable-vdr] von [lpuser:yavdr:yaVDR] zu installieren, muss für [:Trusty:Ubuntu 14.04] die folgenden Paketquellen eingetragen werden: [[Vorlage(Fremd, Quelle)]] ##Für [:Synaptic:] oder [:Softwareverwaltung KDE:]: '''ppa:yavdr/stable-vdr''' (dabei wird automatisch der Schlüssel der Quelle importiert) 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 }}} [[Vorlage(Fremdquelle-auth, key 8103B360)]] ##[[Vorlage(PPA, yavdr/stable-vdr))]] ist "unvollständig, die sources fehlen! == Addons und Plugins == Die Addons und Plugins sind prinzipiell nach folgendem Schema benannt: * '''vdr-addon-''' * '''vdr-plugin-''' 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl # 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 = {{{#!vorlage 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 [http://www.vdr-wiki.de/wiki/index.php/Channels.conf Syntax] {de} 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 [wikipedia:MPEG2: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 [http://www.vdrportal.de vdrportal] {de} oder bei Internetauktionshäusern) und nicht HD-fähig. Infos dazu im [http://vdr-wiki.de/wiki/index.php/Full-featured-DVB-Karte vdr-wiki] {de}. {{{#!vorlage Hinweis Ab VDR 1.7.11 (z.B. von [lpuser:yavdr: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 [http://www.vdr-wiki.de/wiki/index.php/Xine-plugin xine-plugin] {de} installiert ist, so kann man lokal direkt auf den VDR zugreifen: {{{#!vorlage Befehl xine vdr:// }}} Dies greift den Stream aus der Pipe '''/tmp/vdr-xine/stream''' ab. ==== Via TCP/IP ==== Mit dem [http://www.vdr-wiki.de/wiki/index.php/Xine-plugin xine-plugin] {de} oder [http://www.vdr-wiki.de/wiki/index.php/Xineliboutput-plugin xine-liboutput-plugin] {de} 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: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: {{{#!vorlage Befehl vdr-sxfe xvdr+tcp:// }}} 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. {{{#!vorlage Hinweis Man sollte __vor__ den folgenden Änderungen einen [:SSH#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: {{{#!vorlage Befehl 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 [wikipedia:Electronic_Program_Guide:EPG] zuzugreifen und Aufnahmen zu programmieren sowie Aufgenommene Sendungen als Stream anzusehen. Folgende Varianten stehen zur Verfügung: * [http://www.vdr-wiki.de/wiki/index.php/Live-plugin VDR-Live] {de} * [http://www.vdr-wiki.de/wiki/index.php/Vdradmin_AM VdrAdmin AM] {de} * [http://www.vdr-wiki.de/wiki/index.php/Xxv Xxv] {de} = Diverses = == Minimal-Installation == Für einen minimalen VDR mit Web-Oberfläche und Streaming-Funktion müssen folgende Pakete installiert[1] werden: {{{#!vorlage Paketinstallation vdr, universe, Hauptprogramm vdradmin-am, universe, Web-Oberfläche vdr-plugin-streamdev-server, universe, erlaubt das Streamen ins Netzwerk }}} == 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. {{{#!vorlage Warnung 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: {{{#!vorlage Befehl 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: {{{#!vorlage Befehl # 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: {{{#!vorlage Befehl lsmod | grep dvb }}} Weitere Debug-Informationen erhält man in der Ausgabe von `dmesg`: {{{#!vorlage Befehl 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: {{{#!vorlage Paketinstallation 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 == * [http://www.tvdr.de/ Projektseite] {de} * [http://vdrportal.de VDR-Forum ] {de} * [http://www.vdr-wiki.de VDR-Wiki] {de} * [http://www.hanno.de/blog/category/vdr/ UBUNTU-Paketquelle von Hanno] {de} * [http://www.yavdr.org/ yaVDR] {en} - Ubuntu-basierte VDR-Distribution mit XBMC ## * [http://dvbshop.net/ guter Shop für DVB-Hardware] * [http://www.loggn.de/ubuntu-10-04-vdr-1-7-14-vnsi-server-fuer-xbmc-vorbereiten/ HowTo - Ubuntu 10.04 – VDR 1.7.14 & VNSI-Server für XBMC vorbereiten] {de} * [http://www.loggn.de/all-in-one-howto-ubuntu-10-04-installation-konfiguration-von-nvidia-vdpau-vdr-mit-vnsi-server-xbmc-pvr-testing2/ All-in-One HowTo – Ubuntu 10.04 – Installation & Konfiguration von NVIDIA VDPAU, VDR mit VNSI-Server & XBMC PVR-TESTING2] {de} #tag: Multimedia, VDR, TV, DVB