Für yaVDR 0.6 wurde in Abstimmung mit den VDR-Paketen von e-tobi die Möglichkeiten zur Konfiguration des VDR überarbeit. Seit der Version 2.1.x kann der VDR die Konfiguration für die Start-Argumente und die Plugins selbst einlesen, so dass man nicht mehr auf ein komplexes Start-Skript angewiesen ist.
Änderung gegenüber früheren Versionen | |
---|---|
Die Konfiguration der Start-Argumente für den VDR und die Plugins erfolgt bei yaVDR 0.6 nicht länger über die Dateien /etc/default/vdr, /etc/vdr/plugin/plugin.<plugin_name>.conf und die /etc/vdr/plugins/order.conf, sondern über die Dateien in /etc/vdr/conf.d/*.conf |
Wird der VDR ohne Startargumente aufgerufen, liest er alle Dateien aus dem Verzeichnis /etc/vdr/conf.d/ mit der Endung .conf ein. Die Syntax ähnelt dem bekannten ini-Format.
Zeilen, die mit einer Raute # beginnen, werden vom Parser ignoriert.
Jeder Abschnitt wird durch einen Begriff in eckigen Klammern eingeleitet, der angibt, wofür die Argumente in den nachfolgenden Zeilen gelten sollen. Um Startargumente für den VDR zu definieren schreibt man also [vdr] und für Plugins den Pluginnamen, z.B. [softhddevice] für das Softhddevice-Plugin. In den folgenden Zeilen können dann Start-Argumente für den VDR bzw. das jeweilige Plugin übergeben werden. Falls es mehrere Abschnitte gibt, die mit dem gleichen Begriff eingeleitet werden, werden nur die Abschnitte für [vdr] zusammengefasst, bei Plugins wird die Konfiguration jeweils einzeln an den VDR übergeben, wodurch z.B. ein Plugin mehrfach mit unterschiedlichen Startargumenten geladen werden kann. Nicht alle Plugins (z.B. xineliboutput) vertragen es, wenn mehrere Instanzen geladen werden.
Um ein Plugin vom VDR laden zu lassen, genügt es seinen Namen in eckigen Klammern in einer Konfigurationsdatei abzulegen, will man den Start verhindern, muss man dafür sorgen, dass der VDR den Eintrag nicht mehr einliest. Ein bequemes Werkzeug um Plugins zu (de-)aktivieren oder die Start-Argumente zu bearbeiten ist vdrctl.
Die Datei /etc/vdr/conf.d/00_vdr.conf enthält die vom Distributor vorgegebenen Start-Argumente für den VDR. Da alle Dateien in /etc/, die aus Paketen stammen, vom Paket-System als Konfigurationsdateien angesehen werden, können diese nach Wunsch verändert werden. Falls ein Paket beim Update eine davon abweichende Version mitbringt, erhält man eine Rückfrage, welche Version man übernehmen möchte.
Die Plugin-Pakete werden mit vorgefertigten Konfigurationsdateien ausgeliefert, die nach /etc/vdr/conf.avail/<plugin_name>.conf installiert und (falls der Distributor vorgibt, dass das Plugin automatisch nach der Installation aktiviert werden soll, wie es bei yaVDR der Fall ist) nach /etc/vdr/conf.d/<priorität>-<plugin_name>.conf verlinkt werden. Die Standard-Priorität ist 50, ein abweichender Wert kann vom Distributor vorgegeben werden.
Alle Konfigurationsdateien in /etc/vdr/conf.d/ werden nach Dateinamen sortiert interpretiert und somit die Plugins in der Reihenfolge der gesetzten Priorität geladen. Das Plugin mit der niedrigsten numerischen Priorität wird zuerst geladen und das Plugin mit der höchsten numerischen Priorität als letztes.
Mit dem folgenden Befehl kann man sich die vom VDR interpretierten Startargumente anzeigen lassen:
$ vdr --showargs
Priorität für das dynamite-Plugin | |
---|---|
Das dynamite-Plugin sollte immer die höchste Priorität erhalten, so dass es als letztes Plugin geladen wird. |
Beispiel für eine Konfigurationsdatei für das softhddevice Plugin.
# -a device audio device (fe. alsa: hw:0,0 oss: /dev/dsp) # -p device audio device for pass-through (hw:0,1 or /dev/dsp1) # -c channel audio mixer channel name (fe. PCM) # -d display display of x11 server (fe. :0.0) # -f start with fullscreen window (only with window manager) # -g geometry x11 window geometry wxh+x+y # -v device video driver device (va-api, vdpau, noop) # -s start in suspended mode # -x start x11 server, with -xx try to connect, if this fails # -X args X11 server arguments (f.e. -nocursor) # -w workaround enable/disable workarounds # no-hw-decoder disable hw decoder, use software decoder only # no-mpeg-hw-decoder disable hw decoder for mpeg only # still-hw-decoder enable hardware decoder for still-pictures # still-h264-hw-decoder enable h264 hw decoder for still-pictures # alsa-driver-broken disable broken alsa driver message # alsa-no-close-open disable close open to fix alsa no sound bug # alsa-close-open-delay enable close open delay to fix no sound bug # ignore-repeat-pict disable repeat pict message # use-possible-defect-frames prefer faster channel switch # -D start in detached mode # [softhddevice] -D -d :1.0 -w still-hw-decocer -v vdpau
vdrctl ist ein Hilfsprogramm, das die Verwaltung der Konfigurationsdateien für den VDR vereinfacht. Hier ein paar Beispiele zur Verwendung:
Hilfe zu vdrctl anzeigen.
$ vdrctl -h
Status aller verfügbaren Plugins.
$ vdrctl status
Aktivierung eines Plugins.
$ sudo vdrctl enable streamdev-client
Aktivierung eines Plugins unter Angabe der Priorität.
$ sudo vdrctl enable dynamite -p 90
Aktivierung mehrerer Plugins.
$ sudo vdrctl enable streamdev-client vnsiserver
Deaktivierung eines Plugins.
$ sudo vdrctl disable iptv
Deaktivierung mehrerer Plugins.
$ sudo vdrctl disable streamdev-client streamdev-server iptv
Bearbeiten der Konfiguration für ein Plugin.
$ sudo vdrctl edit imonlcd
Bearbeiten der Konfiguration mit einem Wunsch-Editor (hier vim):
$ EDITOR=vim sudo vdrctl edit imonlcd
Wenn man lokale Aufnahmen, Wechseldatenträger und über den avahi-linker eingebundene Aufnahmen anderer VDRs sowie Archivverzeichnisse ohne störende Trennung durch extra Unterordner in der Aufnahmendarstellung des VDR nutzen möchte, kann man den hide-first-recording-level Patch aktivieren - die originale Beschreibung der Funktion sieht so aus:
-H, --hide-first-recording-level The first level directories in the video directory will be ignored in the recordings menu. All recordings will be placed in the directory 'local'. You can mount/link other video directories inside the video directory to display their contents side by side with your local video directory
Um den hide-first-recording-level Patch zu aktivieren, geht man folgendermaßen vor:
sudo stop vdr
sudo mkdir -p /srv/vdr/video/local sudo chown vdr:vdr /srv/vdr/video/local
[vdr] --hide-first-recording-level
cd /srv/vdr/video sudo mv !(local)/ local/ # alle Ordner in das Verzeichnis local verschieben
sudo start vdr
Wenn mehrere VDRs den hist-first-recording-level Patch nutzen, empfiehlt es sich die /etc/init/mhddfs.conf entsprechend anzupassen, damit /srv/vdr/video.00/local nach /srv/share/vdr gemountet wird.
Wichtig! | |
---|---|
Wird der hide-first-recording-level Patch genutzt, müssen beim Verschieben von Aufnahmen der vollständige Pfad an den VDR und seine Plugins übergeben werden, d.h. im live-Plugin nutzt man dann z.B. local~Filme~Heidi statt dem gewohnten Pfad Filme~Heidi. Die folders.conf des VDR sollte man auch um eine Basis-Ebene local erweitern, damit die Aufnahmen an der richtigen Stelle landen. Auch eine Voreinstellung zum Kopieren von Aufnahmen ins Archiv (hier unter /srv/vdr/video/Archiv verfügbar) lässt sich so umsetzen: local { Dokumentationen Kabarett Filme Serien } Archiv { Dokumentationen Filme Serien } |