Online Rádió és Mp3 lejátszás Openwrt és Padavan alatt

írta: suste, 4 éve

OPENWRT:
Openwrt-vel több eszközön is (Tplink842, Dlink860l, Nexx3020, GoFlexNet) már több éve üzemeltetek USB-s hangkártyával netrádiót, és mp3 élejátszásra is használom ezeket a rendszeket. Pár perc alatt beüzemelhető bármelyik Openwrt-n, ha a feltételek adottak:
-van USB port a routeren,(tárhelytől függően kellhet egy HUB is esetleg)
-az USB kezeléshez szükséges alap csomagok fent vannak, vagy meg vannak a repo-jában,
-a hanggal kapcsolatos kerneles csomagok (kmod-usb-audio, kmod-sound-core) fel vannak telepítve, vagy elérhető a repo-jában,
-és van egy USB-s hangkártyánk :). (Olcsó Online boltokban 1-2$-os költség, de itthon is csak pár ezres ;) )
Ezek után csak ennyi a teendő:
0: Ha nincsen elég szabad hely, akkor pl egy pendrive-val kibővítjük a rendszert. (1-2MB kelleni fog)
(Nem feltétlenül kell extroot-ot alkalmazni, elegendő simán átlinkelni a plusz csomagokat a penre/ről.)
1: USB kezelés és hanggal kapcsolatos csomagok telepítése, ha még nincsen fent.
2: "alsa-utils" csomag telepítés (hozza magával az alsa-t :) ).
3: "madplay" lejátszó telepítése.
4: A mi 9092-es weboldalunk telepítése (akár csak külön a rádiós rész), ami egy egyszerű mentés betöltése. A webes kezelésben az a legjobb, hogy böngésző szinte mindenen van már, így minden eszközről irányítható a rádió/MP3, külön kliens program telepítése nélkül.

Annyi plusz segítség van még, hogy ha először a mi weboldalunkat tesszük fel, akkor az 1-3 részt megcsinálja a rádiós oldal saját magának egy gombnyomásra.
Ezután már csak össze kell kötnünk az erősítőnket vagy bármilyen hangrendszert a hangkártya kimenetével (pl KisJack-RCA kábellel), és a "http://ROUTERIP:9092" -es oldalon található "USB-AUDIO" oldal segédletével hallgathatjuk a kedvenc online rádióinkat:
-vezérelhető a "madplay" (MAD) és az "mpd" (MPD) lejátszó is,
-MAD csak mp3 formátumot ismer, az MPD tud aac, flac, ogg, stb-t is,
-a rádió lista szerkeszthető,
-állítható az egyszerre megjelenő állomások gombjainak darabszáma,
-lehet legördülő listából is állomást választani,
-tesztelhető közvetlenül egy online rádió link,
-lehetőség van a rádiókhoz logot letölteni, ami az adott rádió bekapcsolásakor látható lesz a weboldalon,
-állítható a hangerő gyors gombokkal vagy akár 1-100-ig legördülő listából,
-beállítható, hogy reboot után milyen hangerőre álljon be a rendszer (alapértelmezésben 99%-on indul :( )
-állítható a balance százalékosan,
-csatolt fájlrendszerekről lejátszhatóak az mp3 fájlok, és akár listákat is létrehozhatunk,
-az mp3-aink lejátszását elindíthatjuk úgy is, hogy nem az USB-s hangkátyán megy ki a hang, hanem a webes felületen, vagyis a kezelő kliensen szólal meg,
-a weboldal háttér és betű színei szabadon megválaszthatóak,
-beállítható hogy a weboldal szabadon beállított időközönként automatikusan frissüljön,
-"mpd" lejátszó esetén a rádiók által kiküldött RDS -t kijelzi (oldal frissítés szükséges),
-lehetőség van rá, hogy az RDS információkat (pl track ID) gyűtse egy fájlban a RAM-ban.

PADAVAN:
Nemrég beszereztem egy "Asus RT-N65U"-t, amin ráadásul 2db USB port is van, viszont csak Padavan CFW van rá. (Itt a hardveraprón csaptam le rá kemény 1000ft -ért, igaz hibás 2,4ghz-es wifivel.) Így elkezdtem átültetni a saját webes felületünket (9092) erre a rendszerre is, hogy tudjam erről is üzemeltetni itthoni a netrádiót.
Az alaprendszer jóval kötöttebb, a router meg egy régebbi darab, így már az alapfeltételek megteremtése is tovább tartott.
Ahhoz hogy egyáltalán felismerje az USB-s hangkártyát a rendszer, a kernelben is kell lennie hangtámogatásnak (ahogy Openwrt-n is), vagyis olyan fw verziót kell találnunk vagy forgatnunk, ahol ezek bent vannak. Itt viszont utólag nincsen lehetőség ezek telepítésére! De szerencsére Entware használható, így az alsa és a madplay könnyen feltelepíthető.
Az N65U már régóta nem támogatott egyik Padavan verzióban sem, de szerencsére itt a fórumon kaptam segítséget (woodworm :R ).
De persze jó sok minden egyéb dolog is máshogy működik. Próbáltam/próbálom megoldani valahogy hogy a rádiós weboldal működjön mind a 2 féle rendszeren, és ne legyenek egyedi kódrészek, de sajnos még vannak. Viszont már használható Padavan alatt is, és van már erre is mentés.
Nagyobb eltérések:
-a beépített webszerverből nem bírtam másodpéldányt futtatni (a lefixált paraméterek miatt), ezért lighttpd-t kell telepíteni a beüzemeléshez,
-a madplayer valamilért nem engedi el a végrehajtást, és nem adja vissza a weboldalnak, így csavarni kellett egyett a parancsfuttatáson (a parancsot kimásolja egy fájlba, és azt futtatja a háttérben)
Az openwrt-n is működik így is, csak ez lassabb valamivel, mint a közvetlen parancsfuttatás.
-a top parancs kimenet más egy kicsit, ráadásul változott az újabb kernelben, így át kellett írnom az aktuális rádió/mp3 kijelzést,
Ez egyébként jobb lett végül, mint az eredeti, így openwrt alatt is az újat használom :).
-csak egész számú "sleep" van, de mivel az 1mp elég sok, ezért inkább csináltam egy egyszerű számolós/összeadós késleltetést. Lehet telepíteni kellene "coreutils"-ból......

Ha valakit érdekelnek a mentések, akkor itt megtalálhatóak: http://susteopenwrt.ipdns.hu/servicesbackups/