TVHeadend ist eine Software die das TVSignal von DVB-T, S(2) oder C Empfängern im Netzwerk bereit stellt. Man kann sich über eine Software mit dem TVHeadend Server verbinden und so das TVProgramm über einen Netzwerkzugang schauen. Zudem kann man die Software als Videorecorder nutzen, es steht unter anderem eine Timeshift-Funktion zum Anhalten des Programms und ein EPG bereit.
Auf dieser Seite wird beschrieben wie man die Software TVHeadend auf dem ODROID-C1+ (Partnerlink) installiert. Es wird beispielhaft anhand eines DVB-S2 Sattelitenempfängers gezeigt.
Diese Seite bezieht sich auf die Installation auf dem Odroid C1, wer einen RaspberryPi 2/3 hat und dort TVHeadend installieren möchte kann dies auf der Seite “TVHeadend auf dem RaspberryPi installieren” nachlesen.
Kurzzusammenfassung:
- Zur Installation benötigte Pakete installieren
- TVHeadend herunterladen, kompilieren und installieren
- Startscript erstellen
- Start von TVHeadend überprüfen
Was wird benötigt:
- ODROID-C1+ (Partnerlink) mit ArchLinux
Installation von TVHeadend
Pakete nachinstallieren
Als erstes, wenn man noch nicht auf dem Odroid eingeloggt ist, bauen wir eine Verbindung über Putty zum Server auf. Ist dies geschehen dann werden wir ein paar Pakete nachinstallieren die Später für die Installation von TVHeadend benötigt werden.
Damit das System auf dem aktuellen Stand ist, führen wir zuerst ein Systemupdate durch. Da recht viele Dateien ausgetauscht werden, sollte man vorher ein Image des Systems mit dem Win32DiskImager durchführen. So kann man falls etwas schief läuft das System schnell wiederherstellen. Nun zum Systemupdate:
sudo pacman -Syu
Dies dauert je nach Aktualität des Systems eine Weile, bei mir waren es ca. 20min.
Nun installieren wir einige Pakete nach die später benötigt werden.
sudo pacman -S avahi nss-mdns openssl python wget base-devel git ffmpeg cmake git
Die Nachfrage was von den “base-devel” benötigt wird einfach mit “Enter” betätigen und damit alles installieren. Die Installation von ffmpeg lässt einen Optionen. Hier einfach mit “Enter” die Standardeinstellung verwenden.
Die Nachfrage bei der libgl und libx264 auch jeweils mit “Enter” bestätigen.
Anschließend die Nachfrage “Installation fortsetzen” mit Ja beantworten und es geht los mit der Installation.
Jetzt werden die Pakete heruntergeladen und installiert. Bei mir wurden 113 Pakete installiert und es hat ca. 15min gedauert.
Bei der Aktualisierung des Systems wird das Programm openssl in einer neuen Version eingespielt. Diese Verhält sich, aus Sicherheitsgründen, leider anders und standardmäßig ist hier der SSH-Zugang z.B. über Putty gesperrt. Da wir diesen nutzen, müssen wir einen Eintrag in der Config-Datei von openssl anpassen. Öffnen der Datei:
sudo nano /etc/ssh/sshd_config
Jetzt starten wir den Rechner neu.
sudo reboot
TVHeadend installieren
Das System ist jetzt bereit für die Installation von TVHeadend. Als erstes laden wir die Sourse-Dateien der stabilen Version von TVHeadend herunter. Dies ist zur Zeit (27.12.2015) die Version 4.08. Die aktuelle Source findet man hier.
wget https://github.com/tvheadend/tvheadend/archive/v4.0.8.tar.gz
Dann entpacken wir das Archiv und wechseln anschließend ins Verzeichnis von TVHeadend.
tar -xvf v4.0.8.tar.gz cd tvheadend-4.0.8
Nun kompilieren wir TVHeadend. Dazu muss erst das Konfigurationsscript gestartet werden. Es prüft und stellt ein mit welchen Optionen TVHeadend kompiliert wurde. Hinweis: Bei früheren Versionen von TVHeadend bekam ich eine Meldung vom Konfigurationsscript, abhilfe hat hier gebracht es folgendermaßen zu starten: ./configure –disable-dvbscan oder ./configure –disable–avahi —disable-dvbscan
./configure
Ist das Konfigurationsscript durchgelaufen, dann können wir das Programm Kompilieren. Dies machen wir mit folgendem Befehl:
make
Und sollte am Ende in etwa so aussehen:
Nun steht die Programmdatei zur Verfügung, die jetzt noch installiert werden muss.
sudo make install
TVHeadend automatisch starten
TVHeadend ist damit installiert, nun werden noch einige Schritte durchgeführt damit es beim Systemstart automatisch gestartet wird. Dazu legen wir als erstes eine neue Gruppe und einen Benutzer an unter dem TVHeadend laufen soll.
sudo groupadd video sudo useradd -m -g video hts
Dann müssen wir eine Service Datei anlegen. Dazu wechselt man in den Ordner in dem man als Benutzer eigene Services hinterlegen kann:
cd /etc/systemd/system/
Jetzt eine Textdatei mit dem Editor nano erstellen:
sudo nano tvheadend.service
Dort folgendes eintragen:
[Unit] Description=tvheadend After=network.target Wants=oscam.service After=oscam.service [Service] Type=forking PIDFile=/run/tvheadend.pid ExecStart=/usr/local/bin/tvheadend -f -p /run/tvheadend.pid -C -u hts -g video ExecStop=/usr/bin/rm /run/tvheadend.pid Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
Anschließend die Datei speichern (“Alt-O”) und nano beenden (“Alt-X”).
Damit die Datei beim Systemstart ausgeführt wird und darüber TVheadend startet, muss noch folgender Befehl ausgeführt werden:
sudo systemctl enable tvheadend
Anschließend starten wir das Programm von Hand, dies wird beim nächsten mal automatisch durchgeführt:
sudo systemctl start tvheadend
Nun wird noch geprüft ob das Programm richtig gestartet wurde.
Überprüfen ob TVHeadend gestartet wurde
Dazu loggt man sich über Putty auf den Server ein und führt folgendem Befehl aus:
ps -ef | grep tvheadend
Man sollte in etwas folgendes Bild bekommen. Der rot markierte Eintrag zeit das TVHeadend ausgeführt wird. “hts” ist dabei der Benutzer unter dem TVHeadend gestartet wurde und der Thread hat die Nummer 209. Der zweite Eintrag kommt durch den Aufruf selbst “grep tvheadend” und hat nichts mit einem laufendem TVHeadend zu tun.
Überprüfung ob TVHeadend gestartet wurde als Video:
Damit ist die Installation von TVHeadend abgeschlossen, hier geht es jetzt weiter mit der Konfiguration von TVHeadend!
Hi, super How2, ich versuche es auf einem pi3 und mir ist aufgefallen das es per AUR und makepkg -si viel einfacher geht. Bei Deiner Anleitung habe ich einen make error bekommen, dafür gibt es zwar einen patch, aber für Anfänger nicht ganz trivial den zu benutzen.
Hi there,
thanks for this guide…got my though installing TVheaden on Seagate Goflex! So thx!
Danke dir für die detailierte Info!
Heute die Anleitung überarbeitet, da die bisherige Vorgehensweise nicht mehr funktionierte. Die jetzige Anleitung ist allgemeiner und daher hoffentlich von längerer dauer…