Homeserver 37: Server als Videorecorder 2 – Die Grundeinstellungen

Nun ist das Grundgerüst installiert, aber in diesem Zustand ist das alles noch nicht viel wert. Das Aufnahmeverzeichnis muss noch konfiguriert werden, Kanäle müssen noch gesucht und sortiert werden und einiges weitere.

Das Antennenkabel habe ich zwar schon von Kabeldose bis zum Server gezogen, aber noch nicht angeschlossen. Schließlich muss die Dreambox noch Aufnahmen tätigen. Aber bis es soweit ist, ist auch noch viel zu tun.

Aber bevor ich an der Konfiguration Änderungen vornehme, muss VDR erst mal gestoppt werden, falls es bereits läuft.

sudo service vdr stop

Nun kann ich mich um die Konfiguration kümmern.

Aufnahmeverzeichnis festlegen

Auf meinem Server ist ordentlich Platz, also gibt es damit schon mal keine Probleme. Ich verbinde mich also per SSH mit meinem Server und gebe dort folgende Befehle ein:

sudo mkdir /raid1/daten/Videos/TV

Damit ist zwar das Verzeichnis auf dem RAID angelegt, aber es gehört Root. Also muss die Eigentümerschaft und die Gruppe dieses Verzeichnisses geändert werden.

VDR startet unter seinem eigenen Benutzer. Man könnte das sicher auch ändern, aber diese Verrenkungen mit den damit einhergehenden Fehlersuchen erspare ich mir. Also muss dieses Verzeichnis dem Benutzer „vdr“ gehören, damit Aufnahmen hier auch geschrieben werden können.

sudo chown vdr:vdr /raid1/daten/Videos/TV

Das Verzeichnis ist jetzt zwar angelegt, aber irgendwer muss dem VDR noch Bescheid sagen! Sonst würde er in seinem Standardverzeichnis, /var/lib/video, aufnehmen. Das wäre blöd, weil das Verzeichnis auf der System-SSD liegt, und da reicht der Platz für so was nicht… 🙂

Hierzu editiere ich die Datei /etc/vdr/conf.d/00-vdr.conf. Hier werden alle Standardwerte festgelegt, unter denen VDR startet, wenn man keine Befehlszeilenparameter angibt. Und da ich VDR eigentlich immer mit seinen Standardwerten starten lasse, ist diese Datei die richtige.

sudo nano /etc/vdr/conf.d/00-vdr.conf

Ich lasse alles so stehen, wie es da steht. Das ist schon alles ganz OK. Nur die eine Zeile ändere ich. Standardmäßig steht da:

--video=/var/lib/video

Das ändere ich zu:

--video=/raid1/daten/Videos/TV

So, zumindest weiß VDR jetzt schon mal, wo die Aufnahmen hingehören!

Netzzugriffe konfigurieren

Man kann den Netzzugriff für SVDRP beschränken. Das ist, und ich habe das sicher nicht völlig verstanden, eine Schnittstelle für diverse Plugins, um auch über das Netz kommunizieren zu können. Wie auch immer, es ist sicher sinnvoll, hier eine Beschränkung einzubauen.

sudo nano /etc/vdr/svdrphosts.conf

In dieser Datei stehen einige Beispiele, wie so ein Eintrag aussehen könnte. Diese sind alle auskommentiert, außer natürlich der für den localhost, und der sollte auch bleiben. Will man einen Zugriff erlauben, der nur aus dem eigenen Netz kommt, trägt man am besten folgende Zeile am Ende ein:

192.168.0.0/24

Somit würde VDR und die SVDRP-Dienste nur noch Zugriffe aus dem eigenen Netz erlauben. Dieser Wert sollte an die eigenen Gegebenheiten angepasst werden. Hat man z. B. eine Fritz!Box als Router, müsste der Wert also so aussehen:

192.168.178.0/24

Mittels der SVDRP-Schnittstelle kann man vieles per Kommandozeile erledigen. Als Beispiel:

svdrpsend scan

Dieser Befehl startet einen EPG-Scan über alle Kanäle. Weitere Möglichkeiten kann man auf der SVDRP-Seite des VDR-Wikis nachlesen.

EPG Aktualisierung

Der obige Befehl startet ja eine EPG-Aktualisierung. Dies ist aber in der Regel nicht nötig. VDR kann so eingestellt werden, dass es bei einer bestimmten Inaktivität selbst nach den Daten sucht. Ein Plugin, wie das EPGRefresh-Plugin für die Dreambox, ist also nicht nötig. Standardmäßig aktualisiert VDR die EPG-Daten, wenn der Tuner für 5 Stunden inaktiv war. Man kann diese Zeit einstellen, dazu aber später.

Zugriff auf den VDR per Telnet

Ja, Telnet, ich weiß, böse böse! 🙂 In diesem Falle sollte es aber verschmerzt werden. 🙂

Ich möchte, wie ich im vorigen Beitrag schon schrieb, an die OSD-Einstellungen des VDR ran. Ich könnte auch alles über die Konfigurationsdatei /etc/vdr/setup.conf einstellen, aber dazu müsste ich genau wissen, was welcher Eintrag tut. Aber zum Glück gibt es die Möglichkeit, über TCP und einer Telnet-Verbindung, das OSD zu nutzen. Wie gut das mit Screen Readern geht, weiß ich noch nicht, sehen wir ja gleich… 🙂

Ich hatte ja bereits diverse Plugins installiert, um dieses zu ermöglichen. Nun müssen diese konfiguriert werden. Um genau zu sein, muss das Remote-Plugin konfiguriert werden. Die Konfigurationsdatei hierfür muss editiert werden:

sudo nano /etc/vdr/conf.d/50-remote.conf

Hier gibt es die Sektion [remote], in der bereits eine Zeile zu finden ist:

[remote]
-i autodetect

Die Zeile -i autodetect muss gelöscht werden.

folgendes muss nun in die Datei eingefügt werden:

-p tcp:3333

Das sorgt dafür, dass auf dem Port 3333 auf die Tastatur und die Bedienung des VDR gelauscht wird. Diese Datei nun speichern und zur nächsten Datei übergehen.

Nun müssen die Tastendrücke angegeben werden, auf die der VDR reagieren soll. Hierzu muss die Datei remote.conf editiert werden.

sudo nano /etc/vdr/remote.conf

In diese Datei muss folgender Inhalt kopiert werden:

remote-tcp:3333.Up         0000000000415B1B
remote-tcp:3333.Down       0000000000425B1B
remote-tcp:3333.Menu       000000000000006D
remote-tcp:3333.Ok         0000000000000A0D
remote-tcp:3333.Back       000000000000007F
remote-tcp:3333.Left       0000000000445B1B
remote-tcp:3333.Right      0000000000435B1B
remote-tcp:3333.Red        0000000000000072
remote-tcp:3333.Green      0000000000000067
remote-tcp:3333.Yellow     0000000000000079
remote-tcp:3333.Blue       0000000000000062
remote-tcp:3333.0          0000000000000030
remote-tcp:3333.1          0000000000000031
remote-tcp:3333.2          0000000000000032
remote-tcp:3333.3          0000000000000033
remote-tcp:3333.4          0000000000000034
remote-tcp:3333.5          0000000000000035
remote-tcp:3333.6          0000000000000036
remote-tcp:3333.7          0000000000000037
remote-tcp:3333.8          0000000000000038
remote-tcp:3333.9          0000000000000039
remote-tcp:3333.Info       0000000000000069
remote-tcp:3333.Play       0000000000000070
remote-tcp:3333.Pause      0000000000000020
remote-tcp:3333.Stop       000000007E345B1B
remote-tcp:3333.Record     00000000415B5B1B
remote-tcp:3333.FastFwd    00000000425B5B1B
remote-tcp:3333.FastRew    00000000435B5B1B
remote-tcp:3333.Next       00000000445B5B1B
remote-tcp:3333.Prev       00000000455B5B1B
remote-tcp:3333.Power      000000000000001B
remote-tcp:3333.Channel+   000000007E355B1B
remote-tcp:3333.Channel-   000000007E365B1B
remote-tcp:3333.PrevChannel 000000007E315B1
remote-tcp:3333.Volume+    000000000000002B
remote-tcp:3333.Volume-    0000000000000023
remote-tcp:3333.Audio      0000000000000061
remote-tcp:3333.Schedule   0000000000000073
remote-tcp:3333.Channels   0000000000000063
remote-tcp:3333.Timers     0000000000000074
remote-tcp:3333.Recordings 0000000000000075
remote-tcp:3333.Setup      0000000000000065

Somit sind alle Keycodes, also alle Tastenzuordnungen, im VDR eingetragen. Nun heißt es, mit PUTTY eine Telnet-Verbindung aufzubauen. vorher muss VDR aber wieder gestartet werden:

sudo service vdr start

PUTTY starten

Um nicht den Windows-eigenen Telnet-Client nutzen zu müssen, greife ich auf PUTTY zurück. Früher habe ich ihn auch für SSH benutzt, bin aber schon länger davon abgekommen. Jedenfalls kann man es auch sehr gut für Telnet und andere Protokolle nutzen. Ich habe es in einem Verzeichnis liegen, wo auch noch andere Tools liegen, daher habe ich in der Systemvariable „PATH“ einen Eintrag zu diesem Verzeichnis gelegt.

Ich gehe mit der Windowstaste+R in den Ausführen-Dialog und gebe dort einfach putty ein. Nun öffnet sich der Verbindungsassistent von PUTTY, in dem wir noch ein paar Einstellungen machen müssen.

  • Host name (or IP adress): Hier gebe ich die IP des Servers ein.
  • Port: Hier gebe ich den VDR-Port ein, also 3333.
  • Protokoll: Hier ist SSH voreingestellt, ich wähle Telnet aus.

Anschließend drücke ich einige Male Tab, um in die Strukturansicht an der Seite zu kommen, wo derzeit „Sessions“ ausgewählt ist. Ich muss nämlich noch das Tastaturverhalten einstellen. Also gehe ich mit den Pfeiltasten runter bis „Terminal“, darunter zum Eintrag „Keyboard“, mit Tab weiter, bis man „ESC[N~“ hört. Hier wählt man „Linux“ aus.

Ich gehe, weil ich diese Verbindung sicher noch öfter brauche, in der Seitenleiste wieder zurück zu „Session“. Hier kann ich die Settings speichern, die ich sinnvollerweise „VDR Telnet“ nenne und dann auf den Schalter „Safe“ gehe und Enter drücke.

Wenn ich nun mit „Open“ die Verbindung öffne, habe ich ein leeres PUTTY-Fenster. Eigentlich müssten die Tasten ja jetzt funktionieren. Das lässt sich am einfachsten mit der Taste „m“ testen, welche das OSD öffnen sollte.

Und tatsächlich, das OSD öffnet sich! Es ist mit der Braillezeile sogar lesbar, nur der Menübalken wird nicht mitverfolgt. Das ist schade, aber nicht zu ändern. Heißt es also, mit den Pfeiltasten mitzählen. 🙁 Ich drücke also wieder „m“, um aus dem OSD rauszukommen.

Nun drücke ich die Taste „e“, um ins Setup zu gelangen.

Die einzelnen Punkte sind nummeriert, also könnte ich ja versuchen, durch Drücken der entsprechenden Zifferntaste zum Ziel zu gelangen.

Ich will jetzt auch nicht jede einzelne Einstellung beschreiben. Viele davon sind selbsterklärend und durchaus gut im Benutzerhandbuch des VDR-Wikis dokumentiert. Vieles ist ja auch Geschmackssache.

Einige Zeit später…

Ich habe jetzt die Grundkonfiguration von VDR gemacht. Wenn man mit der Taste „e“ das Setup-Menü öffnet, hat man die einzelnen Punkte, wie „OSD“, „EPG“ usw. Diese wählt man mit den Pfeiltasten hoch und runter aus und drückt Enter. Die Einstellungen, die sich dort präsentieren, wählt man mit Pfeil hoch und runter aus und ändert die Werte mit Pfeil links und rechts. Mit Enter bestätigt man alles und ist wieder im Setup-Hauptmenü.

Es funktioniert, ist aber anstrengend. Der Menübalken wird von der Braillezeile nicht verfolgt. Man muss die Braillezeile manuell nachführen. Dann allerdings geht es recht gut.

Viele Einstellungen habe ich auch nicht geändert, die meisten beziehen sich eh darauf, TV direkt auch mit dem VDR zu gucken. Ich habe nur ein paar Einstellungen im EPG-Bereich geändert, zum Beispiel, dass er nicht nach 5, sondern schon nach 3 Stunden ein EPG-Update machen soll. Und bei den Timer-Aufnahmen habe ich die Vorlauf- und die Nachlaufzeit geändert. Viel mehr habe ich auch nicht gemacht, nur hier und da ein paar Einstellungen, die, wie ich schon sagte, eher Geschmackssache sind.

Wenn man fertig ist, kann man das PUTTY-Fenster einfach schließen. Da es keine Möglichkeit gibt, die Telnet-Verbindung über einen Befehl zu schließen, ist das auch kein Problem.

Web-Interface

Ich habe ja 2 Web-Schnittstellen installiert. Beide haben so ihre Vor- und Nachteile, weswegen ich auch beide behalten werde. Beide Schnittstellen sind mit dem Firefox und Jaws gut zu bedienen, daher gehe ich jetzt nicht auf jeden Aspekt ein. Ich will nur kurz die Einrichtung und Nutzung erklären.

VDR-Live

Dies ist eine recht einfach gehaltene Weboberfläche, mit der man das aktuelle Programm, die Timer, die Aufnahmen und Senderlisten sehen kann. Aufnahmen oder das TV-Programm kann man hierüber auch streamen.

Um die Oberfläche aufzurufen, gibt man folgendes in die Adresszeile des Browsers ein, wobei man die IP-Adresse des Servers nehmen kann, aber auch den Servernamen.

server01:8008

Nun wird man nach einem Benutzernamen und Passwort gefragt. Standardmäßig ist der Benutzername „admin“ und das Passwort ist „live“. Anschließend ist man auf einer recht einfachen Weboberfläche.

Nun sollte man den Link „Setup“ aufrufen und die Oberfläche nach den eigenen Wünschen anpassen. Dabei würde ich auch den Benutzernamen und das Passwort ändern. Die restlichen Einstellungen sind Geschmackssache und selbsterklärend.

vdradmin-am

Diese Oberfläche unterscheidet sich in ihren Funktionen nicht sehr von der Live-Oberfläche, für meinen Geschmack ist sie aber schöner zu bedienen. Allerdings ist dies kein Plugin vom VDR, sondern scheint etwas externes zu sein. Dies ist z. B. eine der Tools, die über das SVDRP-Protokoll mit dem VDR kommuniziert. Diese Oberfläche muss also per Hand gestartet werden.

Um die Grundkonfiguration dieses Plugins durchzuführen, ruft man es also folgendermaßen auf:

vdradmind -c

Nun werden einige Fragen gestellt, wie Aufnahmeverzeichnis, Port, Benutzername, Passwort usw. Am Ende ist die Grundkonfiguration gemacht und der Service läuft.

Damit vdradmin-am auch immer beim Start des Servers mitgestartet wird, habe ich es in die Datei rc.local eingetragen.

sudo nano /etc/rc.local

Hier trägt man die Zeile mit dem Befehl „vdradmind“ direkt über der Zeile „exit“ ein.

Die Oberfläche hierzu ist ähnlich aufzurufen, wie die Live-Oberfläche. Gebt also in die Adresszeile des Browsers folgendes ein:

server01:8001

Alternativ könnt ihr an Stelle von „server01“ auch die IP-Adresse eingeben:

192.168.178.12:8001

Hier gebt ihr natürlich die IP-Adresse ein, die euer Server tatsächlich hat.

Nun gibt man noch die im Konfigurationsdialog erstellten Benutzernamen und Passwort ein, dann ist man schon auf der Oberfläche. Auch hier, erst mal in den Link „Configuration“ gehen und Anpassungen machen. Diese Oberfläche ist z. B. auch auf Deutsch umstellbar.

Welche nutzen?

Ich bin mir noch nicht wirklich sicher, welche der beiden Oberflächen ich nutzen will. Beide gefallen mir, aber die Zeit wird zeigen, welche mir dann doch besser gefällt. Die andere bleibt trotzdem, man weiß ja nie, und so viel Platz nehmen die jetzt auch nicht weg… 🙂

Sendersuchlauf

OK, kommen wir also zu einem der wichtigsten Teile, dem Sendersuchlauf. Denn noch hat der VDR nur die Standardsender, die bei der Installation dabei waren, und wie aktuell die sind, weiß ich nicht. Also werde ich eine neue channels.conf erstellen und die Sender darin nach meinen Wünschen sortieren.

Als erstes muss wieder der VDR gestoppt werden:

sudo service vdr stop

Nun werde ich das Antennenkabel mit der Dose verbinden und danach den Suchlauf starten. Und so sieht der Aufruf für den Suchlauf aus:

w_scan -f c -c DE -o 21>kanal.txt
  • -f c: Dieser bestimmt das Frontend, also die Art des Scans. Das „c“ steht hierbei für Cable, hier könnte auch ein „t“ für terrestrisch oder auch ein „s“ für Satellit stehen. Ich habe hier aber nur einen Kabelanschluss. Wie der Aufruf für Sat-Empfang sein muss, müsst ihr evtl. in den Manpages zu w_scan nachlesen.
  • -c DE: Dies legt das Land fest. Hier natürlich Deutschland, wonach Frequenzen, Symbolraten und dergleichen festgelegt sind.
  • -o 21: Ausgabe der channels.conf im Format für VDR 2.1. Ich habe zwar VDR 2.2.0 installiert, aber offenbar gibt es keinen Unterschied. Gibt man den Parameter -o 21 nicht an, wird eine channels.conf im Format für VDR 2.0 erzeugt.
  • >kanal.txt: Dies sorgt dafür, dass das Ergebnis in die Datei kanal.txt im Home-Verzeichnis geschrieben wird. Irgendwie gelingt es mir nicht, direkt in die channels.conf zu schreiben, daher schreibe ich das Ergebnis erst hier rein und kopiere es dann per Hand in die channels.conf.

Dieser Vorgang kann nun eine ganze Weile dauern, also erst mal einen Kaffee machen… 🙂

Fertig, der Scan hat ungefähr 22 Minuten gedauert. Die Daten sind jetzt in der kanal.txt. Aber das Programm hat die Kanäle so reingeschrieben, wie es sie gefunden hat, also total durcheinander. Da sind auch Fernsehkanäle mit Radiokanälen vermischt. Das werde ich nicht komplett sortiert bekommen, das ist zu viel! Was ich aber tun werde ist, die paar Fernsehsender, die ich immer wieder gucke, an den Anfang der Datei zu stellen.

Sortierung

Die Sortierung der Sender ist denkbar einfach, wenn auch umständlich. Vor allem, weil die Datei 512 Zeilen hat. Jede Zeile ist ein Sender. Hier mal ein Beispiel:

Das Erste;ARD:314000:M256:C:6900:101=2:102=deu@3,103=deu@3;106:104;105:0:28106:41985:1101:0

Tja, die einzelnen Parameter könnt ihr im Artikel zur channels.conf im VDR-Wiki nachschlagen.

Wichtig zu wissen ist ja erst mal nur, dass jede Zeile also ein eigener Sender ist. Ich muss jetzt die Datei also nur durchgehen und die Sender ganz an den Anfang der Datei packen, die ich immer wieder sehen will. Die anderen können meinethalben unsortiert bleiben…

In die channels.conf kopieren

Zum Sortieren habe ich den Editor Notepad++ benutzt. Dies ist auch wichtig, weil dieser zum einen Zeilennummern hat, damit man die Stelle wiederfindet, wo man was ausgeschnitten hat, aber auch wegen des Zeilenumbruches. Linux-Dateien haben einen anderen Zeilenumbruch als Windows-Dateien. Die kanal.txt hat Linux-Zeilenwechsel, diese müssen in Windows konvertiert werden. Drückt man also die Alt-Taste, navigiert zum Menü „Bearbeiten“ und sucht dort den Menüpunkt „Format Zeilenende“, so findet sich dort als oberstes die Option, die Zeilenende-Zeichen in Windows zu konvertieren. Das muss man auch, sonst gibt es beim Einfügen in die channels.conf ein heilloses Durcheinander. Damit hatte ich gerade schon etwas Spaß! 🙁

Hat man die Zeilenende-Zeichen konvertiert, kann man mit Strg+A alles auswählen und mit Strg+C kopieren. Nun verbindet man sich per SSH mit seinem Server und öffnet die channels.conf:

sudo nano /etc/vdr/channels.conf

Hier sind viele alte Einträge drin, die ist so alt, da gab es Premiere noch … 🙂 Wie auch immer, drückt die Umschalttaste und Bild nach unten, bis ihr alles markiert habt. Drückt dann Strg+K zum ausschneiden.

Das Einfügen ist jetzt so eine Sache. Das hängt davon ab, mit welchem SSH-Client ihr arbeitet. Ich habe hier ein Notebook mit Windows 10, und der hat einen SSH-Client integriert. Hier geht das, indem man Alt+Leertaste drückt, das Menü „Bearbeiten“ auswählt und hier „Einfügen“. Die Tastenkombination Strg+V funktioniert nicht.

Nun hat es eine ganze Zeit gedauert, bis alles eingefügt war, aber eine oberflächliche Kontrolle zeigt, dass alles gut aussieht. Also kann man mit Strg+X Nano verlassen und die Datei speichern.

Und jetzt kann man auch den VDR wieder starten.

sudo service vdr start

Als nächstes

Im nächsten Teil werde ich einen EPG-Scan anstoßen, die EPG-Suche anschauen, EPG-Suchtimer einrichten und das Plugin für Kodi installieren.

Von Kamil Günay

Ich betreibe TuKSuB schon seit 2010. Ich interessiere mich für Computer, Kommunikation, Technik, Astronomie und vieles mehr.