Elosztott digitális hangtárak a közösségi rádiózásért

Kézdi Tamás, Kovács László, Micsik András, Pataki Máté
MTA SZTAKI Elosztott Rendszerek Osztály (DSD)
1111 Budapest, XI. Lágymányosi u. 11.
{kezdi, kovacs, micsik, mate}@dsd.sztaki.hu
http://dsd.sztaki.hu/

Kivonat:   Napjainkban a nagy országos rádióadók mellett egyre nagyobb számban jelennek meg kisebb rádióállomások, melyek speciális igényeket illetve közösségeket szolgálnak ki. A StreamOnTheFly európai projekt azt a célt tűzte ki, hogy egy széles körben hozzáférhető szoftverrendszer segítségével olyan elosztott architektúrát valósít meg, amely támogatja a rádióállomások működését, az állomások közti műsorcserét, illetve a műsorok készítését és azok újrafelhasználását. A rendszer tulajdonképpen digitális könyvtárak decentralizált, önszerveződő hálózata, melyben a metaadatok automatikusan replikálódnak. Ehhez a projekt kidolgozott egy Dublin Core alapú metaadat ajánlást illetve az XBMF (Exchange Broadcast Binary and Metadata Format) csomag formátumot, mely rádióműsorok metaadattal társított továbbítását és archiválását teszi lehetővé. Az MTA SZTAKI Elosztott Rendszerek Osztálya által fejlesztett digitális könyvtárakat egy rádióállomás-vezérlő szoftver táplálja anyagokkal, a könyvtár tartalmából pedig a szintén saját fejlesztésű portálrendszerrel lehet válogatásokat készíteni és szolgáltatni. A rendszer további célja a közösségépítés és a vélemények, információk kicserélésének támogatása is.

1. Bevezetés

Magyarországon is, ahogy az egész világon, a nagy országos illetve kereskedelmi rádióadók mellett számos kisebb rádió is működik. Ezek céljai különbözőek lehetnek (pl. körzeti, vallási, közösségi rádiók), de mivel sugárzási területük és hallgatóságuk kicsi, műsoraik csak igen korlátozott körben érhetők el. Az internetes rádiókat az Internet elterjedtsége és elérhetősége korlátozza, illetve az, hogy sokan nincsenek még hozzászokva, hogy számítógépen keresztül hallgassanak rádiót. E rádiók műsorainak azonban jelentős része magas színvonalú, és megérdemli, hogy többször és többféle közönség is meghallgathassa.

Az európai közösségi rádiók közül páran kísérleteztek különböző együttműkődési formákkal, melyeknek célja műsorok átvétele, megosztása volt, de ezek nem váltak rendszeressé és rutinszerűvé. A tapasztalatok szerint a kis rádióadók közötti együttműködést jelentősen növelni lehetne. A StreamOnTheFly európai projekt, melyben az MTA SZTAKI Elosztott Rendszerek Osztálya is részt vesz, azt a célt tűzte ki, hogy új módszereket keres és demonstrál a rádióadások archiválása, megosztása, kezelése és személyre szabása érdekében. A projekt elemzése azt mutatta ki, hogy a rádiók közti rendszeres műsorcsere legfőbb akadálya a közös technológia és adatformátum hiánya. Hiányzik a rádióműsorok leírására szolgáló egységes metaadat-séma és egy egységes szolgáltatási megoldás.

A StreamOnTheFly projekt egy olyan széles körben hozzáférhető szoftverrendszert képzelt el és valósított meg, amely támogatja a rádióállomások működését, a műsorok archiválását, az állomások közti műsorcserét, illetve a műsorok készítését és azok újrafelhasználását. Egy ilyen rendszerrel lehetővé válik például, hogy kisebbségek különböző országokban működő rádiói átvegyenek egymástól műsorokat, hogy hasonló témájú rádiók kicseréljék műsoraikat, de végső soron az is, hogy a hallgató maga szerkessze meg a saját rádióadását, létrehozzon egy teljesen személyre szabott rádiót. A továbbiakban a rendszer felépítését és megvalósítását ismertetjük.

2. A StreamOnTheFly hálózata, a “rádióháló”

Rádióhálónak hívjuk a cikkben bemutatásra kerülő szoftverkörnyezetet, amely egy többféle komponensből álló elosztott rendszer, a világháló technológiájára épített, és azon belül működő hálózat. A rádióháló háromféle elemből épül fel: csomópontokból, rádióadókból és portálokból (1. ábra). Minden csomópont egy regionális központ és archívum, a csomópontok összessége pedig egy hanganyagokra specializálódott, elosztott digitális könyvtárat alkot. A rádióadók egy kiválasztott (például a hozzájuk legközelebb eső) csomópontba küldik műsoraikat, és azok így bekerülnek a digitális könyvtárba. A portálok ebből az anyagból készíthetnek különféle válogatásokat. A csomópontokba érkező műsorok világszerte egységesen elérhetővé és kereshetővé válnak, és természetesen meg is lehet hallgatni azokat.

A rádióháló egyes elemeinek részletes bemutatását a rádióadókkal kezdjük. A projekt egy olyan szoftvereszközt fejlesztett ki, amely hozzákapcsolja az adót a rádióháló egy csomópontjához, valamint segíti a rádióadó mindennapos üzemeltetését is. A műsorok időbeosztása és előkészítese, az adás ütemezése történhet ezzel a szoftverrel is. A műsorok szerkesztői már adás előtt előkészíthetik a műsorok metaadatait, az adás után ezeket véglegesítve, gyakorlatilag “egy gombnyomással” fel tudják tölteni a műsort a rádióhálóra. Az olyan műsorok esetében, ahol nincsenek meg a leadott műsorok digitális formátumban, egy automatikus rögzítő használható. Ez előfordulhat élő adásoknál, vagy ha a rádiónál nincs meg a megfelelő technikai háttér. A szintén projekten belül fejlesztett rögzítő felveszi a teljes adást, azt automatikusan feldarabolja, és az így kapott műsorokat feltölti a rádióhálóra.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


1. ábra: Egy példa StreamOnTheFly hálózatra

A csomópontok adják az elosztott rádióháló alap-infrastruktúráját. Egy csomópont adott rádiók műsorait tárolja és szolgáltatja. A műsorokhoz részletes metaadatok és többféle fájl is társíthatók. Például, a hanganyag több formátumban is jelen lehet, és a műsorhoz kapcsolódó fényképek vagy írott dokumentumok is tárolhatók. A műsorok metaadatai automatikusan lemásolódnak a hálózat összes többi csomópontjára. A felhasználók így bármely csomóponton a hálózat teljes anyagát elérik egy egységes felületen keresztül. Lehet böngészni rádióadók vagy témakörök szerint, és keresni a teljes archívumban. Lehetőség van több feltételből összeállított kereséseket futtatni, az ilyen összetett keresőkérdéseket elmenteni és később újra lefuttatni. A felhasználók kedvenclistába gyűjthetnek kiválasztott rádióműsorokat, így azokat máskor is gyorsan megtalálják. A kedvenclistából tetszés szerint kiválasztott és sorbarendezett műsorokat egyszerre meg lehet hallgatni, ez a személyre szabott rádiózás, vagy „önrádiózás”. Terveink szerint hamarosan a magunknak összeállított műsorhoz ízlésünknek megfelelő, véletlenszerűen kiválasztott zenét is lehet keverni. Az egyes műsorokat értékelni is lehet (jelenleg 1-5 skálán). Az értékeléseket és a hallgatási statisztikákat a rendszer a csomópontok között összesíti, és ezt is figyelembe lehet venni a műsorok kiválasztásakor.

A szerkesztők a csomóponton is nyomon követhetik műsoraik sorsát egy kényelmes kezelőfelületen, amely mutatja az összes általuk feltöltött műsort és az azokhoz tartozó felhasználási adatokat. Itt is lehet feltölteni új műsorokat vagy levenni régieket. A csomóponton objektum-szinten definiálhatók a jogosultságok, tehát ki lehet alakítani bonyolultabb munka- és felelősségmegosztást a tartalom kezelésére.

A portálok alkotják a hálózat utolsó elemét. A portálok a szerkesztők által kiválasztott rádióműsorokat ajánlják a látogatóiknak. Az egyes műsorokhoz kommentárokat fűzhetnek, és még több háttéranyaggal, fényképpel gazdagíthatják a megjelenést. A portál grafikailag is teljesen átszabható. A felhasználók egyenként is meghallgathatják az ajánlott műsorokat, vagy pedig a portál rádióját hallgathatják, amely folyamatosan játssza a portálon szereplő műsorokat egymás után. A műsorokat itt is lehet értékelni, és megjegyzésekre, vitára is van mód. A megjegyzéseket, értékeléseket a portál továbbküldi a csomópontnak, a csomópont pedig a megjegyzéseket e-mailben eljuttatja a műsor készítőinek. A portálok tipikusan kisebbségeket, földrajzi régiókat vagy érdeklődési köröket szolgálhatnak ki.

3. A hálózat megvalósítása


A StreamOnTheFly hálózatnak mindenekelőtt szüksége volt egy közös metaadatsémára. A tervezés idején több induló kezdeményezés is volt metaadatok multimédiához való társítására. Ezek definiálták a metaadat­sémát, és azt is, hogyan kell a multimédiás tartalomba beágyazni, vagy ahhoz hozzárendelni a metaadatokat (lásd pl. SMPTE, AAF, MPEG-7). Ezenfelül a sémák gyakran a leírandó objektumokat is meghatározták, azokat hierarchiába szervezték, a leíráshoz használható paraméterek lehetséges értékeit is részletesen szabályozták. Ezek nagy szervezetek, országos adók számára készült igen összetett megoldások voltak, és a projekten belüli alkalmazásuk nem tűnt célravezetőnek. A projekttel kapcsolatot tartó rádiók is jelezték, hogy egy egyszerűbb megoldást szeretnének. Erre a European Broadcasting Union (EBU) „alap metaadatok rádiók számára” című ajánlása tűnt megfelelő kiindulópontnak. Ez az ajánlás azt írja le, hogyan használják a rádiók a Dublin Core metaadatsémát rádióműsorok leírására. A StreamOnTheFly projekt részt vett egy Shared Online Media Archive nevű kezdeményezésben, melyben más médiahálózatokkal és amatőr szervezetekkel (pl. AMARC, OneWorld) együtt tovább finomítottuk, konkretizáltuk az EBU ajánlását. Így jött létre a SOMA metaadatséma, amelyet a StreamOnTheFly hálózat is támogat.

A metaadatsémán túl szükség volt egy adatcsere formátumra is, ez a projektben az XBMF (Exchange Broadcast Binary and Metadata Format) nevet kapta. Az XBMF egy konténer formátum, mely tartalmazhatja a hanganyagot többféle formátumban, a metaadatokat XML formátumban, és a további kapcsolt fájlokat is (2. ábra). A rádióadók XBMF-be csomagolva küldik el a műsorokat a csomópontoknak, tehát ez a formátum nem csak az archiválásnál jelent segítséget, hanem a műsorok továbbításánál is.

A hálózaton belül minden csomópontban replikálódik a hálózat összes metaadata. Ez szükséges a gyors és megbízható egységes hozzáféréshez és kereshetőséghez. A jóval terjedelmesebb hanganyagok azonban csak egy csomóponton tárolódnak, a készítő rádióállomás szerint. Ha a hanganyagot egy másik csomóponton vagy portálon akarják meghallgatni, akkor a hálózat az eredeti csomóponttól kiindulva automatikusan továbbítja a hangfolyamot (stream) akár több csomóponton keresztül is a hallgatóhoz (3. ábra).


A hálózat kialakítása decentralizált és önszervező módon történik, mely illik a közösségi rádiózás működéséhez. A hálózatban nincs központi vagy kiemelt szerver. A csomópontok szomszédi viszonyban állnak más csomópontokkal, mely kölcsönös megegyezés alapján jön létre. Ezeken a szomszédsági láncokon keresztül terjed az információ a hálózatban oly módon, hogy a szomszédok rendszeresen kicserélik egymással az új és módosított metaadatokat. Ha csomópontok leállnak vagy egy időre kiesnek, a hálózat összes többi csomópontja működőképes marad, és az információáramlás is folytatódik (a szomszédsági gráftól függően). Mivel a csomópont csak a szomszédaival kommunikál, egy új csomópont csatlakozásához csak az kell, hogy egy csomópont elfogadja szomszédjának. Egy peer-to-peer hálózat épül fel így, bár ennek kapcsolati gráfja jóval kevésbé dinamikusan változó, mint az ismert peer-to-peer  fájlmegosztó hálózatokban (Gnutella, Kazaa, stb.).

A hálózat elemeit nyílt technológiák és szabad szoftverek felhasználásával fejlesztettük ki. A keretrendszer PHP-ban íródott és Postgres adatbáziskezelőt használ. A felhasználói interfészek web böngészővel használhatók, kivéve a műsorok hallgatását, amelyre tetszőleges MP3 vagy OGG/Vorbis stream fogadására képes lejátszó használható (pl. WinAMP, XMMS). A stream-ek továbbítását icecast és Tamburine szoftverek végzik. A komponensek közötti kommunikációra XML-RPC protokollt használunk. A hálózat főbb elemei szintén szabadon hozzáférhetők lesznek.

4. Összefoglalás

A rádióháló felépítésével a célunk egy önszervező közösségi rendszer kialakítása, amely remélhetően „önálló életre kel”, és megteremti a saját kommunikációs és működési szokásait. Így remélhetőleg a rádióháló segít új együttműködési formákat is kialakítani a médiakészítés és sugárzás területén. A rádióháló tervezésekor nagy hangsúlyt kapott a nyíltság és önszerveződés, mint alapelvek, amelyek a decentralizált hálózati felépítésben, szabad szoftverek és nyílt protokollok alkalmazásában és megalkotásában nyilvánulnak meg. A rendszer sok nyitott pontot hagy, ahol a rádióháló nyílt protokollokon keresztül kommunikáló új komponensekkel bővíthető. A kidolgozott hálózati minta természetesen nem csak rádiók esetén alkalmazható, hanem más audiovizuális vagy multimédia tartalomra is.

Sok közös pont érzékelhető a magyarországi NAVA (Nemzeti Audiovizuális Archívum) projekttel, melyről sajnos csak jóval a projekt tervezési fázisa után szereztünk tudomást. A NAVA sokkal nagyobb hangsúlyt fektet a jogi szabályozásra, és inkább egy központosított, „működtetett” rendszert körvonalaz. Érdekes lenne látni a NAVA és StreamOnTheFly elképzelések összehasonlítását, valamint tanulmányozni a két eltérő rendszer által generált jövőbeni felhasználási mintákat.

A StreamOnTheFly hálózat csomópontjai az elkövetkező hónapokban fognak megnyílni. Több rádióállomás már várja, hogy használhassa a hálózatot. Az MTA SZTAKI a projekt technológiáját Magyarországon is terjeszteni fogja, és egy magyar csomópontot fog üzemeltetni (http://sotf.dsd.sztaki.hu/).

Köszönet

A szerzők ezúton köszönik a StreamOnTheFly projekt tagjainak segítségét (Public Voice Lab Ausztria, Team Teichenberg Ausztria, MTA SZTAKI Elosztott Rendszerek Osztály).

Az IST-2001-32226 számú StreamOnTheFly projektet az EU támogatja.

Hivatkozások

http://dublincore.org/  Dublin Core Metadata Initiative

http://www.ebu.ch/tech_32/tech_t3293.pdf  EBU Core Metadata Set for Radio Archives (Tech3293),

http://soma-dev.sourceforge.net/  Shared Online Media Archive (SOMA) metadata format 1.0

http://tamburine.dyne.org  Tamburine

http://www.streamonthefly.org  StreamOnTheFly project homepage

http://sotf.dsd.sztaki.hu/  Rádióháló demonstrációs csomópont

http://dsd.sztaki.hu/ MTA SZTAKI Elosztott Rendszerek Osztály honlapja