SAT>IP und VDR mit vtuner/satip-client

  • Hi,
    wie schon in Offene Runde: SAT>IP angekündigt hier nun der dedizierte Thread zu SAT>IP und VDR mit der DVB Treiberlösung aus vtuner Kernelmodul und satip Netzwerkclient. Es bestehen bereits einige Threads zum Thema SAT>IP hier im Forum die auch das Thema vtuner/satip-client behandeln, aber eben nicht ausschließlich. In diesem Thread würde ich gerne die bereits vorhandenen Erfahrungen zu vtuner/satip zusammentragen, Probleme und Bug-Reports sammeln und, wenn möglich, die Weiterentwicklung vorantreiben.


    Was ich expliziet nicht möchte ist eine Diskussion ob nun vtuner/satip oder vdr-plugin-satip besser ist, die hatten wir an anderer Stelle schon und sind ganz offensichtlich nicht zum gleichen Ergebnis gekommen. Auch wer nichts direkt zum Thema beizutragen hat möchte ich bitten, sich herauszuhalten.


    Hier also mal ein kleiner Überblick über vtuner/satip und der aktuelle Stand der Entwicklung:
    Die Lösung vtuner/satip basiert auf vtuner, einem virtuellen DVB Treiber zur Anbindung von DVB-Karten über das Netzwerk: Auf z.B. einer Dreambox mit Satellitenanschluss läuft ein Daemon (vtunerd), der eine Schnittstelle zur DVB Karte im Netzwerk zur Verfügung stellt. Auf einem entfernten PC wird mittels eines DVB-Treiber (vtunerc.ko) ein lokales Device erstellt, dass über einen Client (vtunerc) die Verbindung zum daemon auf der Dreambox herstellt. Für eine Applikation auf dem PC sieht das ganze so aus wie eine lokale DVB Karte, die Anfragen (Tuning Parameter etc.) und Antworten (TS Pakete etc.) werden jedoch durch den Client transparent zum Server übertragen.
    Hier mal ein Bild zur Veranschaulichung: [IMG:http://wiki.vtuner.googlecode.com/hg/vtuner-small_picture-v2.png].


    Darauf aufbauend hat mc.fishdish die Lösung vtuner/satip erstellt, bei der ein spezieller Client (satip) die Verbindung zu einem speziellen Daemon (SAT>IP Server) aufbaut. Die Funktionalität ist insgesamt recht einfach gehalten und beschränkt sich auf die reine Kommunikation mit einem bekannten SAT>IP Server. Es wird also kein UPnP discovery oder ähnliches gemacht. Auch hier wird über ein Kernelmodul ein virtuelles DVB Device und ein Kontrolldevice erstellt. Über den satip Prozess wird eine Verbindung zum SAT>IP Server hergestellt, wobei für jedes gewünschte Device ein eigener Prozess gestartet werden muss. Sobald eine Anwendung nun auf die virtuelle DVB Schnittstelle zugreift, belegt der satip Prozess dauerhaft einen Tuner des SAT>IP Servers (RTSP SETUP) und gibt ihn erst wieder frei (RTSP TEARDOWN), wenn die Anwendung den Tuner nicht mehr benötigt bzw. beendet wird. Für vtuner/satip gibt es einen Patch, der die Signalstärke aus den RTP Kontrolldaten an den Treiber weiterreicht, so dass z.B. femon diese anzeigen kann.
    Auch hier ein Bild zur Veranschaulichung: [IMG:http://wiki.satip.googlecode.com/git/satipvtuner.png]


    Auf dieser Lösung aufbauend ist vtuner/satip-client entstanden, welches vtuner/satip and die Satellitenreceiver von VU+ anpasst. Da in diesem Entwicklungszweig auch Änderungen eingeflossen sind, die nicht VU+ spezifisch sind und auch der VU+ Teil im Sourcecode gut gekapselt wird ist mein Vorschlag, diesen Zweig als Basis für eine Weiterentwicklung zu nutzen, bzw. die Änderungen zurück zu vtuner/satip fließen zu lassen. Insbesondere die Unterstützung von DVB-C und DVB-T ist hier dazugekommen, wobei DVB-T mangels Hardware bisher noch ungetestet ist. Ich hatte kurz mit Ferranti, dem Entwickler von vtuner/satip-client, Kontakt und er fände es gut, wenn sich noch Andere an der Entwicklung beteiligen würden, da er die nächste Zeit für eine wirkliche Weiterentwicklung keine Kapazitäten hat. Auch einen fork auf GitHUB hat er explizit vorgeschlagen.


    Ich selber habe mir auch den Code mal ein wenig angesehen wobei ich sagen muss, dass ich mit DVB bisher noch keine wirkliche Erfahrung habe. Aber gerade der RTSP Teil ist ziemlich simpel gehalten und einfach zu verstehen. Sollten in diesem Zusammenhang Probleme auftreten denke ich, dass wir über das Forum auch ohne einen der verantwortlichen Entwickler durchaus eine sinnvolle Weiterentwicklung organisieren können. Ich habe mal den Anfang gemacht, und den Signalstärke Patch von TheChief von Hand auf den satip-client von Ferranti angepasst (siehe Anhang "ferranti-signal.diff"). Um die von Ferranti gemachten Änderungen zu verdeutlichen habe ich auch einen diff erstellt, der nur die Änderungen zwischen satip von mc.fishdish und satip-client von Ferranti beinhaltet ("satip-ferranti.diff"). Angewendet auf den satip Zweig erhält man einen Zweig mit den Änderungen von Ferranti. Und der Vollständigkeit halber habe ich auch den Signalstärke Patch von TheChief mit angehängt ("satip-signal.diff" um zu verdeutlichen, worauf er angewendet werden muss).


    Als erstes würde ich gerne verstehen, welche "Quirks" im vdr-plugin-satip für die Inverto Receiver notwendig sind um zu analysieren, ob wir die im satip-client auch benötigen oder davon profitieren könnten.


    Gruß Darkstar.


    Hier möchte ich gerne Probleme, Bugs und Wünsche sammeln die wir in diesem Thread diskutieren und hoffentlich auch Lösen werden.
    Probleme/Bugs:

    • Signalstärke 0 und kein Bild bei bestimmten Kanälen. Kommt bei mir selten vor und leider nicht reproduzierbar, könnte aber auch an meinem Setup liegen (Unicable -> GSS.Box DSI-400)


    Wünsche/Feature Requests:

    • Zusammenfassen der satip-client Instanzen und der dazugehörigen Devices (/dev/dvb/adapter0, /dev/dvb/adapter1 ... -> /dev/dvb/adapterX/frontend0, /dev/dvb/adapterX/frontend1 ...)

    Files

    Hardware: Seagate Dockstar@1500MHz, GSS Box DSI 400 SAT>IP Server, VDR 2.1.6 mit Streamdev-Server
    Videoausgabe: RaspberryPi mit MLD-4.0.1-RPi an LG 42LM660