TVHeadend auf dem Odroid C1 installieren

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:





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.

base-devel

Die Nachfrage bei der libgl und libx264 auch jeweils mit “Enter” bestätigen.

libgl
libx264

Anschließend die Nachfrage “Installation fortsetzen” mit Ja beantworten und es geht los mit der Installation.

Installation fortsetzen



Jetzt werden die Pakete heruntergeladen und installiert. Bei mir wurden 113 Pakete installiert und es hat ca. 15min gedauert.

PaketeInstalliert

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
Nun die Auskommentierung bei dem rot markierten Eintrag entfernen (“#” vor dem Eintrag entfernen), auf “yes” setzen, die Datei mit “Strg-O” speichern und Nano mit “Strg-X” beenden. Der Eintrag sollte dann wie auf dem unteren Screenshot aussehen.
PermitRootLogin

Jetzt starten wir den Rechner neu.

sudo reboot
Hinweis: Bei mir hatte der Odroid C1 nach der Systemaktualisierung eine neue IP-Adresse bekommen. Wenn man sich nicht einloggen kann evtl. prüfen ob das auch der Fall ist



 


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
Source herunterladen



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 –disableavahidisable-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:

Kompilieren beendet

Nun steht die Programmdatei zur Verfügung, die jetzt noch installiert werden muss.

sudo make install
Programm installieren



 


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.

TVHeadend läuft


Ü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!




 

4 Antworten

  1. Markus sagt:

    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.

  2. Klaus sagt:

    Hi there,
    thanks for this guide…got my though installing TVheaden on Seagate Goflex! So thx!

  3. Roland sagt:

    Danke dir für die detailierte Info!

  4. Heute die Anleitung überarbeitet, da die bisherige Vorgehensweise nicht mehr funktionierte. Die jetzige Anleitung ist allgemeiner und daher hoffentlich von längerer dauer…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert