VDR mit DVB-T2 zu Fuß
Inhaltsverzeichnis |
Überblick
Am 29. März 2017 wird in vielen Regionen Deutschlands DVB-T durch DVB-T2 HD abgelöst. In Deutschland ist damit die Einführung des Video-Kompressionsverfahrens HEVC (H.265) verbunden. Die Ertüchtigung einer bestehenden DVB-T-Installation für diese Umstellung stellt folgende Herausforderungen:
- Neue Hardware für DVB-T2 Empfang,
- Unterstützung dieser Hardware durch den Linux-Kernel,
- Upgrade des VDR auf eine Version, die HEVC unterstützt,
- Anpassung der benötigten Plugins an HEVC und an die mit VDR 2.3.1 eingeführten Änderungen,
- Einsatz HEVC-fähiger Backends, ggfs auch neue Hardware nötig,
- Scan zur Erstellung der channels.conf-Einträge für die DVB-T2-Sender.
Zum Zeitpunkt der Erst-Erstellung dieses Textes (Februar 2017) erfüllen fertig erhältliche Linux-Distributionen (wie Ubuntu) diese Anforderungen noch nicht und man muss Builds und Patches selbst durchführen. Die Patches stehen an ganz unterschiedlichen Stellen, wo wertvolle Arbeit geleistet wurde. Hier werden diese nur zusammengeführt. Dieser Text gibt einen roten Faden durch die Änderungen, die beim Erstersteller dieses Wiki notwendig waren. Er ist bewusst nicht als ausführliche Anleitung geschrieben, da die einzelnen Anpassungen sich je nach eigener Arbeitsumgebung doch unterscheiden können.
(Hinweis: Als vdr-spezifische Distribution enthält easyvdr 3.0 alle Patches für DVB-T2 via Streamdev.)
Abgrenzung
Die darüberhinaus bestehende Herausforderung
- Verschlüsselung privater Sender
wird hier nicht angegangen. Mit der skizzierten Vorgehensweise lassen sich also nur die "frei empfangbaren" Programme nutzen.
Adapter für den DVB-T2 Empfang
Eine Sammlung von DVB-T2-fähigen USB Devices findet sich in https://www.linuxtv.org/wiki/index.php/DVB-T2_USB_Devices.
Hauppauge WinTV dualHD
Es wurde der "Hauppauge WinTV dualHD" als Beispiel gewählt, da dieser über 2 Tuner verfügt, was den gleichzeitigen Empfang von bis zu zwei Programme aus unterschiedlichen Bündeln erlaubt.
Der Linux-Kernel unterstützt diesen Adapter ab Kernel-Version 4.7, aber nur den ersten Tuner. Unter Ubuntu 16.04 LTS beispielsweise findet man einen solchen Kernel im Paket linux-generic-hwe-16.04-edge (bzw. den dabei mitinstallierten Paketen).
Ein Kernel-Modul-Patch, der beide Tuner unterstützt, wurde im Forum https://forum.libreelec.tv/ gefunden. Ein Link dort führt zu einem Patch file für Kernel 4.2.5: https://www.dropbox.com/s/qkw7fn7y9szdn1r/wintv-dualhd-kernel-4.2.5-2016-08-10.patch.tar.xz?dl=0. (Wendet man den Patch auf Kernelversion 4.4 an, so ist relativ wenig anzupassen. Bei einer Anwendung auf 4.8.0 muss man den Patch mehr anpassen, da dort ein Teil der Änderungen - für die Unterstützung des ersten Tuners - im Kernel schon drin ist. Beim Autor läuft Ubuntu 16.04 auf Eeebox B202 mit dem Patch der Kernelversion 4.8.0 stabil, mit 4.4.0 nicht stabil.)
VDR-Version mit HEVC-Support
VDR unterstützt HEVC seit der Heiligabend-Version 2.3.2 ftp://ftp.tvdr.de/vdr/Developer/vdr-2.3.2.tar.bz2.
VDR Plugins
Mit vdr-Version 2.3.1 gab es Änderungen, die auch Anpassungen in den Plugins erfordern, sofern diese auf Timer, Channels oder Recordings zugreifen. Ferner sind auch in manchen Plugins Anpassungen an HEVC erforderlich, siehe HEVC.
Wichtig zur Anbindung von KODI als Backend ist das Vnsi-server-plugin, das in der GIT-Version, Stand 04.01.2017 beide Punkte (vdr 2.3.1 und HEVC) berücksichtigt.
Bei Streamdev-plugin unterstützt die am 4.1.2017 gezogene Git-Version die VDR-Version 2.3.1 und wird mit dem Patch an HEVC angepasst.
Das Xineliboutput-plugin erfordert ebenso die aktuelle Git-Version.
Das Softhddevice-plugin ist bisher nur in einem Fork angepasst, bei dem zu hoffen ist, in die Mainline aufgenommen wird .
HEVC fähige Backends
Der Raspberry Pi, der bisher am Fernseher als Backend gedient hat, packt die Arbeit wegen der HEVC-Dekodierung nicht mehr. Er wurde ersetzt durch einen
- ODROID-C2, der über einen HEVC Hardwaredecoder verfügt, mit LibreELEC 7.1.1 von http://forum.odroid.com/viewtopic.php?f=144&t=24923 (noch ein Weihnachts-Release).
Weitere Backends:
- KODI 15.2 aus der Ubuntu 16.04 LTS-Distribution auf X86-64 Architektur (Intel CORE i7 4770 4x3,4 GHz, 8 GB)
- VLC auf derselben Plattform nur teilweise wahrscheinlich abhängig von der Audio-Codierung.
- sehr stockend: KODI 17.0 auf einem Android-Tablet Samsung Galaxy Tab Active - das könnte bei einem Tablet mit schnellerem Prozessor oder bei Vorhandensein eines HEVC-Hardwaredekoders besser werden.
Scan zur Erstellung der channels.conf
Nicht alle DVB Scan-Programme unterstützen schon DVB-T2. Das in den meisten Linux-Distributionen vorhandene W_scan unterstützt DVB-T2, aber aufgrund der im Forum http://www.vdr-portal.de/ diskutierten Problematik kann das Ergebnis des Scans unvollständig sein. Im gleichen Forum wird ein Patch post1274542 angeboten, der das Kommando w_scan um die beiden Optionen -Y und -N erweitert. (Erklärung dieser Optionen mit "w_scan -H" mit der gepatchten Version.) Verwendung einer oder beider dieser Optionen kann zusätzliche DVB-T2-Einträge für channels.conf liefern.
Inzwischen gibt es eine neuere Version des Originals vom 07.01.2017. Bei einigen der hiervon ins channels.conf geschriebenen Einträge können möglicherweise zwar die DVB-T2 Kanäle empfangen, aber keine EPG-Informationen gesammelt werden. Ursache ist wahrscheinlich die Transport-ID an vorletzter Stelle im channels.conf. Durch Suche nach dem String "updating network_id" in der stderr-Ausgabe des Scan kann man sich für die betroffenen Frequenzen Transport-IDs besorgen und (bei gestopptem vdr) manuell einpflegen, bei denen auch der EPG-Empfang klappt.