![]() |
|
RDS (Radio Data System) - Verze k tisku +- XBMC-Kodi.cz (https://www.xbmc-kodi.cz) +-- Fórum: KODI - Doplňky (https://www.xbmc-kodi.cz/forum-kodi-doplnky) +--- Fórum: Live TV & PVR (https://www.xbmc-kodi.cz/forum-live-tv-pvr) +--- Téma: RDS (Radio Data System) (/prispevek-rds-radio-data-system) |
RDS (Radio Data System) - Client - 23.1.2019 RDS - Radio Data System je patrně všeobecně známá doplňková služba. Pokud nevíte o co jde, tak docela stručné a výstižné povídání najdete např. v RDS - co je to? Počínaje KOdi 17 byla v něm doplněna podpora zpracování informací z RDS. Pokoušel jsme se z přijímaných streamů získat nějakou informaci, a i když Kodi přítomnost RDS infromací, indikuje, zatím jsem nebyl úspěšný. Zdá se, že míst, která na zpracování informací RDS mají vliv, bude nejen v Kodi (ale v celém řetězci) více. Tak jen stručně zrekapituluji:
RE: RDS (Radio Data System) - Client - 23.1.2019 Dnes jsem v sestavě HTS Tvheadend 4.2.6-7 ~ LibreELEC Tvh-addon v8.2.113 a Kodi 18 RC5.2 W10 s pvr.hts 4.4.12, skin Estuary Stream-Cinema s rozšířením o testovací sestavu se zobrazení RDS informací. Informace o tom, že na daném kanálu je k dispozici RDS se přenesla až do zobrazení sklinu, ale ani jedna z položek, až na jednu výjimku, neobsahovala žádnou informaci. Tou výjimkou byla položka RDS.RadioStyle, jejím obsahem byla hodnota "uknown". Chabý výsledek. Zajímavé je, že RDS je indikováno pouze na mp3 streamech. Streamy z DVB-T vysílání, i když RDS určitě mají, se v Kodi tváří, že jsou bez něj. Momentálně mám tedy podezření na vlastní Tvheadend server, protože verze, kterou používám pro domácí účely je přeci jen letitá. [attachment=4734] To tady fakt není nikdo, kdo má zkušenosti? Takových chytrých lidí a žádná rada? RE: RDS (Radio Data System) - Client - 25.1.2019 Protože Kodi přehrávač by měl mít dekódování RDS informací zvládat. Zkusil jsem předat stream radia přímo přehrávači a skutečně, informace o přehrávané skladbě se objevila. Víceméně to potvrzují, i zkušenosti z přehrávání streamů s RDS přes IPTV Simple Client případně přes některé addons, které přehrávání internetových radií umožňují. Při těchto způsobech žádné zpracování neprobíhá, vždy se pouze jen dál předává adresa streamu. Zdá se tedy, že problém je třeba skutečně hledat především na straně Tvheadend, případně ffmpeg. [EDIT] Moje chyba. Kodi přehrávač RDS dekódování neprovádí. Ten dojem jsme získal při testování IP rádií, kde se při přehrávání některých streamů objeví název přehrávané skladby. Ten se ale do Kodi dostává jiným mechanismem, přímo ve streamu. Ono to funguje tak, že tyto informace do streamu většinou vkládají ty stanice, která mají i RDS, protože tam ten mechanismus mají na straně vysílání vybudovaný. Další pokusy, které jsme dělal na finální verzi Kodi 18. Analyzoval jsme všechny interní informace (proměnné gui rozhraní) do kterých Kodi ukládá informace týkající se RDS, ve všech kombinacích a typech streamů. Žádný, tedy základní RDS, RadioText ani RadioTextPlus, neobsahuje žádná data... To je zatím vše.
RE: RDS (Radio Data System) - JiRo - 05.12.2021 Využiji tohoto opouštěného vlákna, které založil "vyštvaný" @Client, abych pokračoval s ideou řešení, které jsem nazval RDS Client. O co jde. V PVR Kodi přehrávaná rádia nedokáží přijmout a zpracovat RDS infromace, byť Kodi pro jejich zobrazení podporu evidentně nabízí (viz předchozí příspěvky od @Client). Inspirován řešením @Saros pro příjem stanice Evropa2 (viz Evropa 2 (1.1.0)) jsem se rozhodl navrhnout řešení, které by RDS (s jistou omezenou funkčností) bylo možné do Kodi dostat. Předpokládám, že řešení by obešlo funkce Live TV & PVR a stalo se tak víceméně jejich nezávislou nadstavbou, ale pokud možno co nejtěsněji integrovanou, volitelně i cestou úpravy skinu. Idea je následující
Zdroje RDS, to jsou v tomto případě web-y a jejich API, které takové informace v reálném čase nabízí. Kupodivu je jich pro české stanice poměrně dost. Až se ale řešení dostane do produkční fáze, nebude smaopzřejěm porblém doplnit i zdroje jiné, primárně samozřejěm slovenské. Ať už @Saros nebo @martinchromy mě ve výše zmíněném tématu navedli na několik z nich. Ne všechny zdroje mají shodnou kvalitu informací, ale to, co je podstatné, tzn. název přehrávané skladby, jejího interpreta a obrázek (většinou cover alba/singlu) nabízí snad všechny. Některé navíc ještě další příjemné bonusy, které mohou realizaci zjednodušit, to je například čas začátku a konce přehrávané skladby, případně zlepšit potenciálně informační i vizuální dojem, to jsou například informace o moderátorech aktuálního pořadu nebo jejich fotografie nebo v jiném případě i slova přehrávané skladby (lyrics). Dosavadní pokusy Protože nejsem zručný programátor (či spíše nejsem programátor vůbec), začal jsem pro mne tím jednodušším. Jednak testem zdrojů RDS a pokusy o načtení odpovídajících dat. Naštěstí jsou data vesměs poskytována ve formě json, takže zpracovat je jednoduchým sh scriptem bylo záležitostí pár minut. Druhou částí mých pokusů byla úprava skinu tak, abych si mohl odzkoušet, co, jak a kde by bylo možné z RDS dat zobrazit. Všechno ostatní, tzn. jak vlastní addon je zatím tedy pouze ve stadiu úvah. Abych vás trochu navnadil, zopakuji tady to, co jsme už prezentoval ve výše zmíněném tématu. Je to výsledek pokusů jednoho sobotního odpoledne. Trvale běžící sh script po svém spuštění načítá RDS data pro stanici Evropa 2 a ukládá je do příslušných proměnných. Ve skinu Estuary jsem upravil jak stránku full screen přehrávání hudby (MusicVisualisation.xml), tak zobrazení na Home stránce (include.xml, tam konkrétně v definici include name="TopBar"). První pokusy dopadly takto: [attachment=7486][attachment=7487] Výsledek není špatný, a protože Evropu 2 poslouchám často, tak nechávám script, který data RDS načítá, běžet trvale (spouštím ho po startu mého CoreELEC) a budu dlouhodobě sledovat, zda opravdu stojí za to se tím zabývat. Mezitím mi @martinchromy poslal další možné zdroje RDS a zdá se, po ověření jejich dlouhodobé stability, že by se asi výše uvedená idea skutečně vyplatila realizovat. Právě teď jsem získal i názor jednoho kamaráda, který si toto testovací řešení implementoval také (včetně úpravy skinu Estuary), že by se mu líbilo, kdyby stránka s RDS daty zobrazená při přehrávání, odpovídala svým rozložením stránce zobrazené při přehrávánmí hudby. Protože si myslím, že je to správný názor, přidal jsme novou verzi tohoto zobrazení. Je vidět, že tady asi bude ještě velké pole působnosti a tvořivosti, už jenom proto, že jsou zdroje RDS, které nabízí i další informace. Zobrazit je vhodným způsobem, to už bude jen taková třešnička na dortu. [attachment=7488] Edit 2021-12-06 Další drobná úprava zadání, ověřená na zárodku service addon service.rds už přímo v Kodi. Stav služby může nabývat 5 hodnot:
[attachment=7500][attachment=7501] RE: RDS (Radio Data System) - martinchromy - 08.12.2021 Zdravím Bude možné přihlásit se jako betatester? RE: RDS (Radio Data System) - JiRo - 08.12.2021 @martinchromy Až se k tomu dostanu a dodělám to jako addon, tak to vyhodím ven. Žádné betatestování nebude. Buď to bude chodit nebo to ven nedám.
RE: RDS (Radio Data System) - JiRo - 10.12.2021 Při hraní si s addone-em se zabývám také zdroji RDS dat. Díky @Saros a @martinchromy mám momentálně jeden výborný, jeden dobrý a jeden ucházející zdroj RDS dat:
RE: RDS (Radio Data System) - JiRo - 11.12.2021 Informace v RDS službách, které poskytují dříve uvedné služby jsou občas skutečně netypické. Tedy ve smyslu jejich strategie zpracování. Například některé stanice ČRo (zdroj dat radia.cz ) používají RDS následovně:
Tohle například u takové Evropy 2 ze zdroje rds.actve.net funguje vcelku bez problémů a očekávaně. Tedy pokud pomineme to, že občas se data na novou skladbu nepřepnou. To ale nemá vliv na způsob zpracování, resp. strategii řízení přístupů k serveru služby. I tady to samozeřejmě vede v tomu, že se přejde na cyklické dotazy. Například v případě, kdy nedojde k přepnutí dat na přehrávanou skladbu v uvedený čas nebo dokonce vůbec (i to se stává) nebo při vstupu moderátora, reklamních přestávkách nebo zprávách, kdy v RDS zůstávají data naposledy hrané skladby, často po poměrně dlouhou dobu. Ale takhle RDS prostě funguje. Jak to funguje je vidět v logu Kodi. Nejdříve se přehrává stanice Frekvence 1 (je v datové struktuře addon-u, která popisuje zdroje RDS zadaná pod alias F 1), pak jsem přepnul na Evropu 2. Jsou tam vidět chvíle, kdy se data začnou načítat periodicky (s periodou 5 s) po proběhnutí doby anoncovaného konce skladby. [attachment=7508] No a když jsme se už zmínil o těch datech, tak ještě krátce k datové struktuře, která by měla pomoci řídit načítání dat z akceptovaných zdrojů. Akceptace znamená, že pro každý takový zdroj bude existovat modul, ve kterém bude probíhat jeho dekódování. Zatím mám tu datovou strukturu definovanou a naplněnou přímo v datech kódu addon, je ale jasné, že ve finále tohle bude mimo, v json souboru. Předpokládám default data uložená v adresáři addon a uživatelsky definovatelná, uložená v uživatelsky dostupném (zadaném) adresáři, kterou se ta default doplní/přepíše. Kód: channels = {'Evropa 2': ('actve', 'evropa2'),Tak už se blíží zveřejnění části service, které plánuji to v novém roce. Vizualizace bude zatím možná jen na upraveném skinu Estuary-Easy. Tu úpravu samozřejmě popíšu pro ty, kteří jsou schopni si skin Estuary upravit sami. [attachment=7521] Pokusím se co k tomu udělat i "univerzální" vizualizaci ve formě script části s default definicí souboru skinu, která by byla použitelná na jakémkoliv skinu, případně by se pro tam další vybrané skiny doplnila vizualizace ve shodném tvaru, ale to si ještě nějaký další čas vezme. Pak je ještě varianta zápisu RDS dat do datových struktur PVR, ale to je tak trochu alchymie a je otázka, zda tohle vůbec půjde nějak snadno udělat. RE: RDS (Radio Data System) - martinchromy - 13.1.2022 JiRo: Jak práce pokračují ? Daří se... je třeba nějaká pomoc? RE: RDS (Radio Data System) - meda - 14.1.2022 @martinchromy: Smázni, prosím, tu šílenou zbytečnou citaci. Stačí přeci adresát zavináčJiRo a tvůj dotaz. Od adresace mu dojde upozornění. RE: RDS (Radio Data System) - martinchromy1985 - 27.6.2022 zdravím Je tento počin někde ke stažení ? |