Formatbeschreibung: Enigma services

  • Ich suche eine Formatbeschreibung (Enigma services) in dieser Art.
    Das hier was ich gefunden habe ist etwas alt.
    Idee wo ich sowas finden kann?
    Danke an alle!


    Formatbeschreibung: Enigma services


    Dateien
    Datei Inhalt
    /var/tuxbox/config/enigma/services Transponderliste und Services mit Providern
    /var/tuxbox/config/enigma/bouquets Bouquets mit Serviceverknüpfungen
    /var/tuxbox/config/enigma/favourite.n.epl Favoriten für TV (n=0), Radio (n=1) und Dateien (n=2)


    Erklärung der Bezeichnungen
    Kürzel Beschreibung Anmerkungen
    TSID Transponder Stream ID 4-Stelliger HEX-Wert
    ONID Original Network Identifier 4-Stelliger HEX-Wert
    PType Provider Type s = Satellit, c = Kabelnetz
    Freq Frequency Dezimalwert in Hz
    SymRate Symbol Rate Dezimalwert
    Polar Polarisation 0 = horizontal ,1 = vertikal
    FEC Forward Error Correction 2=2/3, 3=3/4, 4=4/5, 5=5/6
    SatPos Orbitalposition des Satelliten Dezimalwert in Grad*10, z.B. bei Astra 19,2E: 192
    inv Inversion ???
    mod Modulation ??? nur bei Kabel-Providern
    SID Service ID 4-Stelliger HEX-Wert
    SType Service Type Dezimalwert: 1=TV, 2=Radio, 4=NVod, andere=Daten
    SNr Service Number Programmplatz in der Serviceliste (ab 200)
    Servicename Name des Services wird als UTF-8 String gespeichert
    Enthält einen Lang- und einen Kurznamen.
    Der Kurzname wird aus Teilen des Langnamens gebildet.
    Diese Teile sind durch 0xC2,0x86 und 0xC2,0x87 eingeklammert.
    Ich verwende zur einfacheren Beschreibung die Zeichen { und }.
    Beispiele:
    {P}remiere{ Serie} ergibt Premiere Serie und P Serie
    {STUDIO U}NIVERSAL ergibt Studio Universal und Studio U
    SFlags Flags (optional) Dezimalwert (Bitfeld, Werte können addiert werden)
    1 = NameFixed (Der Servicename wird nicht mehr dynamisch an den aktuellen DVB-Stream angepasst)
    2 = Hide (Versteckter Sender, sowas wie Löschen)
    3 = NoDVB (ServicePIDs werden aus dem Cache genommen anstatt aus aktuellem Stream)
    SPidCache PID Caches (optional) 2-Stellig Dezimal (CacheID) + 4-Stellig HEX (PID)
    Cache IDs können sein:
    00=Video, 01=Audio, 02=Teletext, 03=PCR, 04=AC3
    Beispiel für Audio-PID 0c3f: 020c3f
    Provider Anbietername des Services wird als UTF-8 String gespeichert



    die Datei 'services'
    enthält die Transponderliste und die Serviceliste
    Beschreibung Beispieldaten
    Dateikennung
    Beginn der Transponderliste
    TSID:ONID 2
    PType Freq:SymRate:Polar:FEC:SatPos:inv
    /
    TSID:ONID 2
    PType Freq:SymRate:Polar:FEC:SatPos:inv
    /
    TSID:ONID 2
    PType Freq:SymRate:inv:mod
    /
    Ende der Transponderliste
    Beginn der Serviceliste
    SID:TSID:ONID:SType:SNr
    Servicename
    [f:SFlags,][c:SPidCache,]p:Provider
    SID:TSID:ONID:SType:Nr
    Servicename
    [f:SFlags,][c:SPidCache,]p:Provider
    SID:TSID:ONID:SType:Nr
    Servicename
    [f:SFlags,][c:SPidCache,]p:Provider
    SID:TSID:ONID:SType:Nr
    Servicename
    [f:SFlags,][c:SPidCache,]p:Provider
    Ende der Serviceliste
    Ende der Datei eDVB services /1/
    transponders
    0001:0085 2
    s 12070500:27500000:0:3:192:0
    /
    0002:0085 2
    s 11797500:27500000:0:3:192:0
    /
    2713:F001 2
    c 442000:6900000:0:6
    /
    end
    services
    0024:0001:0085:1:444
    †STUDIO U‡NIVERSAL
    p:PREMIERE
    000d:0001:0085:1:790
    PLANET
    f:0,c:0006ff,c:010700,c:0306ff,p:PREMIERE
    0096:0002:0085:2:220
    HITLISTE
    p:PREMIERE
    6D67:0437:0001:1:212
    3sat
    f:4,c:0000D2,c:0100DC,c:0200E6,c:0300D2,p:ZDFvision
    end
    Have a lot of fun!


    die Datei 'bouquets'


    enthält die Bouquets mit Serviceverweisen
    Beschreibung Beispieldaten
    Dateikennung
    Beginn der Bouquetliste
    Bouquet-Nr
    Bouquet-Name
    SID:TSID:ONID:SType
    SID:TSID:ONID:SType
    /
    Bouquet-Nr
    Bouquet-Name
    SID:TSID:ONID:SType
    SID:TSID:ONID:SType
    /
    Ende der Bouquetliste
    Ende der Datei eDVB bouquets - do not modify...
    bouquets
    1
    BOUQUET1
    0024:0001:0085:1
    000d:0001:0085:1
    /
    2
    BOUQUET2
    0096:0002:0085:2
    6D67:0437:0001:1
    /
    end
    Have some fun!


    die Datei(en) 'favourite.n.epl'


    enthält die Favoritenlisten(0.epl=TV, 1.epl=Radio, 2.epl=Files)
    Beschreibung Beispieldaten
    Favoriten-Name
    Je Eintrag eine #SERVICE: Zeile
    FavoritenTyp: (1=DBV-Service, 2=File)
    Flags: (Erklärung siehe unten)
    SType:SID:TSID:ONID:



    als Besonderheit werden in diesen Dateien
    keine führenden Nullen den einzelnen
    Werten vorangestellt! #NAME Favourites (TV)
    #SERVICE: 1:0:1:24:1:85:
    #SERVICE: 1:0:1:d:1:85:
    #SERVICE: 1:0:1:6D67:437:1:
    #NAME Favourites (Radio)
    #SERVICE: 1:0:2:96:2:85:




    Erläuterungen zu den Flags
    Das Feld 'Flags' ist ein Integer-Wert, der aus einzelnen Bits besteht.
    1.Bit(01): Es handelt sich um ein Verzeichnis
    2.Bit(02): In das Verzeichnis muss man reinwechseln
    3.Bit(04): Man kann in das Verzeichnis reinwechseln
    (die Bits 1-3 machen eigentlich nur zusammen Sinn)
    4.Bit(08): der Inhalt des Verzeichnisses soll automatisch sortiert werden
    5.Bit(16): der Service hat (enigma-intern) einen sortier-Schlüssel.
    wenn nicht gesetzt, wird alphabetisch sortiert.





    here's a good link:
    http://home.t-online.de/home/a…igma-services_format.html
    please note the additional changes:
    right now as a quick info:


    what changed on 2003/02/10:


    - each transponder field in "services" has an additional field
    example:
    old:
    03f0:0001 2
    new:
    00c00000:03f0:0001


    the '2' (the "state") was removed.


    - each service has an additional field:
    old:
    07df:0449:0035:1:1511
    new:
    07df:00c00000:0449:0035:1:1511


    - favorite-entries now have 8 fields instead of 4. fyi, the 5th in dvb-services are the new "namespace"-field.
    the new field specifies the "namespace" of the service. Look into BuggyDVB for further explaination (in german, sorry.) if you don't want to do something special with it, just leave it "as it". it forms together with onid+tsid an REALLY unique id of the transponder.
    version ist now /2/.
    bouquets changed, too.


    OK, auf deutsch: (sorry)
    ZUM MITDISKUTIEREN. edit button ist unten. einfach gedanken dazuschreiben oder fehler fixen. danke.
    leider ist die ONID nicht so eindeutig, wie man sich das wünscht.
    kurz:
    es kann mehrere transponder mit der gleichen ONID/TSID und SIDs geben. beispiel: ex-kopernikus. dort sind pw transponder zu finden. sinnvollerweise gibts dort die gleichen IDs. der inhalt ist ja auch "derselbe". und die ORIGINATING network id (also die ONID) gibt ja an aus welchem NETZWERK der service kommt. und das ist nunmal 0085. onid+sid spezifiziert auch hier eindeutig einen service. nur onid+tsid halt nicht eindeutig einen transponder. das interessiert den benutzer allerdings nicht.
    nun könnte man zu die transponder unique machen, in dem man "spezielle" TSIDs einführt. dann allerdings hat man probleme, wenn man mal eine onid+tsid+sid (wobei die tsid hier rein informativ ist. ONID+SID ist weiterhin unique, die TSID spielt da keine rolle. allerdings will man nicht alle SDTs durchsuchen müssen um zu ermitteln auf welchen transponder man muss.) kombination bekommt (sei es durch NVOD oder Linkage oder MHP). dann muss man die eigene tsid ermitteln, ohne hinweise WELCHE man meint. hier müsste dann die "heuristik" kommen (die zwar unvermeidbar ist, aber möglichst reduziert werden sollte).
    heuristik: hiermit meine ich eine logik die ermittelt, was alles nun WIRKLICH ein unique-netzwerk ist.
    anders betrachtet: man geht davon aus, dass netzwerke in sich(!, und damit meine ich die NIDs, nicht die ONIDs - anders: 0085 auf astra für sich allein betrachtet, 0085 auf ex-kopernikus für sich alleine, ...) erstmal funktionieren. NVOD, Linkage etc. führt nie dazu, dass ein gewisser "Bereich" verlassen wird.
    --> man führt "Namespaces" ein, in denen alles "funktioniert". Astra 19.2 wäre komplett ein namespace. Hierdrin geht alles gut. auf der anderen seite ist ex-kopernikus ein eigener namespace. ein 0085er hierdrin ist für sich alleine und stört das astra-0085 nicht.
    erstmaleinmal ist also jedes satellitensystem ein "namespace". der namespace+onid+sid bzw. namespace+onid+tsid ist dann WIRKLICH unique. Ein Linkage/NVOD/... in einem namespace kann NICHT auf einen anderen referenzieren. Also sollten die namespaces so groß wie möglich gehalten werden. Im Idealfall die ganze Welt, da dies alleine schon bei 0085 nicht klappt sollte man es auf einen satellitensystem eingrenzen.
    nun: auf hotbird gibts einige, auf anderen satelliten viele problemzonen. Beispiel wären zich netzwerke die aller der überzeugung sind, sie hätten services aus der ONID 0001. das ist natürlich klar gelogen, denn 0001:0001 gibt es nicht. 0001 ist astra, und dort gibts keinen service 0001. also verfrachtet man diese netzwerke in namespaces. hier greift die heuristik:
    heuristik (verfeinert): alles mit onid != 0000, 0001, ffff (etc., also alles was valid klingt..) kriegt pro orbital_position einen namespace. damit ist mosaik (wenns das denn mal nach dvb norm gibt) möglich (NVOD und Linkage gibts momentan ja eh nur in einem netzwerk), und alle andere kriegt pro transponder einen namespace.
    die namespace-id ist im grund egal, muss nur unique sein. dem channeleditor ist es überlassen, diese festzulegen, ebenso die einteilung in namespaces allgemein. bei nvod etc. wird halt die namespace id vom ursprungsservice übernommen.
    enigma machts folgendermaßen:
    namespace_id=orbital_position<<16;
    if (!onid_is_valid)
    namespace_id|=hash(frequenz);
    damit man einfach nach allen services auf einer orbital_position suchen kann sollte das mit der orbital_position<<16 beibehalten werden.
    das SettingsFormat ändert sich entsprechend dass es vor der tsid noch die namespace id gibt. im normalfall muss man die einfach mitführen. in Servicereferenzen gibts nun 8 felder. why not.