Hardware Software

oDroid XU4: TVHeadend installieren und konfigurieren

oDroid XU4 TVHeadend Senderansicht

Ich verwende seit nun etwa einem Jahr einen Raspberry Pi 3, USB-TV-Tuner und TVHeadend-Service, um überall im Haus auf jedem Gerät Fernsehen schauen zu können – eine klassische IPTV Infrastruktur. Zusätzlich kann ich damit das Fernsehprogramm aufzeichnen. Leider habe ich bei TV-Sendern im HD-Format schnell die Grenzen der kleinen Himbeere erreicht, denn ungefär alle 2-3 Minuten sind Fragmente im Bild. Zum einen dürfte dies an der geringen Bandbreite (TV-Signal über USB in die Beere und dann via LAN-Kabel weiter) und der sowieso geringen Systemleistung liegen. Probleme, die ein oDroid XU4 nicht unbedingt hat. Neben der wesentlich höheren Performance, ist das LAN mit GBit angebunden. Die oDroid XU4 TVHeadend Installation verlief bei mir größtenteils reibungslos, ist aber natürlich abhängig von dem TV-Tuner. Die Konfiguration hingegen hat ihre Tücken. Folgend möchte ich euch erklären, was dabei zu beachten ist.

Was wird benötigt?

* hierbei handelt es sich um Affiliatelinks. Das bedeutet, dass ich im Falle eines Kaufes Ihrerseits einen geringen Prozentsatz des Kaufpreises als Vermittlungsgebühr erhalte. Für Sie entstehen dabei keinerlei Mehrkosten.

Welchen TV-Tuner man genau benötigt hängt natürlich davon ab, wovon man das TV-Signal anzapfen möchte. In meinem Fall handelt es sich um Kabelfernsehen aus der Dose von meinem Regionalanbieter wilhelm.tel. Es gibt erhebliche Unterschiede was die Treiber-Verfügbarkeit für Linux bei den verschiedenen USB-Tunern angeht, weshalb ich im folgenden Tutorial leider nur Bezug auf meinen nehmen kann.

Zum Abspielen an den Fernsehern verwende ich hauptsächlich FireTV Sticks*, als auch FireTV Boxen*. Einfach Kodi auf dem FireTV installieren und dann unter AddOns „Tvheadend HTSP Client“ installieren und konfigurieren.

oDroid XU4 einrichten und Treiber installieren

Ich habe meinen oDroid frisch aufgesetzt mit dem neuesten Ubuntu 18.04 Image (20180531, MINIMAL, BARE OS), dass es aktuell (August 2018) gibt. Die aktuellsten Images für den oDroid XU4 findet man immer im offiziellen Hardkernel Wiki. Die Prozedur wie man ein Image installiert gibt es im Internet zu Hauf, darauf verzichte ich also.

Unter dem frisch installierten Betriebssystem habe ich mich erstmal darauf konzentriert den Treiber des Tuners zum Laufen zu bekommen. Sobald das läuft, hat man sich keine falschen Mühen mit der Kompilierung von TVHeadend gemacht. Als ersten Schritt muss man herausfinden, welchen Chip der USB-Tuner hat. Meistens kann man diesen dann bei Google eingeben und findet dazu passende Treiber für Linux. Gebt folgenden Befehl in die Shell ein:

Der DVBSky T330 Chip wird in sehr vielen USB-TV-Tunern verbaut. Es kann also gut möglich sein, dass du einen komplett anderen Stick erworben hast und dennoch den selben Chip vorfindest. In diesem Fall hast du Glück, denn Treiber für diesen Chip werden hervorragend für Linux gepflegt. Unter http://www.dvbsky.net/Support_linux.html findet man eine kurze Übersicht, was es zu installieren gibt. Ich habe jeweils den „Upstream Driver“ und die Firmware eingespielt. Dies geht wie folgt.

Nach erfolgtem Neustart sollte der Kernel die nötige Firmware und Treiber geladen haben. Am besten testen wir dies gleich. Genutzt habe ich dazu das Kommandozeilen-Programm „w-scan“. Es ist in den Paketquellen zu finden und wird wie folgt installiert.

 

Mit dem Befehl w_scan -c DE -fc -X lässt sich dann testen, ob wir auf den Fernseh-Frequenzen ein Signal finden. Mit -c DE  setzen wir das Land, mit -fc  nutzen wir DVB-C und mit -C UTF-8  setzen wir das Encoding. Falls man anstelle von DVB-C etwas anderes verwendet, gibt es noch folgende Möglichkeiten:

 

Wenn alles funktioniert sieht es in etwa so aus (Auszug):

 

oDroid XU4 TVHeadend kompilieren

Nachdem wir uns nun vergewissert haben, dass die Treiber richtig laufen und der Stick ein Fernsehsignal einfangen kann, können wir uns endlich der Kernanwendung zuwenden: TVHeadend. Das oDroid XU4 TVHeadend Setup ist relativ einfach, leider ist aber eine selbstständige Kompilierung von Nöten, da zum aktuellen Zeitpunkt (24. August ’18) keine Pakete für Ubuntu 18.04 in den zuständigen Paketquellen sind. Aber alles halb so wild, es sind nur wenige Befehle die alles selbstständig erledigen. Zu aller erst installieren wir alle Abhängigkeiten:

 

Und los geht’s:

Wie man sieht habe ich ffmpeg deaktiviert, da ich es damit leider nicht zum Laufen bekommen habe. Offenbar wird es u.A. zum Komprimieren (Transcoding) des Datenstroms verwendet. Da ich aber nur in meinem Heimnetz schaue, ist es in meinem Fall nicht nötig, da die Bandbreiten ausreichen. Sollte es jemand zum Laufen bekommen, kann derjenige sich aber gerne in den Kommentaren melden 🙂

Nun läuft auf dem oDroid XU4 TVHeadend. Sollte das nicht der Fall sein, kann man es mit systemctl start tvheadend starten. Das Autobuild-Skript legt nämlich ein Start/Stop Skript für uns an und sorgt gleichzeitig dafür, dass tvheadend unter einem eigenen Benutzer läuft.

Sendersuchlauf starten

Man kann das Web-Interface von TVHeadend fortan unter der IP des oDroids und dem Port 9981 erreichen. Zuerst loggt man sich mit den Zugangsdaten ein, die man im Installationsvorgang festgelegt hat und wird dann direkt von einem Einrichtungsassistenten begrüßt. Dieser begleitet einen durch den ersten Sendersuchlauf.

Ich habe mir die Zeit erspart und einfach die alten Konfigs meines Raspberry Pi 3 eingespielt. Für wen dies auch relevant ist: einfach den Ordner /home/hts/.hts vom alten Gerät auf den oDroid XU4 übertragen und TVHeadend neustarten. Beim normalen Weg mit dem Einrichtungsassistenten sollte man auf keine Probleme stoßen, solange die Treiber richtig laufen und w_scan Fernsehsignale entdecken kann.

Fazit

oDroid XU4 TVHeadend Demonstration mit N24

Nun ist auf unserem oDroid XU4 TVHeadend. Die Konfiguration für’s Aufnehmen und TimeShifting ist unkompliziert (Configuration -> Recording).

Ich denke bereits darüber nach mir einen zweiten USB-TV-Tuner zuzulegen, denn sobald der Stick genutzt wird um fern zu sehen oder etwas aufzunehmen, kann man keinen anderen Fernsehsender mehr betrachten.

Aber ansonsten sehe ich im Vergleich zu meinem RPi3 keine Fragmente mehr im Bild, also hat sich die Migration schon aus dem Grund gelohnt. Getestet habe ich das alles auf einer extra microSD-Karte. Zum Schluss musste ich also alles wieder auf meinen eMMC Speicher migrieren. Wie dies funktioniert, habe ich bereits in dem Beitrag oDroid XU4: Migration von microSD zu eMMC Speicher erläutert.

Ähnliche Beiträge:

Kommentare (10)

  1. Hi Dennis,

    danke für die gute Anleitung, nach längerer Zeit habe ich mich wieder mit der Möglichkeit des tvh Einsatz grundsätzlich beschäftigt! Dank Dir mit vollem Erfolg 🙂
    Zusätzlich sei bemerkt die Verbindung tvh (@odorid xu4) mit Kodi 17 & 18 ( jeweils OSMC Variante) @RPI3 & dem SAT>IP Tuner Digibit R1 läuft es nahezu perfekt!

    Grüße
    Matthias Laue

  2. Vielen Dank für das schöne how-to. Ich habe mir vor einiger Zeit auch einen odroid xu4 besorgt, genau für diesen Zweck. Abgesehen davon, dass ich mit dem Ubuntu Mate 18.04 LTS Image arbeite habe ich alles so gemacht, wie hier beschrieben. Ich schaffe es jedoch nicht, TV über Kodi abspielen zu können, naja zumindest 90% der Sender nicht, da ich lediglich Zugriff auf die SD Sender habe, wähle ich einen solchen Sender an, dauert es ca. 5 sek. Bis der Bildschirm schwarz ist, einige Minuten später bin ich dann wieder auf dem Desktop, weil Kodi abgestürzt ist. Gibt es einen Trick mpeg2/4 korrekt auf dem aktuellen 18.04 Image abzuspielen? Ich habe bereits sehr viel probiert, bis hin zum komplilieren eines eigenen Kodis, leider auch hier ohne Erfolg.

      • Danke für die schnelle Antwort. Wenn ich die öffentlich rechtlichen hd sender anwähle geht das über das webinterface. (Chromium + h264ify) auch hier bleibt der player (bei egal welchen settings) einfach schwarz, und zeigt an, dass ein Fehler passiert ist. Es muss jedoch am odroid liegen, da ich mit Handy, TV, Tablet und Windows Computer (alle mit kodi) problemlos alle Sender schauen kann. Vlt sollte ich noch erwähnen, dass dies mein erstes wirkliches Linux Projekt ist und ich für jeden Tip, sollte er auch noch so selbstverständlich erscheinen dankbar bin.

        Gruß, Sascha

        • Hi Sascha, ich verstehe leider nicht ganz. In der ersten Nachricht sagst du, dass Kodi nicht funktioniert und du es sogar selber kompiliert hast. In der letzten Nachricht schreibst du, dass im Webinterface nur die öffentlich rechtlichen Sender sehen kannst, mit Kodi hingegen aber alle sehen kannst. Was genau geht jetzt nicht? 😀

          Generell würde ich immer empfehlen ins Log zu schauen, ob du dort genauere Informationen findest. Ich kann von der Arbeit aus leider nicht auf meinen oDroid zugreifen, um zu schauen, wo das Logfile genau liegt. Ich glaube es war unter /var/log/tvheadend.log. Ansonsten lässt sich das bestimmt schnell ergooglen 🙂

          • Entschuldige die Verwirrung. Ich versuchs nochmal klarzustellen.

            Auf allen Geräten kann ich tv über das tvheadend auf dem odroid gucken, außer auf dem odroid selbst.

            Über das TVHeadend Webinterface kann ich auf dem odroid nur die ö.R. HD Sender schauen. Habe noch nie versucht, dass webinterface von einem anderen client zu bedienen, werde ich aber heute Abend mal ausprobieren. Es wird aber nicht am tvheadend liegen (glaube ich zumindest), weil ich ja mit kodi auf allen anderen geräten sowohl (ö.R.) hd als auch sd tv gucken kann.

            Alles was mir noch zu meinem Glück fehlt, ist dass ich über das Kodi auf meinem odroid auch die sd sender schauen kann und das kodi nicht crasht beim versuch einen sender an zu machen.

            Ich gucke heut Abend mal was mir die tvheadend logs sagen und kann ggf. Auch posten was die crashlogs von kodi sagen.

            Danke nochmal für die Unterstützung.

          • Behalte auch mal die Auslastung im Auge, womöglich liegt’s auch daran. Mit Streaming, Encoding, Decoding und Anzeige ist der oDroid womöglich überfordert? Eventuell kann es ja helfen, wenn du das Transcoding deaktivierst – falls es aktiviert ist. Um die Last im Auge zu behalten empfehle ich htop (in der Shell eingeben: apt update && apt install htop && htop).

  3. Zur Info: mittlerweile gibt es ein gut funktionierendes, fertiges Repository mit dem man Tvheadend auf den Odroid XU4 bringt, ohne selber kompilieren zu müssen.

    https://launchpad.net/~mamarley/+archive/ubuntu/tvheadend-git

    Als Grundlage dient ebenfalls ein Ubuntu 18.04 Image (MINIMAL, BARE OS).

    apt-get update
    apt-get dist-upgrade

    – – – – – – – – – –

    Danach einbinden des Repository:
    add-apt-repository ppa:mamarley/tvheadend-git (Tvheadend 4.3 unstable)

    oder wer es etwas konservativer mag:
    add-apt-repository ppa:mamarley/tvheadend-git-stable

    apt-get update
    apt-get install tvheadend

    Damit ist Tvheadend installiert. Einrichten und Konfiguration wie im Artikel beschrieben. Die Hardwareunterstützung für diverse Codecs kann aktiviert werden.

    – – – – – – – – – –

    Da ich einen Hdhomerun DVB-C Tuner verwende war dieses Repository optimal, es beinhaltete ebenfalls die Treiber für diese Geräte:

    apt-get install hdhomerun-config
    apt-get install hdhomerun-config-gui

    Sonst den entsprechende Treiber installieren wie im Artikel beschrieben.

Schreibe einen Kommentar