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.
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.
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.
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 metaadatsé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.
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/).
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.
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