Griga Posted November 6, 2023 Posted November 6, 2023 In dieser Anleitung habe ich bereits beschrieben, wie sich DVBViewer und Media Server unter Linux Mint mit der Laufzeitumgebung "Wine" in Betrieb nehmen lassen. Allerdings können sie so nicht direkt auf DVB-Hardware zugreifen und sind deshalb für TV/Radio auf Netzwerkquellen angewiesen. Die folgenden Posts erläutern, wie sich lokale DVB-Geräte im DVBViewer/DMS unter Linux trotzdem nutzen lassen. Es bietet sich an, einen Sat>IP-Server wie tvheadend hinzuzuziehen, der nativ unter Linux läuft und DVB-Hardware für den DVBViewer verfügbar macht. Dies habe ich sowohl mit Digital Devices-Karten (Cine S2 v6 und DuoFlex C2/T2) als auch einer alten TechniSat USB HD erfolgreich durchgeführt. Der Weg dahin war allerdings recht hürdenreich... Bitte beachten: Die folgende Beschreibung ist exemplarisch und gilt so nur für meine Konfiguration. Nichtsdestotrotz ist ihr die prinzipielle Vorgehensweise zu entnehmen. Wer andere DVB-Hardware hat, muss einige Punkte entsprechend variieren, was aber nicht allzu schwer fallen dürfte. 1 Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 Linux-Treiber für DVB-Geräte Die Kommandozeile inxi -AG listet Geräte aus den Kategorien Audio/Graphics auf, in denen auch DVB-Geräte zu finden sind. Die Ausgabe zeigt, welche erkannt wurden und ob Treiber installiert sind. Diese bringt der Linux-Kernel oft schon mit, so dass die Geräte ohne weiteres verfügbar sind. Das war bei Digital Devices der Fall. Steht beim Treiber N/A, ist eventuell eine zusätzliche Firmware-Datei erforderlich, deren Inhalt womöglich aus einem Windows-Treiber kopiert wurde und aus Copyright-Gründen nicht in Linux enthalten ist. Eine Suche nach Linux plus dem (möglichst exakten) Produktnamen des Gerätes führte bei der Skystar USB HD auf diese Seite mit einem Link zur Firmware und weiteren Anweisungen. Nach dem Speichern der Datei an der richtigen Stelle und einem PC-Neustart war das Gerät verfügbar. Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 Installation von snapd tvheadend als nativ unter Linux laufende Server-Anwendung bietet eine ähnliche Funktionalität wie der DVBViewer Media Server, ist aber unter Linux Mint leider standardmäßig weder der Anwendungsverwaltung noch der Synaptic-Paketverwaltung bekannt. Man muss also entsprechende Paketquellen ergänzen. Als am einfachsten zu handhabende Methode hat sich bei mir die Installation von tvheadend als Snap-Paket herausgestellt, auf die ich mich deshalb im Folgenden beschränke. Ausführliche Informationen zu Snaps gibt es hier. Um solche Pakete installieren zu können, ist die Verwaltungsanwendung snapd erforderlich. Versucht man diese unter Linux Mint mit den Kommandozeilen sudo apt update sudo apt install snapd zu installieren, erhält man jedoch nur eine Fehlermeldung. Sie resultiert daraus, dass die Verwendung von Snap-Paketen in Linux Mint explizit deaktiviert ist. Die nicht technischen, sondern eher "politischen" Gründe dafür sind hier nachzulesen. Für Anwender, denen die Entscheidung für oder gegen Snap-Pakete so aus der Hand genommen wird, ist das ärgerlich. Glücklicherweise lässt sich die Installation von snapd unter Linux Mint durch einen kleinen Eingriff ermöglichen. Die Vorgehensweise: Von der Taskleise aus den persönlichen Ordner öffnen. Mit Rechtsklick verborgene Dateien anzeigen lassen und Systemverwalter-Rechte anfordern. Zweimal zum übergeordneten Ordner wechseln und sich vom Wurzelverzeichnis zur Datei /etc/apt/preferences.d/nosnap.pref durchhangeln. Die Datei nosnap.pref mittels Rechtsklick in nosnap.backup umbenennen. Danach sollte die Installation von snapd mit den oben angegebenen Kommandozeilen gelingen. Die Installation des umstrittenen Snap-Stores von Ubuntu ist damit nicht verbunden - das müsste noch extra geschehen. Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 Installation von tvheadend Nach der Einbindung von snapd ist die Installation von tvheadend per Kommandozeile einfach: sudo snap install tvheadend Von tvheadend, das im Hintergrund als Service läuft, sieht man danach zunächst nichts, bis man im Browser mit http://localhost:9981 das Webinterface des Servers aufruft. Dort geht es nun an die Konfiguration. Ich beschränke mich in der folgenden bebilderten Anleitung auf Punkte, die für die Verwendung lokaler DVB-Hardware im DVBViewer unter Linux/Wine wichtig sind. Dabei gibt es einige Feinheiten zu beachten - die Punkte also sorgfältig abarbeiten! Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 Einrichtungs-Wizard von tvheadend Im Webinterface von tvheadend erscheint nach dem ersten Aufruf ein Einrichtungswizard, bei dem uns jedoch nur die ersten beiden Seiten interessieren. Auf der ersten legt man die Sprache für das Webinterface sowie die bevorzugten EPG-Sprachen fest: Auf der zweiten geht es um die zugelassenen Netzwerkadressen (0.0.0.0/0 für alle) sowie Zugangsdaten für den tvheadend-Administrator und Benutzer. Ich empfehle, hier zunächst überall einen Stern (*) für "kein Benutzername" und "kein Passwort" einzugeben. Bei mir wurde tvheadend mitunter zickig und ließ mich nicht mehr ins Webinterface, auch nicht mit dem richtigen Passwort - da half dann nur eine De- und Neuinstallation. Verzichtet man auf den Passwortschutz, darf tvheadend natürlich nicht aus dem Internet erreichbar sein. Dies ist normalerweise durch den Router bzw. seine Firewall gewährleistet, solange man keine Portweiterleitung auf tvheadend einrichtet und auch kein UPnP via Internet ermöglicht. Die nachfolgenden Seiten des Einrichtungswizards befassen sich mit der Konfiguration von TV/Radioempfang. Hier am besten alles leer lassen und einfach "Speichern & Weiter" anklicken. Für die Versorgung des DVBViewers mit Sat>IP braucht es ohnehin die ausführlicheren Konfigurationsseiten des Webinterface. Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 DVB-Netzwerke konfigurieren Nach Abschluss des Wizards sind im Webinterface als erstes die mit der Hardware empfangbaren DVB-Netzwerke einzurichten. Da meine Digital Devices Tuner DVB-S(2) (Astra 19,2° Ost) und DVB-T2 empfangen, waren es zwei. Der folgende Screenshot zeigt den Weg dorthin. Nach "Hinzufügen" erscheint zunächst ein Auswahldialog für den Empfangstyp, in dem ich DVB-S gewählt habe, und danach der Konfigurationsdialog. Wichtig ist hier, den Ansichtsmodus auf "Erweitert" zu stellen, um die Sat>IP Quellennummer eingeben zu können. Unbedingt beachten: Sie muss bei Satellitenempfang dem DiSEqC 1.0-Kommando entsprechen, das der DVBViewer dem Server sendet, mit der Zuordnung 1 = AA, 2 = AB, 3 = BA, 4 = BB. Mit der Eingabe 1 habe ich das DVB-S-Netzwerk also auf DiSEqC = Pos A/Opt A konfiguriert. Stimmt das nicht überein, meldet der DVBViewer nur "Sender nicht verfügbar vom Server"! Die oben sichtbaren Eingaben habe ich mit "Anlegen" abgeschlossen. Für das DVB-T-Netzwerk läuft der Vorgang ähnlich ab: Hinzufügen -> Typ auswählen (DVB-T) -> Konfigurieren. Hier kann man als Sat>IP Quellennummer pauschal 1 angeben. Das gilt auch für DVB-C. Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 TV-Adapter konfigurieren Der folgende Screenshot zeigt, wie man im tvheadend-Webinterface zu den als Baumansicht aufgelisteten TV-Adaptern bzw. Tunern gelangt. Hier irritieren zunächst die Bezeichnungen der verbauten Chips. Von "Digital Devices" ist nichts zu sehen. Trotzdem erkennt man leicht die DVB-S und DVB T2/C Tuner. Nach entsprechender Auswahl auf der linken Seite wie im Screenshot gezeigt sind zunächst Grundeinstellungen fällig. Wichtig ist, den Adapter zu aktivieren, damit ihn tvheadend verwendet, und unter Satellitenkonfiguration den richtigen LNB-Typ bzw. die Art der Empfangsanlage einzustellen. Bei mir war es ein Unicable-LNB. Der häufigste Fall dürfte jedoch "Universal LNB only" für den Empfang nur einer Sat-Position wie Astra 19,2° Ost sein, den ich deshalb für die Screenshots ausgewählt habe. Die Einstellungen werden mit "Speichern" abgeschlossen. Danach sind die Parameter für die gewählte Empfangsanlage bzw. den LNB-Typ an der Reihe. Der folgende Screenshot zeigt die Konfigurationsseite, die nach Anwahl des entsprechenden Eintrags in der Baumansicht erscheint. Bei "Universal LNB only" ist nur die Auswahl eines der im vorherigen Schritt konfigurierten DVB-Netzwerke erforderlich. Diese Angabe ist Pflicht, da tvheadend den TV-Adapter sonst bei Sat>IP nicht anbietet! Der erweiterte Ansichtmodus zeigt, was sich hier sonst noch einstellen lässt. Geändert habe ich die Vorgaben zunächst nicht. Auch hier erfolgt der Abschluss mit "Speichern". Der zweite DVB-S-Tuner wird auf gleiche Weise behandelt. Der folgende Screenshot zeigt exemplarisch die anzugebenden Parameter für einen der DVB-T2-Tuner. Hier findet man die Aktivierung und die DVB-Netzwerk-Auswahl gemeinsam auf einer Seite und schließt mit "Speichern" ab, bevor auf gleiche Weise der zweite DVB-T2-Tuner an die Reihe kommt. Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 Sat>IP Server konfigurieren Der folgende Screenshot zeigt, wie der Sat>IP-Server von tvheadend zu konfigurieren ist. Als Portadresse habe ich die vorgeschlagenen 9983 gewählt. Der RTSP-Standardport ist zwar eigentlich 554, aber unter Linux problemschwanger, da er Root-Rechte erfordert. Der DVBViewer kommt jedenfalls mit 9983 zurecht. Wichtig ist weiterhin, wie viele Tuner von welchem Typ über Sat>IP verwendbar sein sollen - hier 2 DVB-S2 und 2 DVB-T2 Tuner. Clients erhalten dies bei einer automatischen Serversuche als Information. Auch hier erfolgt der Abschluss mit "Speichern". Wer nun sofort im DVBViewer probiert, ob tvheadend mittels Optionen -> Hardware -> Sat>IP Server suchen gefunden wird, erlebt erst mal eine Enttäuschung. Da tut sich nichts. Die Ursache sieht man im Experten-Ansichtsmodus der Sat>IP-Server-Konfigurationsseite im tvheadend-Webinterface. Ganz oben befindet sich ein leeres UUID-Feld. tvheadend hat dem Server aus unerfindlichen Gründen noch keine für die Erkennung erforderliche Server-ID zugeordnet. Die Erkennung funktioniert im DVBViewer deshalb erst nach einem Server-Neustart - am einfachsten durch einen Neustart des PC. Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 Erkennung und Konfiguration im DVBViewer Wenn in tvheadend alles richtig konfiguriert wurde, sollte nach dem Neustart die Erkennung im DVBViewer mittels Optionen -> Hardware -> Sat>IP Server suchen funktionieren. Bei mir ergab sich folgendes Bild: Probiert man nach "Übernehmen" im Optionenfenster mittels Senderwahl, ob der DVBViewer Empfang hat, gibt es die nächste Enttäuschung: Er meldet nach erheblicher Bedenkzeit "Für diesen Sender ist kein passendes DVB-Gerät verfügbar". Warum das? Öffnet man die Einstellungen für die virtuellen RTSP-Netzwerkgeräte, sieht man als IP-Adresse des Servers 127.0.0.1. Da sich der Server auf dem selben PC befindet, nimmt der DVBViewer mit Fug und Recht an, dass er über "localhost" erreichbar ist. Nur liefert tvheadend leider nicht über localhost, warum auch immer. Man muss deshalb zwingend in den Einstellungen aller tvheadend zugeordneten virtuellen RTSP-Netzwerkgeräte 127.0.0.1 manuell durch die IP-Adresse des Netzwerkadapters im PC ersetzen, meistens eine im Bereich 192.x.x.x. Die Adresse erfährt man unter Linux Mint, indem man unten rechts im Infobereich auf das Netzwerksymbol und dann auf Netzwerkeinstellungen klickt. Oder indem man als Kommandozeile ifconfig eingibt und bei "inet" nachschaut. Nach den Adressänderungen, Abschluss der Einstellungsdialoge mit OK und Übernehmen im Optionenfenster hat es hier endlich funktioniert: Der DVBViewer nutzte unter Linux Mint/Wine via tvheadend die Digital Devices-Tuner im PC. Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 Probleme mit Bereitschaftsmodus (Standby) Leider funktionierte tvheadend nur bis zum ersten Aufwachen des PCs aus Standby. Das Problem ist dabei offenbar, dass die Kernel-Module für die Digital Devices-Karten den Wechsel nicht sauber mitvollziehen und danach "strubbelig" sind. Da hilft dann auch kein PC-Neustart (Reboot), sondern nur ein komplettes Herunterfahren des PC, das auch die Hardware abschaltet (siehe hier). Erst nach dem anschließenden Hochfahren ging es wieder. Kurz gesagt kann ich Standby auf dem Test-PC vergessen, wenn ich ihn unter Linux für TV/Radio benutzen möchte. Solche Effekte begegneten einem vor 20 Jahren auch unter Windows, aber heutzutage kaum noch. So lernt man dann den DVBViewer Media Server unter Windows schätzen... Im Ubuntu-Wiki gibt es Hinweise auf das Problem und einen Lösungsansatz, der bei mir jedoch - mit einigen erforderlichen Anpassungen - bislang nicht funktioniert. Eine eventuelle Lösung könnte die Verwendung aktueller Treiber von Digital Devices sein, die angeblich aus gewissen "politischen" Gründen noch nicht im Linux-Kernel integriert sind (siehe hier) - mit modinfo ddbridge als Kommandozeile konnte ich feststellen, dass auch bei mir ein von anderer Seite erstellter Treiber aktiv ist. Die von Digital Devices stammenden Treiber muss man jedoch selbst aus dem Quellcode erzeugen und installieren. Da geht es dann richtig ans Eingemachte... falls sich weitere Erkenntnisse dazu ergeben, werde ich sie hier melden. Quote
Griga Posted November 6, 2023 Author Posted November 6, 2023 Inzwischen habe ich auch herausgefunden, wie man den Sat>IP Server minisatip unter Linux Mint in Betrieb nimmt. Dabei handelt es sich um eine reine Kommandozeilen-App ohne GUI, die wenig Ansprüche stellt und deshalb gerne für Enbedded-Systeme verwendet wird. Auch wenn die Konfiguration etwas mühsam ist - insbesondere wenn Besonderheiten wie Unicable eine Rolle spielen - lässt sich der Server gut verwenden, um dem DVBViewer und Media Server unter Linux/Wine Zugriff auf DVB-Hardware zu verschaffen. Das Problem ist nur, für die Installation von minisatip ein Paket oder zumindest eine x86-Binary zu finden. Mir ist es nicht gelungen. Es gibt ein Snap-Paket (siehe hier und hier), doch damit scheitert bei mir die Installation bzw. der abschließenden Versuch, minisatip als Service zu starten - keine Ahnung warum. Also blieb nur, den Quellcode herunterzuladen und selbst zu kompilieren. Das geht mit den folgenden Kommandozeilen-Schritten: 1. Untersuchen, ob git installiert ist git --version 2. Falls das nur eine Fehlermeldung ergibt, mit den beiden folgenden Zeilen installieren: sudo apt update sudo apt install git 3. Quellcode herunterladen. Das erzeugt einen Unterordner minisatip in /home/[Benutzername], also z.B. in /home/griga, wo der Kram landet git clone https://github.com/catalinii/minisatip.git 4. In das neue Verzeichnis wechseln: cd minisatip 5. Kompilierung vorbereiten und Standard-Konfiguration von minisatip anzeigen lassen: ./configure 6. Kompilieren: make 7. Wenn es dabei zu dem Fehler "fatal error: openssl/aes.h: Datei oder Verzeichnis nicht gefunden" kommt, fehlt die für minisatip erforderliche OpenSSL-Bibliothek, die man so erhält sudo apt install libssl-dev Danach make wiederholen. Gelingt die Erzeugung, findet man die Binary namens minisatip (ohne Dateiendung) im Ordner /home/[Benutzername]/minisatip (s.o.). 8. Binary kopieren Will man zukünftig minisatip per Kommandozeile ohne Pfadangabe starten, kopiert man die Binary mitsamt dem Ordner html nach /usr/bin, wo sich unter Linux üblicherweise die Binaries befinden. Um dorthin zu gelangen, öffnet man unter Linux Mint ein weiteres "Explorer"-Fenster, gibt ihm nach einem Rechtsklick Systemverwalter-Rechte, hangelt sich bis zur obersten Verzeichnisebene durch (Root), und dort findet man das usr-Verzeichnis. Der Ordner html ist für das rudimentäre Webinterface erforderlich, in dem minisatip Statusinfos anzeigt. 9. minisatip starten. Wichtig: Falls auf dem PC bereits Tvheadend läuft, sollte man es vorher stoppen (z.B. mit sudo snap stop tvheadend), damit sich die Server nicht ins Gehege kommen. Sie können auch gleichzeitig laufen, müssen dann aber dafür konfiguriert sein! sudo minisatip -f -R usr/bin/html sudo ist hier erforderlich, weil minisatip sonst nicht über den Standard-RTSP-Port 554 auf eintreffende Anfragen lauschen kann und auch die Einrichtung eines Cache-Ordners fehlschlägt, was den Start insgesamt scheitern lässt. -f sorgt dafür, dass minisatip im Konsolenfenster läuft, so dass man dort auch eventuelle Status- und Fehlermeldungen sieht (ohne -f würde minisatip als Hintergrund-Programm laufen) und das Programm einfach durch Schließen des Fensters beenden kann. -R usr/bin/html sagt minisatip, wo sich die Dateien für das Webinterface befinden. Das sollte minisatip eigentlich von alleine wissen, aber nach meiner Erfahrung klappt das ohne die Angabe nicht immer, so dass man ein leeres Webinterface erhält. Es lässt sich in einem Browser auf dem selben PC mit http://127.0.0.1:8080 aufrufen. Das reicht im allgemeinen, um im Linux-PC vorhandene DVB-Hardware für den DVBViewer verfügbar zu machen (vorausgesetzt, es sind dafür Treiber installiert). Je nach Lage der Dinge können jedoch beim Start von minisatip weitere Kommandoparameter für eine spezielle Konfiguration nötig sein, die hier aufgezählt werden. Weiter geht es abschließend im DVBViewer mit diesen Schritten. Bitte Fragen, Anregungen und eigene Erkenntnisse zum Thema "DVB-Geräte im DVBViewer unter Linux Mint/Wine verwenden" an dieses Thema anhängen. Quote
MaDu Posted November 21, 2023 Posted November 21, 2023 Hallo Griga, auch hier nochmal vielen Dank für die präzise und ausführliche Anleitung "DVB-Geräte im DVBViewer unter Linux Mint/Wine verwenden". Ich habe es nun mit deiner Anleitung und ein wenig Recherche zur Installation der erforderlichen Firmware geschafft, 2 PCTV 460e USB-Sticks unter Tvheadend in Betrieb zu nehmen und im DMS per Tvheadend als Sat>IP-Server einzubinden. Die CPU-Leistung des Celeron J1900 schafft in dieser Konstellation jedoch nur noch die flüssige Wiedergabe von SD-Sendern, bei der Wiedergabe von HD-Sendern kommt es zu massiven Artefakten. Gruß MaDu Quote
mague Posted December 6, 2023 Posted December 6, 2023 (edited) Ich kenne die snapd Installation nicht. Installiert man tvheadend ganz normal mit apt, dann geht de-All als vordefinierter mux nicht. Anbei die Datei de-DVBT2.txt. Diese gehört unter Raspbian/Debian nach /usr/share/tvheadend/data/dvb-scan/dvb-t/ und dann ohne .txt Endung. tvheadend lässt sich auf den meisten auf Debian basierenden Linux'en mit sudo systemctl restart tvheadend.service und oder mit sudo /etc/init.d/tvheadend restart neu starten. Läuft auf einem Raspberry 3B sehr gut. Kaum CPU Last bei einem DVB-T2 Stream als DVB>IP stream zum DVBViewer GE. Tests mit DVB-S2 USB kommen später. de-DVBT2.txt Edited December 6, 2023 by mague Quote
mague Posted December 10, 2023 Posted December 10, 2023 (edited) DVB-S2 mit einen Technotrend USB Tuner geht auch prima. Die Last ist etwas größer, aber immer noch niedrig. Das mit den Ports 554 bzw. 9983 ist nicht ganz richtig. Ich habe das auch im Netz gelesen... aber das macht keinen Sinn. Es ist lediglich so das die ersten 1024 ports fest reserviert sind. 80 für http, 21 für ftp, 22 für ssh usw. Wer daraus einen Port für seinen Service nutzt riskiert Kollisionen. Siehe auch Wiki. Unter Linix steht sowas in der Regel unter /etc/services. Kann man mit less lesen. 554 ist aber der offizielle RTSP Port Aber auch mit den RTSP Port 554 kann der Technisat UHD S nicht scannen und tunen. Es sieht den Sat>IP Server aber das wars dann. Schade... Also wieder DVBViewer auf dem i5 Officerechner. MCE und USB IR hatte ich noch. Wenn ich dort FreeTV sehen will schiebe ich den DVBViewer auf den Fernseher welcher Zweitmonitor ist. Verbrauch auf dem i5 auch nur 22 W. Edited December 10, 2023 by mague Quote
Sundtek Posted February 21, 2024 Posted February 21, 2024 Unsere Sundtek SkyTV DVB-S/S2/S2X Geräte kommen mit einem SAT>IP Server, sollte daher recht einfach sein das mit DVBViewer zum Laufen zu bekommen. DVBViewer im Windows läuft jedenfalls damit. 1 Quote
Griga Posted March 8 Author Posted March 8 Hier habe ich noch einen Post ergänzt, der beschreibt, wie man den Sat>IP Server minisatip dafür einspannt, dem DVBViewer und Media Server unter Linux/Wine Zugriff auf lokale DVB-Hardware zu verschaffen. Der Post kann nicht alle eventuell auftauchenden Probleme klären, gibt aber zumindest eine Starthilfe. Falls Fragen auftauchen, hier posten, und ich werde versuchen, sie trotz meiner immer noch recht bescheidenen Linux-Kenntnisse zu beantworten. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.