Jump to content
pünktchen

Zusammenführen von Kanälen aus unterschiedlichen Empfangswegen

Recommended Posts

pünktchen

Ich glaube die Überschrift sagt schon alles aus. Ich finde es sehr schade, dass DVBViewer als einziges Programm unter den "Großen" (NextPVR, MediaPortal, Tvheadend, ArgusTV, DVBLink), keine Möglichkeit bietet Kanäle aus verschiedenen Empfangswegen (DVB-S, DVB-C, DVB-T oder IPTV) manuell zu einem Sender zusammenzuführen. Die Priorität der Sender könnte dabei ganz einfach nach Listenreihenfolge oder Tuner-Priorität erfolgen. Gibt es keine Antwort von Sender 1, weil kein Signal oder kein Tuner mehr verfügbar, nimm Sender 2 usw.

 

Aktuelles Beispiel: Bald startet wieder die MotoGP. Diesesmal auch in Deutschland nur noch auf ServusTV. Hier bei mir im Kabel hab ich ServusTV nur in SD-Qualität, also hab ich die frei zugängliche URL vom ServusTV Livestream in 720p in den DVBViewer eingebunden. Ich habe aber keine Ahnung wie zuverlässig diese Stream-URL ist, deswegen würde ich gerne den DVB-C sender als Ausfallsicherheit mit dem Internetstream zu einem Sender zusammenfassen. Es wäre blöd, wenn das Rennen anfängt, der Stream nicht mehr geht und ich erst einmal die neue URL suchen oder die Senderliste im DVBViewer anpassen müsste.

 

Übrigens erste Anfragen zu diesem Thema gab es hier schon 2009! Nach zehn Jahren ohne Fortschritt, dachte ich es wird mal wieder Zeit, das Ganze aufzurollen.

Share this post


Link to post
Darwin

Das würde mich gerade auch stark interssieren.

Ich versuche gerade, mich neulingerweise in den Media-Server einzufummeln. Neben dem direkt angeschlossenen TBS 5520SE hätte ich die Möglichkeit, mehrere Multituner-Boxen (S, C auch T2) einzubinden, die bezüglich der Tunerwahl etwas 'paralleler' arbeiten können als der 5520SE.

Da zu hätte ich noch mehrere SingleTuner-Altertümchen in der Bastelkiste, die ich als HD-Tuner für S und C verwenden könnte.


Ein erster Versuch, die Kabelsender von einem CST-Tank (Neutrino, 2xS, 2xC) per m3u als Streams einzubinden, hat prinzipiell schonmal funktioniert. Das Neutrino im Tank 'regelt' den Zugriff auf seine beiden C-Tuner dabei autonom. Über den UPNP-Server im DMS wird mir das Signal lokal auch an meine Boxen ohne Kabelzugriff geliefert.

 

Im Zuge der "Einarbeitung" habe ich mal gelesen, dass Sender gleichen Namens in der Reihenfolge ihres "Auftretens" verwendet würden, eine andere Stelle spricht aber von einer Beschränkung auf nur einen Empfangsweg. Die Informationen sind ziemlich gestückelt und gut verteilt.

 

Mein Endziel ist eine identische Bouquet-/Kanalliste auf allen Boxen/Clients innerhalb der Familie.

"Das Erste HD" heißt dafür jetzt schon überall "_eins", "ZDF HD" dann "_zdf" usw. Allerdings erweitere ich das im Moment jeweils noch um einen Hinweis auf die Quelle, weil ich die Tunerkapazitäten 'intellektuell' verwalten muss.

Die Namensgleichheit wäre also hier auch bei verschiedenen Empfangswegen eher kein Problem, wenn ich den Hinweis weglasse.

 

Die "Überschrift" gibt ja jetzt die Gelegenheit, die zugrundeliegende "Technik",  eventuelle Rahmenbedingungen und das HowTo mal an einer Stelle zusammenzufassen und die Zusammenfassung dann später ins WiKi zu übernehmen.

 

Edited by Darwin

Share this post


Link to post
Griga
vor 11 Stunden schrieb pünktchen:

Ich finde es sehr schade, dass DVBViewer als einziges Programm unter den "Großen" (NextPVR, MediaPortal, Tvheadend, ArgusTV, DVBLink), keine Möglichkeit bietet Kanäle aus verschiedenen Empfangswegen (DVB-S, DVB-C, DVB-T oder IPTV) manuell zu einem Sender zusammenzuführen.

 

Gut zu wissen, dass du schon mehrere Lösungen zur Auswahl hast :) Wie wird das technisch und im UI bei den genannten "Großen" durchgeführt? Wie wird die "Gleichheit" von Sendern ermittelt? Funktioniert das für deine Zwecke zufriedenstellend?

 

Share this post


Link to post
pünktchen
3 hours ago, Griga said:

Wie wird das technisch und im UI bei den genannten "Großen" durchgeführt? Wie wird die "Gleichheit" von Sendern ermittelt? Funktioniert das für deine Zwecke zufriedenstellend?

Wie das im Hintergrund programmiertechnisch gelöst ist kann ich dir nicht sagen. Einige von den genannten Programmen erlauben per One-Button-Click das Zusammenfassen von Sendern mit gleichem Namen. Alle erlauben das manuelle Zusammenfassen per Mehrfachauswahl und dann meistens über das Kontextmenu. Es wird dann in der Senderliste immer nur "der eine Sender" eingezeigt. Wenn man sich dann aber die Senderdetails ansieht, werden die einzelnen Sender der verschiedenen Empfangswege aufgelistet. (z.B. MediaPortal - Bild im Anhang)

In der DVBViewer Senderliste könnte man das so ähnlich machen, wie es zur Zeit bei verschiedenen Audiokanälen dargestellt wird.

Welcher Sender dann vorzugsweise genutzt wird, kann man meistens über die Tunerprioritäten einstellen. Da es sowas beim DVBViewer ja nicht gibt, würde ich wie schon geschrieben,

einfach die Reihenfolge aus der Liste auswerten.

 

Quote

Funktioniert das für deine Zwecke zufriedenstellend?

Ja, hatte es.

 

MediaPortal.png

  • Like 1

Share this post


Link to post
Griga

Danke für die Information. Das hilft etwas weiter und gibt Anregungen für eine Realisierung.

 

Das Problem bei solchen Neuerungen sind neben Zeitmangel oft "historische" Datenstrukturen im DVBViewer, die aus Kompatibilitätsgründen beibehalten werden müssen (sie stehen quasi unter Denkmalschutz :)) , und die weitverzweigten Bezüge der Senderverwaltung in verschiedene Richtungen, die eine Anpassung an X Stellen erfordern, bis hinein in andere Anwendungen / Add-Ons (DMS, TransEdit...). Den DVBViewer gibt es halt schon seit 17 Jahren. Er ist kein unbeschriebenes Blatt, auf dem man einfach losmalen kann.

 

Die Realisierbarkeit von Neuerungen steht und fällt meist damit, dass sich ein Weg findet, sie mit überschaubarem Aufwand in das Bestehende zu integrieren. Am Anfang steht die Untersuchung der Machbarkeit, d.h. man denkt hin und her, ob es so ginge oder besser anders... manchmal ergibt sich  daraus eine zündende Idee, aber manchmal auch nicht.

 

Share this post


Link to post
Darwin

Man könnte vielleicht einen speziellen Item-Typ in der Kanalliste einführen, der nicht direkt tuned, sondern eine Routine aufruft, die est die Kindelemente prüft und danach den damit gewählten Service tuned.

 

Share this post


Link to post
Timtam

Bevor das ganze hier wieder versumpft, und weil das tatsächlich das einzige Feature ist, dass ich nach dem Umstieg vom DVBLink Server (neuerdings TVMosaic) noch beim DMS/DVBViewer vermisse...

Gibt es dazu schon News?

Share this post


Link to post
Griga

Ich habe angefangen, die Realisierbarkeit innerhalb der DVBViewer/DMS-Strukturen zu prüfen, bin aber gleich auf ein Hindernis gestoßen.

 

Heutzutage läuft vieles über Sat>IP. Ein Client kann zwar herausfinden, wieviele Tuner welcher Art beim Server vorhanden sind, kennt aber nicht deren aktuelle Verwendung. Es gibt auch keine Möglichkeit, beim Server vorab unverbindlich anzufragen, ob er einen bestimmten Sender liefern bzw. eine bestimmte Frequenz einer bestimmten Empfangsart einstellen kann. Das sieht der Standard nicht vor. Es bleibt praktisch nur, eine RTSP Session mit Tune Request und allem Pipapo zu starten und abzuwarten, ob ein Fehlercode zurückkommt. Dann sind DVBViewer und DMS jedoch schon mitten in dem Sender-Einschalt-Prozess, und der Zeitpunkt ist vorbei, wo man noch einfach und locker auf eine andere Empfangsart ausweichen kann.

 

Als Konsequenz habe ich im Sat>IP-/RTSP-Server des DMS die Möglichkeit einer solchen Vorab-Abfrage ergänzt. Aber das ist eine proprietäre Lösung, die mit anderen Sat>IP-Servern nicht funktioniert und die nur der DVBViewer nutzen könnte.

 

Eine serverseitige Lösung scheitert bei Sat>IP daran, dass der Server prinzipbedingt keine Ahnung hat, um welchen Sender es sich bei den Daten handelt, die der Client anfordert - dieser sagt ja nur "Ich will Pakete mit diesen und jenen PIDs von der folgenden Frequenz", aber nicht "Ich will den Sender mit der folgenden ID". Sat>IP-Server sind nach dem Willen ihres Erfinders (SES Astra) nur dumme Netzwerktuner mit PID Filter, die überhaupt nicht wissen, was Sender sind. Das Hauptkriterium war, dass sie sich einfach implementieren lassen. Das ganze DVB-Wissen steckt bei Sat>IP in den Clients.

 

Der DMS hat zwar zwecks serverseitiger Entschlüsselung so seine Methode, anhand seiner eigenen Senderliste zu raten, um welchen Sender es sich bei den angeforderten Daten handeln könnte, kann diesen aber nicht einfach gegen einen Sender aus einer anderern Quelle austauschen - er muss ja Pakete mit den angeforderten PIDs liefern, nicht irgendwelche anderen, sonst läuft der Client ins Leere.

 

Ich sehe also nicht, wie das Zusammenfassen von Sendern funktionieren soll, wenn Sat>IP im Spiel ist. Clientseitig lässt sich vielleicht noch eine Lösung finden, serverseitig nicht. Bei HTTP sieht es dagegen anders aus: Hier erhält der DMS in der URL eine Sender-ID und könnte theoretisch auf eine andere Quelle umschalten, solange der Client keine bestimmten PIDs und keine bestimmte Service ID erwartet (was beim DVBViewer der Fall ist, sobald es für den Stream einen Eintrag in der Senderliste gibt). Allerdings haben statische URLs dieser Art andere Nachteile.

 

Fazit: Für den einfachen Fall, nämlich einen DVBViewer, der nur lokale DVB-Hardware benutzt, wäre das Zusammenfassen von Sendern sicherlich realisierbar. Ebenso für einen DMS mit lokaler Hardware hinsichtlich Aufnahmen. Sobald aber eine Server <-> Client-Beziehung ins Spiel kommt oder gar Sat>IP, wird es schwierig.

 

Share this post


Link to post
Darwin

Die zu Beginn angeführten Lösungen beruhten doch auf manueller Vorarbeit innerhalb der entsprechenden Anwendungen.

Deshalb ja auch mein Vorschlag mit dem zusätzlichen Item-Typ in der Kanalliste.

 

Eine automatische 'Sammlung' identischer Sender für diesen Zweck durch die Software halte ich für extrem aufwändig. (künstliche Itelligenz)

Einfacher ist das anfangs über das UI und den Anwender selbst zu realisieren. (persönliche Intelligenz)

Bei unterschiedlichen Audio-Feeds gibt es sowas ja eh schon.

 

Dieser Itemtyp enthält dadurch eine Auflistung von Referenzen auf die vom Anwender zusammengestellten Sender unterschiedlicher Delivery-Systeme und Broadcaster.

Das Programm prüft bei Anfragen an diesen Itemtyp zuerst den Busy-Status der Referenzen.

Und wenn 'Frei', danach - sofern es geht - einen Tuning-Erfolg.

Wenn am Schluss dieser Schleife dann Alles busy oder nicht zu tunen ist, hat der Anwender halt Pech

anderenfalls wird der erste freie und getunte Sender verwendet.

 

Share this post


Link to post
Timtam

Und der DVBViewer bzw. der DMS ist nicht dazu in der Lage, die PIDs entsprechend anzupassen, wenn ein anderer Tuner verwendet wird, als tatsächlich erwartet?

Problematisch wird es natürlich, wenn man Sender mit unterschiedlichen Streams (bspw. HD und SD) versucht, aufeinander zu mappen. Das funktioniert vorne und hinten nicht (unterschiedliche Encoder etc), aber ob man einen DVB-C oder S/S2 verwendet sollte doch von der Enkodierung her relativ egal sein oder? Schwierig wird es natürlich mit T2 HD (H.265) und SAT>IP.

Ansonsten bliebe sicher nur eine Rekodierung, aber den Weg sollte man ja tunlichst vermeiden, verlangt er doch deutlich höhere Hardware-Anforderungen als aktuell...

Share this post


Link to post
Griga
vor 1 Stunde schrieb Timtam:

Und der DVBViewer bzw. der DMS ist nicht dazu in der Lage, die PIDs entsprechend anzupassen, wenn ein anderer Tuner verwendet wird, als tatsächlich erwartet?

 

Nein. Das Problem wäre bei Sat>IP vor allem eine andere Service ID als die erwartete aus der Senderliste. Dadurch läuft der Sender-Auto-Update ins Leere. Bei übereinstimmender Service ID würde er die PIDs rauskriegen. Danach würde in der Senderliste  aber Unsinn stehen, z.B. Das Erste (Satellit) mit den PIDs des Ersten (DVB-T2). Sehr unschön ;)

 

Bei HTTP sieht es etwas anders aus, weil sich i.a. nur ein Sender im Datenstrom befindet und auch nur einer in der PAT signalisiert wird, wenn der Server alles richtig macht und die mitgesendeten SI-Tabellen (PAT, PMT) entsprechend anpasst (der DMS macht es). Deshalb kann der DVBViewer alles ermitteln, wenn entweder alles außer der URL unbekannt (= 0) ist oder die Service ID oder die PMT PID (eins von beidem) stimmt. Dauert nur etwas... du kannst das bei Internet TV probieren, indem du einen Sender gezielt im Senderlisten-Editor sabotierst und falsche Werte einträgst. Trotzdem würde das in der Praxis im DVBViewer nicht funktionieren, weil bei einer serverseitigen Umschaltung auf eine Ersatz-Quelle sich i.a. sowohl Service ID als auch PMT PID ändern. Zurechtkommen würden damit nur Clients wie der VLC, die sich keine Senderdaten dauerhaft merken, deshalb immer bei 0 anfangen und damit länger bis zum Wiedergabestart brauchen.

 

Die serverseitige Umschaltung auf eine Ersatzquelle ist also ziemlich hoffnungslos.

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...