Konfiguration von tvheadend
Da man für die Nutzung einer TV Karte eine spezialisierte Applikation braucht verwende ich für den eigentlichen Empfang tvheadend. Die Einrichtung empfand ich anfänglich als recht schwer, wenn man - wie ich - ohne "Satellitenempfangserfahrung" hiermit startet.
TV Karte
Zum DVB Empfang wurde bei mir eine Digital Devices Cine-C2 Karte verwendet. Mittlerweile ist eine Selfsat SAT>IP die Hauptzulieferquelle und eine Kabel-Fritz!Box 6591 kann ggf. noch Kabel-DVB-C Programme ebenfalls im SAT>IP Standard bereitstellen.
Zur Einbindung der Satellitenantenne schreibe ich mehr auf einer extra Seite. Weder für die Fritz!Box noch für die Selfsat IP 21 benötigt man spezielle "Treiber".
tvheadend
tvheadend ist schnell installiert, da es Debian Pakete von
"stable" als auch von aktuellen Entwicklungsversionen gibt. Ich nutze tvheadend, direkt aus dem Entwickler-Repository
auf einem Debian Buster. Also eine Version die
nicht im Debian Buster Standard-Repository ist. Die Unterstützung von
SAT>IP ist in diesen Releases schon sehr stabil und im großen und ganzen
zuverlässig, trotzdem aktualisiere ich die installierte Version regelmässig.
Für nähere Infos hierzu bitte die
entsprechende Wiki-Seite des tvheadend Projektes besuchen. Nach der
Installation von tvheadend fällt auf, daß die Konfiguration etwas ungewöhnlich
ist. Alles wird über das Webfrontend eingestellt. Es gibt keine zentrale
Konfigurationsdatei sondern eher ein Konfigurationsverzeichnis welches sich
dann in /home/hts/.hts/
befindet. Eher Linux-unüblich ist eine
manuelle Konfiguration praktisch nicht möglich sondern alle Einstellungen
müssen über das Webfrontend gemacht werden.
Kurz über SAT>IP im tvheadend Kontext
Die automagische Erkennung der SAT>IP Antennen über UPnP Discovery funktioniert ... bescheiden. Das liegt in meinem Setup an folgenden Punkten:
- tvheadend läuft bei mir auf einem multihomed Host (d.h. mein Server hat mehrere Netzwerkinterfaces in verschiedenen IP Netzen und der Server routet auch).
- tvheadend unterstützt nur bind auf genau eine IP. Schon ein bind auf ein "echtes Netzwerkinterface" und loopback ist aktuell nicht möglich.
- Damit die Autodetektion funktioniert muß ich in meinem Fall eine IP-Route für die UPnP discovery Multicast IP anlegen, da die SAT>IP Antenne nicht über das Default Gateway erreichbar ist. Nicht wirklich praktisch.
Aus all den obengenannten Gründen verwende ich die im folgenden Kasten aufgeführten Startparameter, zusätzlich zu den schon vorgegebenen. Hierbei ist 172.16.2.5 die IP meiner Selfsat (habe das in der DHCP Konfig hart zugeordnet) und 192.168.178.1, wie bei fast jedem, die IP meiner Fritz!Box mit aktivierten SAT>IP Server.
--satip_xml http://172.16.2.5:8000/description.xml # Für die Selfsat IP21 --satip_xml http://192.168.178.1:49000/satipdesc.xml # Für die Fritz!Box (Kabelboxen ab Version 07.22)
Das ist natürlich total gegen den SAT>IP Gedanken, funktioniert dafür aber reproduzierbar zuverlässig.
Mein tvheadend wird also so gestartet (Satellit über die Selfsat und Kabel DVB-C über eine Fritz!Box)
/usr/bin/tvheadend -f -p /run/tvheadend.pid -u hts -g video --satip_xml http://172.16.2.5:8000/description.xml --satip_xml http://192.168.178.1:49000/satipdesc.xml
Vorbereiten von tvheadend
RDS Unterstützung
Damit RDS bzw. Musik oder Sendungstitel eingeblendet werden braucht es Zusatzsoftware um Programminformationen aus dem MPEG Transportstrom im Radioprogramm breitzustellen (aus dem MPEG "EPG" oder dem auch bereitgestellten RDS). Prinzipiell kann auch tvheadend die Konvertierung des MPEG Transportstromes in "nackte" MPEG Audiodaten übernehmen, mit meiner spezialisierten Applikation können aber gleich auch noch Informationen über den Stream übertragen werden. Ich habe mich seinerzeit dafür entschieden die MPEG Transportdaten ("mp2t") in "Shoutcast" zu konvertieren, da das praktisch alle Webradios können. Mehr Infos darüber auf der in diesem Abschnitt genannten Website.
RDS Unterstützung mit dem neuen ARD Radiotransponder
Damit RDS auf dem neuen ARD Radiotransponder funktioniert muß die aktuellste tvheadend Version aus dem tvheadend-Repository genutzt werden. Ansonsten wird die MPEG-PID nicht im Datenstrom an ts2shout ausgegeben. Meine Anpassungen sind schon upstream, d.h. es kann das normale tvheadend-Release verwendet werden.
Nachdem man die gepatchte tvheadend Version am laufen hat, sieht die Streaminfo für SWR1 BW so aus
Ohne aktuelle Version funktioniert alles normal, nur gibt es kein RDS beim neuen ARD Transponder.
User Konfiguration
Nun kann man tvheadend an die eigenen Bedürfnisse anpassen indem man das Webinterface auf Port 9981 aufruft. Mittlerweile gibt es einen "Wizard" der einem die Ersteinrichtung erleichtert, indem durch die Anlage eines User und der Netzwerkkonfiguration geführt wird.
Wichtig: Allowed networks
auf jeden Fall an die eigene
Installation anpassen. Das ist die IP-(Range) von der aus der Client, in
unserem Fall der Apache reverse proxy, zugreifen. Das ist jetzt in unserem
Fall Localhost, aber der Apache muß sich nicht zwingend auf dem Server befinden auf dem tvheadend
läuft. Eben entsprechend konfigurieren.
Nun kann das ganze schonmal getestet werden. Bei mir befindet sich LMS und tvheadend auf dem gleichen Rechner, das muß aber nicht zwingend so sein. Damit später die Icon usw. funktionieren, ist es sinnvoll einen passwortlosen Account für das LAN einzurichten, welcher die Icons von tvheadend laden kann.
Einrichten von tvheadend für eine ordentliche Senderliste
Ich habe ein kleines Perl-tool für Apache erstellt das eine Squeezebox-Favoritenliste inkl. Icons direkt aus der Konfiguration von tvheadend erstellt.
Das Ergebnis wird optisch sehr ansprechend wenn man den "Channel-Tags" der Radioprogramme wie hier gezeigt jeweils Icon-Dateien zuordnet. Diese werden dann von tvheadend passend ausgeliefert.
Alle Radioprogramme die man in der Favoritenauswahl übersichtlich dargestellt haben möchte müssen genau zwei Channeltags zugeordnet bekommen. "Radio" (vergibt tvheadend automatisch an die Radioprogramme) und jeweils ein passendes Tag. Meistens passt es schon sehr gut wenn man einfach die Kanäle über tvheadend "Map selected services" in die Programmübersicht hereingemapped hat. Über das tvheadend Webinterface kann man das aber ganz gut korrigieren.
Wenn die Zuordnung nicht passt, kann man die Zuordnung der "Channel-Tags" in tvheadend auch über das Dropdown korrigieren.Senderlogos für tvheadend und Squeezebox
Damit die Senderlogos gut sowohl in den Squeezeboxen als auch über tvheadend z.B. in kodi genutzt werden können sind
noch folgende Einstellungen im tvheadend und im LMS sinnvoll
Configuration->General
(tvheadend) bzw. Einstellungen->Erweitert->Leistung
(LMS):