Úprava services pre Oscam

Hneď v úvode napíšem čo je to oscam a na čo sa používa. Oscam je open source software napísaný v jazyku C a používa sa ako SW emulácia, ktorá nahrádza HW CAM (Conditional-access module). Viac o tomto skvelom projekte je možné nájsť na Oscam wiki

V DVB terminológii má každý kanál tzv. identifikátor, čo je 4 znakové hexadecimálne číslo a označujeme ho SID (Service ID). Takéto SIDs je možné stiahnuť z internetu, napr. z tohto webu, ale SIDs nám generuje aj samotný oscam ak máme správne nastavené dvbapi

read_sdt                      = 1
write_sdt_prov                = 1

Vygenerované SID (resp. srvid) z oscamu vyzerá následovne

1329:0668,069A,0624,0D96,0500@051910|Jednotka|TV||Towercom
132A:0668,069A,0624,0D96,0500@051910|Dvojka|TV||Towercom
132F:0668,069A,0624,0500@051910|Trojka|TV||Towercom
3731:0624,0D96,0500@051910|Markiza HD|TV||M7 Group
372D:0D96,0624,0500@051910|Markiza +1 HD|TV||M7 Group
3398:0D96,0624,0500@051910|TV JOJ HD|TV||M7 Group
3358:0D96,0624,0500@051910|TV JOJ +1 HD|TV||M7 Group
3399:0D96,0624,0500@051910|JOJ PLUS HD|TV||M7 Group
3397:0624,0D96,0500@051910|DAJTO HD|TV||M7 Group
3732:0D96,0624,0500@051910|DOMA HD|TV||M7 Group
1328:0668,0624,0500@051910|TA3 HD|TV||Towercom

Kde prvé 4 znaky sú SID (resp. srvid), ktoré potrebujeme. Za dvojbodkou oddelené čiarkami sú CAID jednotlivých kódovacích systémov. Ďalej nasleduje názov služby, typ služby a poskytovateľ služby. Ak si srvid stiahneme, tak štruktúra je veľmi podobná

0D03,0D70,0D96,0624:1794|SkyLink|Boomerang CZ
0D03,0D70,0D96,0624:17ae|SkyLink|TravelXP HD
0D03,0D70,0D96,0624:17b0|SkyLink|Film Europe+ HD
0D03,0D70,0D96,0624:17ea|SkyLink|Fightbox
0D03,0D70,0D96,0624:17eb|SkyLink|Hobby TV Czech
0D03,0D70,0D96,0624:17ed|SkyLink|Retro Music Television
0D03,0D70,0D96,0624:1810|SkyLink|Adventure TV Czech

Tu vidíme, že srvid je až v piatom stĺpci. Teraz už prejdeme k veci a ideme si upraviť náš súbor do takej podoby ako ho potrebujeme. Vzhľadom k tomu, že niektorí poskytovatelia majú vytvorené rôzne balíčky z rôznymi TV kanálmi, tak tie riadky, ktoré sa nám nehodia musíme jednoducho ručne odstrániť. Pre services teraz potrebujeme spraviť takú štruktúru, že všetky srvid (SID) musia byť uložené v jednom riadku a oddelené čiarkou. Ak by sa jednalo o úpravu 5-10 riadkov, tak to spravíme ručne, čo by bolo aj tak dosť pracné, ale ak máme upravovať 70, alebo 100 riadkov, tak by sme sa pri ručnej úprave asi zbláznili. Nie je nič jednoduchšie ako použiť jednoduchý skript

cut -c21-24 /path_to_file/oscam.srvid | tr '\n ' ',' > /path_to_file/services.txt

Skript spraví to, že odstrihne v každom riadku znaky od pozície 21 až po 24, kde nám vznikne stĺpec v ktorom sú len SIDs. Na konci každého SIDs je znak konca riadku čiže \n a mi to cez rúru nahradíme obyčajnou čiarkou a pošleme namiesto štandardného výstupu do súboru. Vznikne nám súbor s takouto štruktúrou a tento už vieme použiť ako services.

1794,17ae,17b0,17ea,17eb,17ed,1810,

Záver

V tomto krátkom blogu som chcel len vyzdvihnúť ako jednoducho je v linuxe cez terminál za pomoci nástrojov ako je cut, tr, alebo aj awk, sed atď. upravovať rôzne textové, resp. konfiguračné súbory.

Leave a Reply

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *