Homeserver 36: Server als Videorecorder verwenden 1 – Installation

Bisher verwende ich eine Dreambox DM8000 als TV-Receiver und Aufnahmegerät. Mit einigen Plugins erweitert und mit einer iPhone-App steuerbar ist es für mich die perfekte TV-Zentrale. Jedoch kommt sie so langsam in die Jahre und fängt an, Ausfallerscheinungen zu zeigen. Zeit also, sich um Ersatz zu kümmern. Was liegt da näher, als den Homeserver als Aufnahmegerät zu verwenden?

Mit dem Wegfall der Dreambox habe ich auch einen Stromfresser weniger, wodurch sich auch noch bares Geld sparen lässt. Der Server läuft sowieso ständig, also kann der auch die TV-Zentrale werden.

Vorüberlegungen

Was muss also getan werden? Nun, der Server braucht erst mal eine TV-Karte. Dann braucht es ein Kabel, welches von meiner Kabel-Dose zum Server gelegt wird. Last, but not least, braucht es auf dem Server Software, die die Aufgaben erfüllt.

Zwar habe ich mit den umfangreichen Plugins der Dreambox das Teil um viele Funktionen erweitert, jedoch nutze ich davon nicht wirklich alle. Ein bisschen oversized, das Gerät. Überlegen wir also mal, was mein Server an Aufgaben wirklich übernehmen muss:

  • Aufzeichnung von 2 Sendungen parallel sollte gehen. Also muss ein Dualtuner her, oder 2 TV-Karten.
  • Eine Autotimer-Funktion, wie es sie in der Dreambox gibt, brauche ich ebenfalls.
  • Bedienbarkeit über eine Weboberfläche wäre auch nett.
  • Von meinem Mediacenter Kodi sollte ich auf Aufnahmen und Live-TV zugreifen können.

Meine Dreambox läuft noch eine Weile, noch ist sie nicht ganz hinüber. So kann ich also ohne Panik und in Ruhe den Server einrichten. Und oberflächlich recherchiert scheint alles zu gehen, was ich haben will. Vielleicht gehen noch das eine oder andere Extra, aber meine Grundanforderungen scheinen sich umsetzen zu lassen.

Hardware

Fangen wir also mit dem Einfachsten an, der Hardware. Ich benötige eine TV-Karte, die auch von Linux unterstützt wird. Dies ist nicht schwer, bedarf aber gewisser Vorsicht. Ist die Karte zu neu, sind deren Treiber noch nicht im Linux-Kernel enthalten. Dann kann die Einbindung der Karte zu einem Abenteuer werden.

Ich benutze zur Zeit Debian 9 (Stretch), und der läuft mit dem Kernel 4.9. Also sollte es eine TV-Karte sein, die vorzugsweise schon Treiber in diesem Kernel hat. Weiter sollte es eine TV-Karte mit 2 Tunern sein. Klingt erst mal schwer, war es dann aber nicht.

Ich habe mich für eine DVBSky T982 V2 entschieden. Diese hat zum Zeitpunkt des Kaufs 94,90 € gekostet. Diese hat einen Dualtuner, ist für DVB-C, also Kabel, und auch für DVB-T/T2 ausgelegt und hat bereits seit Kernel 3.19 Treiber enthalten.

Die Installation ist denkbar einfach. Zunächst muss man von der Herstellerseite die Firmware für diese Karte herunterladen. Linux hat zwar bereits die Treiber, benötigt aber die Firmware, damit sie korrekt funktionieren kann. Der Vorteil ist, die Firmware ist denkbar einfach zu installieren.

Zunächst geht man also auf die Support-Seite von DVBSky und lädt sich dort die Firmware herunter. Das ist eine sehr kleine ZIP-Datei, die bereits alle Firmware-Dateien des Herstellers beinhaltet. Man muss also nicht umständlich nach der Firmware eines bestimmten Gerätes oder einer bestimmten Karte suchen.

Diese ZIP-Datei habe ich nun ausgepackt und auf mein Home-Verzeichnis auf dem Server kopiert. Da ich mein Home-Verzeichnis auf meinem Laptop als Laufwerk eingebunden habe, geht das mit Windows-Bordmitteln hervorragend.

Nun habe ich in meinem Home-Verzeichnis also einen Ordner, in dem einige Dateien mit der Endung FW liegen, eine Readme-Datei, die mir sagt, was ich damit machen muss und ein kleines Shellscript. Abgekürzt, alle Dateien mit der Endung FW sind Firmware-Dateien. Diese müssen in /lib/firmware kopiert werden. Man könnte dies nun per Hand tun, braucht man aber zum Glück nicht, denn dafür ist das kleine Shellscript da. Dieses kopiert alle Firmware-Dateien dort hin, wo sie hingehören.

Man verbindet sich also per SSH mit seinem Server und gibt dort folgende Befehle ein:

cd firmware
sudo ./copy-firmware.sh

Alles in allem sind die Firmware-Dateien keine 100 Kilobyte groß, also macht es auch nichts, wenn alle kopiert werden. Und dieses Shellscript copy-firmware.sh tut dies! Das vorangestellte „sudo“ ist nötig, da man sonst keine Schreibrechte auf /lib/firmware hat.

Fertig, die Software für die Karte ist damit installiert. Nun braucht man nur noch den Server abschalten, die Karte einbauen und den Server wieder hochfahren.

Einbau

Bei der DVBSky T982 V2 handelt es sich um eine Low Profile Karte. Das heißt, sie ist sehr niedrig und für schmale Gehäuse gedacht. Daher würde sie so, wie sie aus dem Karton kommt, nicht in das Gehäuse passen. Die Rückblende der Karte muss ausgetauscht werden. Die passende Rückblende für normalgroße PC-Gehäuse liegt der Verpackung bei. Man muss also erst mal die 2 kleinen Schräubchen lösen und die neue Blende anbringen und festschrauben. Dies bedarf einiger Fingerfertigkeit, weil die Schräubchen echt klein sind. Man kann aber, wenn man keine rohe Gewalt anwendet, dabei nichts kaputt machen.

Nun habe ich die Karte in einen der freien PCIe-Slots eingesetzt und festgeschraubt. Auf der Rückseite des Servers habe ich jetzt 2 Eingänge für Antennenkabel, ob nun DVB-C oder DVB-T/T2. Die Tuner können beides.

Prüfen

Es gibt sicher eine Menge Wege zu prüfen, ob die Karte vernünftig eingebaut wurde. Ich lasse mir einfach anzeigen, ob der Kernel einen Device-Eintrag generiert hat. Würde die Karte nicht funktionieren, würde das nicht gehen. Zumindest mal oberflächlich reicht es.

Hierfür zeige ich einfach das Verzeichnis an, welches zum Gerät führt:

ls -l /dev/dvb

Bevor die Karte eingebaut war, gab es dieses Verzeichnis nicht. Da löste dieser Befehl eine Fehlermeldung aus. Nun aber sehe ich folgendes:

total 0
drwxr-xr-x 2 root root 120 Oct 23 17:06 adapter0
drwxr-xr-x 2 root root 120 Oct 23 17:06 adapter1

Wie man hier sehr schön sehen kann, hat jeder der beiden Tuner seinen eigenen Gerätepfad. Somit tauchen die beiden Tuner als separate Geräte auf.

Weiteres

In der Verpackung der TV-Karte war noch ein IR-Sensor und eine Fernbedienung. Würde man diese Karte also in einen Mediacenter-PC einbauen, könnte man diesen hierüber steuern. Ein Anschluss für den Sensor gibt es hinten an der TV-Karte. Dies brauche ich aber nicht, ich erwähne es nur der Vollständigkeit halber.

Kabel verlegen und anschließen

Nun ziehe ich ein Antennenkabel von der Kabeldose im Wohnzimmer bis zum Server. Hierfür habe ich mir dieses 20 Meter Antennenkabel von CSL gekauft. Das reicht aber nicht, ihr braucht noch ein T-Stück und 2 weitere kurze Antennenkabel, damit ihr auch beide Tuner anschließen könnt. Diese habe ich bereits, weil ich diese ja auch schon für die Dreambox benötige. Falls ihr also so ein T-Stück noch sucht, könnte ich euch diesen Hama Antennenverteiler empfehlen. Damit könnt ihr beide Eingänge der TV-Karte anschließen, so dass ihr auch 2 Sendungen gleichzeitig aufzeichnen könnt.

Das war erst mal der Hardware-Teil, der war, zumindest für mich, ja noch einfach zu bewältigen. Nun kommt völliges Neuland, die Software. Ich bin ja seit Jahren Dreambox-verwöhnt, mal sehen, was nun passiert!

Software

Damit der Server auch als Recorder funktionieren und TV zu meinem Kodi Mediacenter streamen kann, braucht es Software und jede Menge Plugins. Ich werde hierfür VDR (Video Disk Recorder) nutzen. Diesen gibt es schon sehr lange für Linux. Abgesehen davon gibt es viel Dokumentation und Hilfe im VDR-Wiki und im entsprechenden Forum VDR-Portal.

Ich werde zunächst nur die benötigte Software installieren. Um die Konfiguration und Erweiterbarkeit kümmere ich mich so nach und nach.

VDR installieren

Nun, wie man Pakete installiert, habe ich in den vorangegangenen Teilen ja schon ausführlich erwähnt. Also installiere ich VDR wie folgt:

sudo apt-get install vdr

Je nach bisher installierten Paketen werden noch ein paar zusätzliche Pakete installiert.

Während der Installation werden noch ein paar Fragen gestellt. Als erstes geht ein Fenster auf, welches darüber informiert, dass VDR standardmäßig die Aufnahmen in /var/lib/video speichert. Man könne das später ändern. Die Frage lautet also, ob man das Verzeichnis, wie es vorgeschlagen wird, erstellen möchte. Hier wähle ich „Yes“ aus. Das kann ich später alles noch ändern.

Als nächstes wird nach der Art der TV-Karte gefragt. Da ich DVB-C nutze, wähle ich „Cable“ aus dem Menü aus.

Anschließend läuft die Installation der Pakete durch und VDR ist erst mal installiert.

Nun braucht es noch einige Plugins, damit gewisse Funktionalitäten vorhanden sind. Zum Beispiel braucht es eine Weboberfläche, Kodi-Unterstützung und so einiges weitere.

Kodi-Unterstützung

Damit ich auf das Live-TV und die Aufnahmen auch vom Mediacenter Kodi aus zugreifen kann, braucht es ein Plugin für Kodi und eines für den VDR. Um Kodi und seine Konfiguration kümmere ich mich später, nun muss erst mal das Plugin für VDR installiert werden.

sudo apt-get install vdr-plugin-vnsiserver

In Kodi muss später noch der VDR-VNSI-Client installiert werden.

Weboberfläche

Um VDR mittels eines Webbrowsers nutzen und steuern zu können, muss das Plugin VDR-Live installiert werden.

sudo apt-get install vdr-plugin-live

Wie man hierauf nun zugreift und es nutzt sehen wir uns später an.

EPG-Suche

Das Plugin EPG-Search erweitert die Suchmöglichkeiten innerhalb des EPG und kann Aufnahmen basierend auf Suchkriterien erstellen. Das wäre z. B. so eine Autotimer-Option.

sudo apt-get install vdr-plugin-epgsearch

Web-Administrationstool für VDR

Ich muss zugeben, so ganz genau weiß ich nicht, was dieses Plugin zusätzlich tut. Ich habe mir ja noch nicht angesehen, was sich über die Live-Oberfläche machen lässt. Von der Beschreibung gehe ich aber aus, dass sich hier viel weitreichendere Einstellungen des VDR vornehmen lassen. Daher installiere ich das mal. Sollte es sich als falsch erweisen, kann ich es ja immer noch deinstallieren.

sudo apt-get install vdradmin-am

Streamen

Damit man auch mittels Webbrowser TV-Programme streamen kann, falls man das mal möchte, muss der Streamdev-Server installiert werden.

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

Nun kann man z. B. mit dem Firefox das aktuelle TV-Programm streamen.

Nachtrag

Es ist mir bisher nicht gelungen, mit der Weboberfläche das aktuelle Programm mit dem VLC zu streamen. Vielleicht fehlt noch was, aber darum kümmere ich mich in der nächsten Zeit mal. Einen Hinweis, wie ich es gelöst habe, wird es dann im Blog geben.

OSD fernsteuern

Der VDR ist eigentlich eine Anwendung, die lokal betrieben wird. Also werden auch alle Einstellungen auf einem OSD, also über ein Menü am eigentlichen Bildschirm getätigt. Nun läuft VDR hier aber auf einem Server und ein Bildschirm ist nicht angeschlossen. Wie kommt man nun also an die Einstellungen ran? Nun, dafür gibt es einen Weg, den ich in diesem Blogbeitrag gefunden habe. Der Weg ist recht umfangreich, und ob er überhaupt für mich mit Screen Reader und Braillezeile funktioniert, muss sich noch herausstellen. Ihr müsst den langen Beitrag jetzt nicht lesen, wir gehen das nach und nach durch. Ich installiere aber erst mal die benötigten Pakete.

sudo apt-get install vdr-plugin-remote vdr-plugin-svdrposd vdr-plugin-svdrpservice

Kanalsuche

VDR selbst sucht eigentlich nicht nach Kanälen. Jedenfalls ergibt sich das aus den Texten, die ich im VDR-Wiki und in den Foren so lese. VDR greift auf die channels.conf zu, die aber erstellt werden muss. Zwar hat VDR bei der Installation schon eine channels.conf installiert, aber wie aktuell diese ist, lässt sich nicht sagen. Also braucht es ein Tool, um die Sender zu scannen und die channels.conf zu erzeugen.

sudo apt-get install w-scan

Hiermit können die Sender gesucht und die channels.conf erzeugt werden.

Als nächstes…

Im nächsten Teil werde ich VDR konfigurieren. Ein anderes Aufnahmeverzeichnis muss erstellt werden, die Grundeinstellungen vom VDR müssen gemacht werden, meine bisherigen Autotimer von der Dreambox müssen irgendwie in den VDR und so weiter und so fort.

Auch, wenn es erst mal kompliziert klingt, scheint es doch ganz problemlos zu laufen. Ich bin von den Fertiglösungen, wie der Dreambox, verwöhnt, daher ist es erst mal ungewohnt, alles einzeln per Hand zu tun. Und manchmal weiß ich auch nicht, wo ich jetzt anfangen oder weitermachen soll.

Ich werde zu diversen Dingen erst mal noch die Manpages lesen, damit ich weiß, wo sich was wie einstellen lässt. Dann sehen wir weiter. Ich denke aber, als erstes dürfte ein Sendersuchlauf auf dem Programm stehen.

Von Kamil Günay

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