• Banner

  • Λήψη DAB+ μέσω δορυφόρου σε Enigma2 δέκτες με SatDreamGr

    1. Εισαγωγή
    Η ομάδα του SatDreamGr, πάντα πρωτοπορώντας, φέρνει ακόμα μία καινοτομία, εισάγοντας για πρώτη φορά στους δέκτες με Enigma2 τη λήψη των δορυφορικών εκπομπών που τροφοδοτούν τις επίγειες εκπομπές DAB/DAB+.
    Ο παρόν οδηγός δείχνει τον τρόπο με τον οποίο γίνεται η λήψη και η από-ενσωμάτωση (decapsulation) αυτών των ραδιοφωνικών υπηρεσιών, έτσι ώστε να οδηγηθούν στον enigma2 δέκτη σας που φοράει το image του SatDreamGr ως ραδιοφωνικό μπουκέτο ροής αγαπημένων.

    2. Τι είναι η ενσωμάτωση DAB+ (DAB+ encapsulation)
    Σε παρελθόντες οδηγούς είχαμε αναφερθεί στη δορυφορική ενσωμάτωση των μη τυπικών δορυφορικών εκπομπών όπως τα Τ2-ΜΙ. Η ιδέα είναι κοινή και σε αυτή την περίπτωση. Το ραδιοφωνικό ψηφιακό μπουκέτο πακετάρεται αυτούσιο και «κρύβεται» σε μία δορυφορική εκπομπή. Αυτή μπορεί να είναι διαφόρων μορφών, κυρίως με τη μορφή ενός PID, όπου ένα ολόκληρο PID περιέχει ενσωματωμένο το μπουκέτο. Το PID μπορεί να είναι ορατό στο PAT δηλαδή τον πίνακα πληροφοριών ενός αναμεταδότη ή κρυφό μόνο του ή εντός μίας υπάρχουσας υπηρεσίας ή πολύ πιο σπάνια σε ολόκληρη συχνότητα. Σε κάθε περίπτωση μία τυπική σάρωση της συχνότητας που περιέχει τα PIDs αυτά ή δεν θα βρει τίποτα ή θα βρει κάποια μορφή data, δηλαδή δεν μπορεί να αναγνωριστεί και διαβαστεί απευθείας από το enigma2 και γενικώς τους δορυφορικούς δέκτες. Σε κάθε περίπτωση την αποκωδικοποίηση αναλαμβάνουν ειδικοί δέκτες που τροφοδοτούν τους επίγειους ραδιοφωνικούς ψηφιακούς αναμεταδότες DAB+. Φυσικά οι δέκτες αυτοί δεν αφορούν την DTH λήψη.

    Τις εκπομπές αυτές μπορούμε να τις ανακαλύψουμε μέσω ειδικών καρτών στο PC (όπως της TBS).

    Στη σελίδα https://github.com/piratfm/eti-tools...ster/README.md
    υπάρχει ένας επικαιροποιημένος πίνακας αυτών των εκπομπών στην Ευρώπη.

    Stream Name Sat Freq SR/FEC Modulation PID SID Offset Check
    DR 5C 23.5ºE 12641V 1342 5/6 QPSK/DVB-S -- -- -3 OK
    WDR 11D 23.5ºE 12645V 1489 3/4 QPSK/DVB-S -- -- -3 OK
    BR 11D 7.0ºE 12537V 996 2/3 QPSK/DVB-S 1025 ?? ?? Pending
    BBC DAB 4.5ºE 12303H 25546 7/8 QPSK/DVB-S 1061 70 12 OK
    D1 DAB 4.5ºE 12303H 25546 7/8 QPSK/DVB-S 1062 60 12 OK
    SDL NATL 4.5ºE 12303H 25546 7/8 QPSK/DVB-S 1063 80 12 OK
    ERT 3.1ºE 12734V 16751 3/5 QPSK/DVB-S2 1010 ?? n/a OK (NIv2)
    NRK 1.0ºW 10704V 4200 3/4 DVB-S2/MIS=171 DVB-GSE ?? n/a Pending (EDI?)
    NRK 1.0ºW 10719V 4800 3/4 DVB-S2/MIS=171 DVB-GSE ?? n/a Pending (EDI?)
    DAB Italia 12.5ºW 12518H 2154 3/5 QPSK/DVB-S2 777 ?? n/a OK (NIv2)
    EuroDAB 12.5ºW 12518H 2154 3/5 QPSK/DVB-S2 1025 ?? n/a OK (NIv2)

    Στην πολύ καλή δουλειά του piratfm εξάλλου βασίζεται και η συγκεκριμένη υλοποίηση όπως θα εξηγήσουμε παρακάτω.


    3. Η αποενσωμάτωση του DAB+ (DAB+ decapsulation)
    Η ιδέα που ακολουθείται κινείται στην ίδια γνωστή λογική παλιότερων υλοποιήσεων. Το PID που φέρει το ραδιοφωνικό μπουκέτο μπορεί να ενσωματωθεί σε μία υπηρεσία της ίδιας συχνότητας ή να δημιουργηθεί μία fake υπηρεσία που θα λειτουργήσει ως πηγή. Τη δουλειά αυτή αναλαμβάνει ένας editor όπως το dreamboxedit.
    Στη συνέχεια η υπηρεσία αυτή, ανάλογα με τον τύπο της, θα περάσει μέσα από δύο διαφορετικά tools, το ETI ts2na ή το ETI tsniv2ni. Στον παραπάνω πίνακα φαίνεται σε ποιον τύπο ανήκει το κάθε μπουκέτο, και στην ίδια σελίδα περιγράφεται τι κάνει το κάθε tool. Χονδρικά τα δύο tools είναι converters που αναγνωρίζουν τα δεδομένα, τα αποκωδικοποιούν και στη συνέχεια τα περνάνε σε έναν τρίτο converter το ETI ni2http που πλέον μετατρέπει τα data σε ροή ήχου που μπορεί να μετατραπεί σε μπουκέτο ροής αγαπημένων στους enigma2 δέκτες.


    4. Η δημιουργία των υπηρεσιών τροφοδοσίας
    Με το dreamboxedit βρίσκουμε την υπηρεσία που φέρει το κρυφό pid σύμφωνα με τον παραπάνω πίνακα. Αν αυτό το pid ανήκει ήδη σε κάποιο μπουκέτο καναλιών, τότε πολύ απλά κάνουμε edit ένα από τα κανάλια της υπηρεσίας και προσθέτουμε το κρυφό pid.

    Στην περίπτωση της ΕΡΤ, επιλέξαμε το κανάλι της ΕΡΤ1 και προσθέσαμε το pid 1010.
    Στη lamedb πλέον έχουμε για την ΕΡΤ1:

    Code:
    000a:eeee0000:0002:212c:1:0:0
    ERT1
    p:ERT,c:00008a,c:01028a,c:020240,c:03008a,c:050001,c:092ee0202,c:1503f2
    όπου το c:1503f2 είναι το pid 1010 σε hex μορφή.

    Αυτό σημαίνει ότι το pid 1010 θα μπορεί να στριμαριστεί μέσω της ΕΡΤ1. Με την ίδια λογική μπορούμε να προσθέσουμε τα αντίστοιχα pids σε άλλες υπηρεσίες ή να δημιουργήσουμε καινούριες. Στο τέλος του οδηγού θα παρατεθούν όλες οι εγγραφές που πρέπει να γίνουν στη lamedb στα πακέτα που κατορθώσαμε έως τώρα να ανοίξουμε.
    Να σημειωθεί εδώ ότι για τα πακέτα στις 23.5Ε που βλέπετε στον παρακάτω πίνακα δεν κατέστη δυνατό το στριμάρισμά τους καθώς χρησιμοποιείται όλος ο αναμεταδότης που δεν γίνεται να στριμαριστεί αυτούσιος από τα tuners των δεκτών.

    5. Η ανάλυση των περιεχομένων
    Όπως αναφέρεται παραπάνω, για να γίνει η ανάλυση είναι απαραίτητη η παρουσία των eti tools στο δέκτη μας. Η ομάδα του satdreamgr έχει απλοποιήσει τη διαδικασία αυτή βάζοντας ένα έτοιμο αρχείο εγκατάστασης στα feeds της (σε επόμενα images μπορεί να είναι ήδη προεγκατεστημένα τα πάντα).

    Δίνουμε μέσω telnet λοιπόν τις εξής εντολές:
    Code:
    opkg update
    opkg install dabstreamer
    Με αυτές τις εντολές θα γίνει η εγκατάσταση των converters καθώς και του script εκκίνησης ώστε να στριμάρονται τα ραδιόφωνα αυτόματα όταν καλούνται στο μπουκέτο χρήστη.

    Είμαστε πλέον έτοιμοι να δούμε τι περιέχεται στα pids.
    Για την ΕΡΤ βλέπουμε ότι απαιτείται το tsniv2ni. Έτσι για να δούμε τι υπάρχει στο pid δίνουμε την εξής εντολή:
    Code:
    wget http://127.0.0.1:8001/1:0:1:A:2:212C:EEEE0000:0:0:0: -q -O- | tsniv2ni 1010 | ni2out --list
    Το 1:0:1:A:2:212C:EEEE0000:0:0:0: είναι η αναφορά υπηρεσίας της ΕΡΤ1 και μάλιστα από το επίγειο μπουκέτο της ΕΡΤ, το 1010 το απαιτούμενο pid το οποίο ενσωματώσαμε στην ΕΡΤ1 με το dreamboxedit νωρίτερα.
    Το αποτέλεσμα είναι το εξής:
    Code:
    wget http://127.0.0.1:8001/1:0:1:A:2:212C:EEEE0000:0:0:0: -q -O- | tsniv2ni 1010 | ni2out --list
    ERT DAB          (0xe000) 
    0 : Proto            (0xc041) Pri subch= 0 start=  0 CUs=136 PL=eep-2a bitrate=136 DAB+ 
    1 : Deytero          (0xc042) Pri subch= 1 start=136 CUs=136 PL=eep-2a bitrate=136 DAB+ 
    2 : Trito            (0xc043) Pri subch= 2 start=272 CUs=136 PL=eep-2a bitrate=136 DAB+ 
    3 : Era Sport        (0xc044) Pri subch= 3 start=408 CUs=128 PL=eep-2a bitrate=128 DAB+ 
    4 : Kosmos           (0xc045) Pri subch= 4 start=536 CUs=136 PL=eep-2a bitrate=136 DAB+ 
    5 : Voice Of Greece  (0xc046) Pri subch= 5 start=672 CUs= 96 PL=eep-2a bitrate=96 DAB+ 
    6 : Era 7            (0xc047) Pri subch= 6 start=768 CUs= 64 PL=eep-2a bitrate=64 DAB+
    Προσέξτε στις παραπάνω στις παρανθέσεις βλέπετε τα αναγνωριστικά ids των ραδιοφωνικών σταθμών. Σημειώνουμε αυτά τα ids καθώς θα μας χρειαστούν μετά για τα ραδιοφωνικά μας μπουκέτα.

    Ας δούμε ένα ακόμα παράδειγμα, τα ραδιόφωνα του BBC στις 4.8Ε. Για αυτά χρειαζόμαστε το ts2na και διαφοροποιημένη εντολή.

    Μέσω telnet:
    Code:
    root@vuzero4k:~# wget http://127.0.0.1:8001/1:0:1:46:0:1:30300F:0:0:0: -q -O- | ts2na -p 1061 -s 12 | na2ni  | ni2out --list
    WARN:  Forward error correction (FEC) disabled (NOT COMPILED)
    INFO:  Using pid: 0x0425 (1061)
    INFO:  E1 Sync found at bit: 332, inverted: yes
    DEBUG: seek: B:41, b:4
    DEBUG: pre-readed output 14 frames (22 bytes left):
    DEBUG: MULTIFRAME FILLING: 206
    INFO:  ETI Sync found at pos: 3
    INFO:  ETI Multiframe sync found at blockId: 2
    .BBC National DAB (0xce15)
     0 : BBC Radio 1      (0xc221) Pri subch= 1 start=  0 CUs= 96 PL=uep 3 bitrate=128
     1 : BBC Radio 2      (0xc222) Pri subch= 2 start= 96 CUs= 96 PL=uep 3 bitrate=128
     2 : BBC Radio 3      (0xc223) Pri subch= 3 start=192 CUs=116 PL=uep 3 bitrate=160
     3 : BBC Radio 4      (0xc224) Pri subch= 4 start=308 CUs= 96 PL=uep 3 bitrate=128
     4 : BBC Radio 6Music (0xc22b) Pri subch=11 start=692 CUs= 96 PL=uep 3 bitrate=128
     5 : BBC Radio 4Extra (0xc22c) Pri subch=12 start=788 CUs= 58 PL=uep 3 bitrate=80
     6 : BBC Radio 1Xtra  (0xc22a) Pri subch=10 start=596 CUs= 96 PL=uep 3 bitrate=128
     7 : BBC AsianNetwork (0xc236) Pri subch= 7 start=452 CUs= 48 PL=uep 3 bitrate=64
     8 : BBC Radio 5 Live (0xc225) Pri subch= 5 start=404 CUs= 48 PL=uep 3 bitrate=64
     9 :                           Sec subch= 8 start=500 CUs= 48 PL=uep 3 bitrate=64
    10 : BBC WorldService (0xc238) Pri subch= 9 start=548 CUs= 48 PL=uep 3 bitrate=64
    11 : BBC R5LiveSportX (0xc228) Pri subch= 8 start=500 CUs= 48 PL=uep 3 bitrate=64
    6. Η δημιουργία του ραδιοφωνικού μπουκέτου

    Μέσω του dreamboxedit εισάγουμε ένα νέο μπουκέτο αγαπημένων.


    Στην παραπάνω εικόνα εισάγουμε ως εξής:

    - Στο όνομα το όνομα του σταθμού

    - Για το url ακολουθούμε τον εξής οδηγό:
    H σύνταξη για το tsniv2ni είναι /tsniv2ni/SREF/PID/SID
    Η σύνταξη για το ts2na είναι /ts2na/SREF/PID/OFFSET/SID

    Έτσι για το BBC Radio 1 έχουμε
    SREF 1:0:1:46:0:1:30300F:0:0:0: αυτή είναι η αναφορά που φτιάχνουμε στο dreamboxedit. Σε αυτήν προσθέτουμε το pid 1061.
    PID το 1061
    OFFSET το 12 σύμφωνα με το συγκεντρωτικό πίνακα
    και SID το PI του κάθε ραδιοφώνου.
    Συνεπώς η url για το BBC Radio 1 είναι:

    http://localhost:5237/ts2na/1:0:1:46...1061/12/0xc221

    Συνεχίζουμε αντίστοιχα για κάθε ραδιόφωνο του μπουκέτου.

    Για την ΕΡΤ και το Πρώτο η url είναι αντίστοιχα.

    http://localhost:5237/tsniv2ni/1:0:1...0:/1010/0xc041

    Στο τέλος της παρουσίασης επισυνάπτονται συγκεντρωμένες όλες οι lamedb αναφορές καθώς και έτοιμα τα στοιχεία για τα ραδιοφωνικά μπουκέτα, σε όσες εκπομπές κατορθώσαμε να ανοίξουμε.
    Αφού κάνουμε τις απαραίτητες προσθήκες είμαστε έτοιμοι για ακρόαση.



    ΔΙΕΥΚΡΙΝΗΣΗ:
    Αν γίνουν όλα σωστά, το στριμάρισμα στο δέκτη μας γίνεται ΑΥΤΟΜΑΤΑ με απλή επιλογή του καναλιού. Να σημειώσουμε ότι οι κάτοικοι εντός Ελλάδας μπορούν να ακούν τα DAB+ μέσω της επίγειας ΕΡΤ χωρίς την ανάγκη λήψης από τις 3.1Ε!

    ΠΑΡΑΡΤΗΜΑ Α:
    Καταχωρήσεις για τη lamedb


    ERT1 επίγεια και δορυφορική (3.1Ε)
    Code:
    000a:001e0000:0002:212c:1:0:0
    ERT1
    p:ERT,c:00008a,c:01028a,c:020240,c:03008a,c:050001,c:092ee0202,c:1503f2,f:1
    000a:eeee0000:0002:212c:1:0:0
    ERT1
    p:ERT,c:00008a,c:01028a,c:020240,c:03008a,c:050001,c:092ee0202,c:1503f2,f:5
    Για τα DAB Italia & EuroDAB στις 12.5W
    Code:
    0309:0d9330e6:0001:0000:1:0:0
    DAB Italia
    p:DAB Italia,c:150309,f:5
    0401:0d9330e6:0001:0000:1:0:0
    EuroDAB
    p:EuroDAB,c:150401,f:5
    και στο transponders
    Code:
    /
    0d9330e6:0001:0000
        s 12518000:2154000:0:7:-125:2:0:1:1:0:2

    Για τα ραδιόφωνα του BBC στις 4.8Ε δεν απαιτείται pid caching καθώς αυτά είναι ορατά στο PAT

    ΠΑΡΑΡΤΗΜΑ Β:

    Επισυνάπτονται έτοιμα στο zip τα μπουκέτα που έχω φτιάξει, είναι ραδιοφωνικά μπουκέτα.
    dab+enigma2.zip

    Αυτά θα τα ανεβάσετε στο φάκελο /etc/enigma2 και θα τροποποιήσετε το αρχείο bouquets.radio ως εξής:
    Code:
    #NAME User - bouquets (Radio)
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.radio" ORDER BY bouquet
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ertdab+terrestrial.radio" ORDER BY bouquet
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ertdab+.radio" ORDER BY bouquet
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ukbbcdab.radio" ORDER BY bouquet
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ukdabd1.radio" ORDER BY bouquet
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.ukdabsdl.radio" ORDER BY bouquet
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.dabitalia.radio" ORDER BY bouquet
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.eurodab.radio" ORDER BY bouquet
    #SERVICE 1:7:2:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.abm.sat_420_turksat.main.radio" ORDER BY bouquet
    Και κατόπιν επανεκκίνηση του enigma2.

    Θα ήθελα τέλος προσωπικά να ευχαριστήσω την ομάδα του SatDreamGr και ειδικά τον Athoik (for his everlasting genius). :)
    This article was originally published in forum thread: Λήψη DAB+ μέσω δορυφόρου σε Enigma2 δέκτες με SatDreamGr started by mcelliot_g View original post