IPTV (Radio) Parameter?

  • Hallo,


    ich will mich dem Thema Streaming - erstmal Webradio widmen - man kann ja z.B mit Dreamboxedit auch nonTS Streams in die Senderliste einfügen - soweit so gut - bei Radiosendern gibts ja wirklich eine Menge an verfügbaren Streams.


    Gibt es eigentlich einen Standard was man bei
    ServiceID
    TrnasponerID
    NetworkID
    Namspace


    eintragen muss oder sollte? Diese Felder sind bei Dreamboxedit immer mit 0 vorbelegt, bei Kanaltyp muss man für TV eine 1 und für Radio eine 2 eintragen - natürlich noch einen Kanalnamen vergeben und die URL.


    Kommen wir mal zu den oben genannte IDs die immer mit 0 vorbelegt sind - grundsätzlich funktionieren die Streams, nur kommt man beim nächsten Schritt wenn man PICONs vergeben will so nicht weiter weil die picon Dateinamen diese Parameter beinhalten - so das man die einzelnen Streams nicht voneinander unterscheiden kann um ein bestimmtes picon zuzuweisen - lässt man also diese Parameter alle auf 0 dann wird ein picon ALLEN Kanälen/Streams zugewiesen - was ja so nicht gewollt ist. Nun haben wir ja im IPTV Bereich keine ServiceID, oder TransponderID e.t.c.


    Wie könnte man diese Parameter sinnvoll belegen um eine eindeutige Streamzuweisung und so auch eine eindeutige Zuordnung eines picons zu gewährleisten?


    Ich hätte da einen Vorschlag:
    - bei ServiceID wird eine Quersumme der ASCII Zeichen des Sendernamens verwendet
    - bei TransponderID die Ländervorwahl wo der Sender seinen Sitz hat (also z.B für Deutschland 49)
    - bei NetworkID die Postleitzahl oder bei Postleitzahlen mit Buchstaben deren ASCII Quersumme
    - bei Namespace die Anzahl der Buchstaben des Sendernamens


    Auch wenn die Quersumme allein nicht eindeutig ist, ist aber mit den anderen Parametern die Eindeutigkeit mit größter Wahrscheinlichkeit gegeben. Die Frage ist noch ob diese Parameter von der Wertigkeit/Länge irgendwie begrenzt sind z.B. auf 32bit Länge


    Hier mal ein Beispiel:
    Der Radiosender namens 'OLDOLDIES' würde dann folgende Parameter (dezimal) bekommen:
    Name: OLDOLDIES
    URL: http://stream.laut.fm/oldoldies
    Kanaltyp: 2 (=Radiosender)
    ServiceID: 611 (=Quersumme der ASCII Werte des Sendernamens)
    TransponderID: 49 (= Ländervorwahl: Sender ist aus Deutschland)
    NetworkID: 78467 (=Postleitzahl des Sitzes des Senders)
    Namespace: 9 (=Anzahl der Zeichen des Sendernamens)


    das dazugehörige Picon hätte dann folgenden Namen (die Werte werden von Dreamboxedit in hex umgewandelt):
    1_0_2_263_31_13283_9_0_0_0.png


    Ich hab das mal ausprobiert, die Senderliste und das Picon so auf ne E2 Box hochgeladen: klappt alles - dem IPTV Radio Sender wird das richtige Picon zugewiesen.


    Gibt es für die Zuweisung der Parameter andere bessere Vorschläge oder gar bereits einen Standard?


    Hab noch ne nachträgliche Überlegung während ich dieses Posting verfasst habe: da man ja nur den Sendernamen und die URL hat, sollte man aus diesen beiden Daten die Parameter berechnen, die eine Eindeutigkeit des Senders kennzeichnet - so könnte man statt der Ländervorwahl und der Postleitzahl auch folgende Zuordnung machen:


    - bei ServiceID wird eine Quersumme der ASCII Zeichen des Sendernamens verwendet
    - bei TransponderID die Anzahl der Zeichen des Sendernamens
    - bei NetworkID die Quersumme der ASCII Zeichenwerte der streamURL
    - bei Namespace die Anzahl der Zeichen der streamURL


    Damit könnte man auch nachträglich aus vorhandenen Senderlisten eindeutige Parameterzahlen generieren - es wäre natürlich schön wenn sowas direkt Einzug in das Programm Dreamboxedit findet: der User gibt nur den Sendernamen und die URL des Streams an, und wählt ob es sich um TV oder Radioprogramm handelt -> Dreamboxedit könnte dann automatisch den Kanaltyp setzten und die 4 ID Felder berechnen (das alles natürlich nur beim non-TS Streamtyp) - dem Benutzer sollte aber die Möglichkeit gelassen werden diese Werte selber anzupassen.




    Danke
    Zweistein

  • Das ist mir viel zu umständlich...
    Ich hab das intern für mich in dreamboxEDIT auch schon anders festgelegt, daher werde ich das sicherlich so nicht umsetzen. Es wird ein Dummynamespace (einen der in der Realität nicht auftritt, die PLZ ist dafür nicht geeignet :P ) verwendet und dann einfach die ServiceID durchnummeriert (1_0_19_1_0_0_DBEDBE_0_0_0) , alles andere ist unnötig und verkompliziert nur alles. Ich seh da keinen Vorteil wenn ich irgendwelche Fantasiewerte generiere. Und das Ganze ist natürlich sowohl für non-TS (4097:...) als auch für DVB-Streams (1:...) zulässig.

    Edited 3 times, last by dhwz ().

  • OK vergessen wir mal die Postleitzahl und Ländervorwahl - mein zweiter Vorschlag die Werte aus dem Sendernamen und streamURL zu generieren hat durchaus Vorteile gegenüber einer einfachen Durchnummerierung:
    - bei einer Nummerierung muss man die über die vergebenen Nummern Buch führen - was ist wenn man einen Sender löscht? Dann wird eine Nummer frei - verwendest Du die dann wieder?
    - der Benuter muss keine Nummern festlegen - das könnte automatisiert gemacht werden nach einem festgelegten Algorythmus
    - eine Generierung der 4 Werte ist immer identisch wenn Sendername und die streamURL sich nicht ändert
    - der Benutzer muss sich keine Sorgen über gleich vergebene Parameter machen so kann sichergestellt werden dass jeder Sender unverwechselbare Parameter und somit eindeutige Zuweisung von Picons bekommt (zumindest mit sehr hoher Wahrscheinlichkeit)
    - man kann eine Picon Sammlung auch weitergeben ohne zwingend auch seine Senderliste weitergeben zu müssen - andere Benutzer geben Sendername und streamURL ein und haben sofort die richtige Picon Zuweisung
    - werden Sender mehrfach in die Senderliste eingefügt z.B bei Sortierungen nach Region oder dann nach Musikgenre ist nur ein Picon erforderlich und nicht mehrere - auch dann wenn man den Sender händisch wieder eingibt und nicht kopiert, da die generierten Parameter identisch sind
    - man könnte ein kleines Toll schreiben dass die Senderlisten nach IPTV Einträgen durchsucht und aus Sendernamen und streamURL automatisch die Parameter berechnet und neue Bouquet Dateien schreibt - so kann man Einträge aus alten IPTV Listen die 0-0-0-0 enthalten unverwechselbar machen (das Tool kann ich als VBASkript schreiben) indem die 4 Werte berechnet werden


    Was mich nur interessieren würde: Sind diese Parameter in ihrer Wertigkeit begrenzt? Wenn ja in wieweit?


    Gruß
    Zweistein

  • - der Benutzer muss sich keine Sorgen über gleich vergebene Parameter machen so kann sichergestellt werden dass jeder Sender unverwechselbare Parameter und somit eindeutige Zuweisung von Picons bekommt (zumindest mit sehr hoher Wahrscheinlichkeit)
    - man kann eine Picon Sammlung auch weitergeben ohne zwingend auch seine Senderliste weitergeben zu müssen - andere Benutzer geben Sendername und streamURL ein und haben sofort die richtige Picon Zuweisung


    Die Halbwertzeit von URLs ist so kurz, das macht eigentlich keinen Sinn die URL in die Referenz zu integrieren, du willst Picons weitergeben aber die Person kennt weder die korrekt URL Schreibweise zu deinem Picon noch die exakte Benennung? ?(
    Dann kannst du auch gleich die URL in den Piconnamen mit aufnehmen (was jetzt schon funktioniert) das ist genauso eindeutig ohne das ganze Dings drumrum :)


    Man braucht keine 4 Parameter wenn ein sich zu unterscheidender Wert völlig ausreicht, deine URL könnte man auch in die ServiceID machen mit einem Hash (ob das jetzt ein Hash oder nur durchnummeriert ist ist ja erstmal egal es muss nur eindeutig sein), mehr braucht es da überhaupt nicht und wie gesagt einen eindeutigen unverwechselbaren Namespace.
    Und mit der ServiceID wäre das Picon trotzdem immer eindeutig zuordenbar.

  • hmm - Deine Letzte Antwort bringt mich nun nicht wirklich weiter - ich hab da ne Radioliste mit ALLEN Sender naus Nordbayern selber zusammengestellt (allein die umfasst ca 150 Sender) - und dazu auch alle Picons erstellt aus den Senderlogos der Radiosender - mein Ziel ist es eigentlich ja nur das so auf ne E2 Box zu bekommen dass die Picons den passenden Sendern zugewiesen sind. Die Anzahl der Sender könnte noch erheblich größer werden. Was definitiv nicht geht, ist wenn man die Referenzwerte alle bei 0 belässt - das ist logisch


    Welche Vorgehensweise würdest Du also empfehlen?


    Gruß
    Werner

  • Wie ich schon gesagt hab das Format schon in dreamboxEDIT 1_0_19_1_0_0_DBEDBE_0_0_0 intern verbaut.


    Und die 1 einfach durchzählen oder einen Hash aus der URL generieren (ich würde jetzt MD5 vorschlagen weil der mit seinen 32bit genau da rein passt) das ist zwar nicht 100% eindeutig aber es ist eher unwahrscheinlich dass du einen zweiten Sender mit exakt dem selben Hash bekommst. :)
    Den Servicetype kann man natürlich je nach Bedarf eintragen ist aber nicht wirklich erforderlich, dient dann mehr der Unterscheidung der Picons vom Namen her. Ebenso kann es non-TS oder DVB-TS sein, funzt wie gesagt beides im Unstable von DreamOS.

  • Quote

    (ich würde jetzt MD5 vorschlagen weil der mit seinen 32bit genau da rein passt)

    MD5 ist aber 128bit lang - darf die Service ID also 32bit lang oder 128 bit lang sein - was ist mit den anderen Parametern - wie groß dürfen die sein?


    Zudem wäre die Berechnung eines Hash Wertes wie mit Kanonen auf Spatzen schießen - eine simple Quersumme oder ein anderer simpler Alorythmus sollte hier schon völlig ausreichen


    Gruß
    Zweistein

  • Sorry ich war gerade bissl verwirrt ich meinte CRC32 (MD5 ist natürlich zu lang) und nein eine simple Quersumme ist hier nicht ausreichend das würde viel zu viele Überschneidungen geben.