2. Internet radio stanice

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ó Josip Dean

 

 

 

 

 

 

 

 

 

 

2.1. Uvod

 

 

Nakon što smo odlučili kako emitirati zvuk ostaju nam još dva pitanja, što emitirati, i sa kojim alatima emitirati. Naše želje u pogledu sadržaja emitiranog programa možemo podjeliti na:

·        Emitiranje glazbe iz fiksnog direktorija u kojem su spremljene naše pjesme u mp3, ogg vorbis ili nekom drugom formatu. Pjesme želimo emitirati redom ili nasumce. Ovo je najjednostavniji radio sustav i omogućava nam da na brz i lak način organiziramo sustav tematskih glazbenih radio stanica, npr. rock, pop, jazz, classic ili neke druge tematske radio stanice. Ovakve radio stanice su na internetu najraširenije, one u punom smislu iskorištavaju sve blagodati interneta, jer jedna radio stanica može imati više tematskih programa što slušateljima ostavlja veliki izbor, a ovakvim sustavom možemo zadovoljiti glazbeni ukus širokog kruga slušatelja. 

·        Emitiranje zvuka i glazbe iz nekog od programa za obradu ili miksanje zvuka. Ako želimo organizirati internet radio stanicu po uzoru na klasične radiodifuzne stanice ovo će nam biti najlogičniji izbor. Na ovaj način naše računalo možemo pretvoriti u minijaturni studio na kojemu možemo miksati glazbu iz različitih izvora, dodavati različite efekte, te tako pripremljen zvuk emitirati internetom.

·        Emitiranje zvuka sa ulaza (Line In) u zvučnu karticu. Ovaj način nam omogućava da putem interneta emitiramo zvuk sa već postojeće klasične radiodifuzne stanice. Domet klasičnog radiodifuznog odašiljača je ograničen i sa tehničkog i sa pravnog aspekta (koncesija na frekvenciju), dok je zvuk emitiran internetom ograničen samo bandwidth-om na kojem smo spojeni na internet. Na ovaj način, program naše lokalne ili nacionalne radio stanice mogu putem interneta pratiti osobe na bilo kojem kraju planeta.

·        Emitiranje zvuka sa neke druge već postojeće internet radio stanice. Upravo zbog ograničenosti bandwidth-om, a zbog povečanja maksimalnog broja slušatelja, nužno je izgraditi sustav repetitora (Relay  Server). Detaljnije kasnije u tekstu.

 

Za realizaciju bilo kojeg od gornjih sustava biti će nam potreban određeni skup programa. Ti programi moraju zadovoljiti naše, gore navedene, želje i prethodno opisane dogovore o emitiranju zvuka internetom.

Od programa će nam trebati:

·        Server

·        Aplikacija za predobradu zvuka koju ćemo zvati shouter.

 

Server će obavljati funkije streaming-a zvuka na određeni IP port (standardno se koristi port 8000), odabira broja slušatelja, i druge manje važne funkcije.

Shouter će nam služiti u prvom redu za kompresiranje, odnosno rekompresiranje zvuka iz bilo kojeg izvora u mp3 ili ogg vorbis format sa željenim bitstream-om kojim ćemo emitirati program.

Sve mogućnosti emitiranja zvuka na ovaj način biti će najlakše i najprirodnije opisati na primjerima.

 

2.2. Sustav bez shoutera

 

Najjednostavniji sustav za emitiranje zvuka internetom prikazan je na slici 2.1.

Slika 2.1. Sustav bez shouter-a

 

Sustav se sastoji samo od servera koji je konfiguriran tako da uzima datoteke iz fiksnog direktorija i emitira ih na internet. Ovo je najjednostavniji, ali i najlošiji način.

Glavni problem ovog načina emitiranja sastoji se u tome da bitrate stream-a na izlazu servera ovisi isključivo o bitrate-u u kojem su kodirane mp3 ili ogg vorbis datoteke. Pjesme mogu biti kodirane u različitim bitrate-ovima, pa postoji mogućnost da i bitrate našeg stream-a bude varijabilan, što svakako nije poželjno.

Osim toga u ovoj konfiguraciji nije moguće emitirati zvuk iz bilo kojeg drugog izvora (Line In-a), niti je moguće primjenjivati bilo kakve zvučne efekte.

 

 

 

2.3. Sustav sa shouter-om

 

Ako želimo kontolirati izlazni bitrate našeg radio programa potrebno je između izvora zvuka i servera postaviti aplikaciju kojoj će glavna svrha biti kompresija, odnosno rekompresija zvuka iz bilo kojeg izvora u zvuk sa konstantnim bitrate-om. U slučaju zvuka sa ulaza u zvučnu karticu ili mikrofona zvuk je potrebno kompresirati, a u slučaju emitiranja zvuka iz mp3 ili ogg vorbis datoteka potrebno ga je rekompresirati na odgovarajući bitrate.

Da bi to mogli izvesti potrebno je iskoristiti još jednu mogućnost servera. Naime, server možemo konfigururati tako da zvuk umjesto iz mp3 datoteka uzima sa IP porta na računalu. Ako je server konfiguriran tako da program emitira na "port" onda će osluškivati "port+1" i emitirati će stream sa tog porta. Ovakav slučaj je prikazan na slici 2.2.

 

 

 

 

 

 

 

 

 

 

 

Slika 2.2. Drugi način rada servera

 

Sada na "port+1" možemo "spojiti" shouter kao što je prikazano na slici 2.3.

Slika 2.3. Najčešća konfiguracija radio sustava sa shouterom

 

Ovakav sustav nam sada omogućava emitiranje zvuka iz bilo kojeg izvora i potpunu kontrolu nad izlaznim audio stream-om. Snimak Windows desktopa sa sustavom ovog tipa koji se sastoji od proizvoda tvrtke Nullsoft: Winamp, SHOUTcast DSP i SHOUTcast DNAS prikazan je na slici 2.4.

 

Slika 2.4. Windows desktop sa pokrenutim radio sustavom

 

 

 

2.4. Sustav više neovisnih radio stanica

 

 

Korištenje interneta nam omogućava i sasvim novi pogled na funkcioniranje radio stanice. Kod klasičnih radio stanica smo navikli da jedna radio stanica emtira samo jedan program na jednoj ili više frekvencija. Na računalu spojenom na internet možemo pokrenuti radio stanicu sa većim brojem programa. Npr. možemo pokrenuti stanicu koja će na portu 8000 emitirati rock glazbu, na portu 8002 jazz, na portu 8004 jazz itd. Uočimo da su portovi 8001, 8003 i 8005 zauzeti sa pripadnim shouter-om. Kao što je već rečeno u uvodu, ovakvim sustavom možemo zadovoljiti glazbeni ukus širokog kruga slušatelja, te na takav način povećati slušanost (profit). Takva konfiguracija prikazana je na slici 2.5.

 

 

 

Slika 2.5. Sustav sa više programa

 

Snimak Windows desktopa sa sustavom ovog tipa koji se, kao i u prethodnom slučaju, sastoji od proizvoda tvrtke Nullsoft: Winamp, SHOUTcast DSP i SHOUTcast DNAS prikazan je na slici 2.6.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Slika 2.6. Windows desktop sa radio stanicom sa dva programa

 

 

 

2.5. Problem ograničenog broja slušatelja

 

Recimo sada ponešto o kvaliteti emitiranog zvuka i vezi kvalitete i bitrate-a naše radio programa. Ovisno o željenoj kvaliteti zvuka možemo ga emitirati u različitim bitrate-ovima. Ovisnost kvalitete zvuka i bitrate-a okvirno je prikazana u tablici 2.1.

 

bitrate

Prijenos ljudskog glasa

6.5kbps

Glazba FM kvalitete

28.8¸56kbps

Glazba CD kvalitete

96kbps

Tablica 2.1. Usporedba kvalitete zvuka i bandwidth-a

 

Iz tablice vidimo da je ako želimo praćenje programa omogućiti i slušateljima koji su na internet spojeni modemskom vezom najuputnije koristiti bitrate 28.8kbps. Pogledajmo sada naš bandwidth. Naša radio stanica na internet može biti spojena na brzinama do maksimalno 34Mb. Pretpostavimo da nam je na raspolaganju zakupljeni vod sa "upload banwidth-om" od 1Mbps (1024kbps) i želimo emitirati program sa 28.8kbps, dolazimo do poražavajućeg zaključka da će našu radio stanicu moći slušati maksimalno

Očito će nam biti nužno na neki način povećati maksimalni mogući broj slušatelja. Snižavanje bitrate-a nije preporučljivo jer je kvaliteta zvuka na brzinama manjim od 28.8kbps ispod svake razine za potrebe radio stanice. Ovdje ćemo iskoristiti jednu dodatnu mogućnost servera. Izgraditi ćemo repetitor (relay server).

2.6. Sustav repetitora (Relay Server)

 

Sjetimo se kako server emitira program. Pogledajmo sliku 2.7.

 

 

 

 

 

 

 

 

 

 

 

Slika 2.7. Konfiguracija servera za repeticiju

Server osluškuje jedan od portova na računalu i zvuk koji "čuje" na tom portu emitira na drugom portu. Do sada smo na taj port imali "priključen" shouter (vidi sliku 2.3.). Repetitor možemo izvesti tako da na ulaznom portu osluškujemo program sa druge internet radio stanice i emitiramo ga nazad na internet na drugom portu. Ovakav sustav je prikazan na slici 2.8.

 

 

 

 

 

 

 

 

 

 


Slika 2.8. Sustav jednog servera u repetitorskoj konfiguraciji

 

Ovime smo postigli slijedeće. Zamislimo našu radio stanicu na internet spojenu link-om iz gornjeg primjera koji omogućava 35 slušatelja. Hajdemo sada na taj server umjesto 35 slušatelja spojiti još 35 servera repetitora. na taj način smo povećali maksimalni mogući broj slušatelja sa 35 na

Moguća su i daljnja povećanja broja repetitora. Sustav je prikazan na slici 2.9.

 

 

 

 

 

 

 

 

 

 

 

 

 

Slika 2.9. Sustav više servera u repetitorskoj konfiguraciji

 

Pogledajmo primjer na slici 2.10. Naša radio stanica se nalazi u Zagrebu, za potrebe pokrivanja većeg dijela Hrvatske izgradili smo i dva repetitora u Varaždinu i Osijeku. Neka se jedan od slušatelja se nalazi u Đakovu. Slušatelj će u svom browser-u upisati npr. http://www.radio-pvprm.hr:8000. Server u Zagrebu će ovog slušatelja automatski preusmjeriti na, njemu geografski najbliži,  Osječki repetitor i naš će slušatelj primati stream iz Osijeka. Na taj ćemo način rasteretiti link između Osijeka i Đakova, a našim slušateljima istovremeno osigurati sigurnije i stabilnije praćenje programa.

 

Slika 2.10. Jedna od mogućnosti izvedbe sustava radio stanice

 

2.7. Programske aplikacije ("Software")

2.7.1. Windows platforma

 

Svi programi dostupni na tržištu su "freeware", odnosno besplatni su za korištenje. Najpopularniji su proizvodi tvrtke Nullsoft Inc.:

·        Winamp

o       program za reprodukciju zvučnih datoteka koji nam služi i kao izvor (source) zvuka i klijent na strani slušatelja.

·        SHOUTcast DSP

o       plugin za Winamp koji sadrži pet shoutera.

·        SHOTcast DNAS (Distributed Network Audio Server)

o       Internet radio server.

Snimak windows desktop-a sa pokrenutim programima prikazan je prethodno na slici 2.4.

Ova kombinacija source/shouter/server na Windows platformi za sada na tržištu radi najstabilnije i jednostavna je za konfiguriranje, pa ćemo se, uz pretpostavku da smo već upoznati sa popularnim Winamp-om, nešto detaljnije upoznati SHOUTcast skupinom programa.

Snimci SHOUTcast DSP plugina prikazani su na slici 2.11.

 

Slika 2.11. Snimci SHOUTcast DSP-a

SHOUTcast DSP se sastoji od četiri "kartice". Na slici 2.12.a prikazana je kartica Main. Ona nam daje trenutni status izlaza shoutera. Na drugoj kartici (sl. 2.12.b i c) konfiguriramo izlaze shoutera, i to:

·        IP adresu i port na kojem je server

·        lozinku izvora zvuka

·        enkoder koji će izlaz koristiti

·        opis, žanr, URL i druge podatke radio stanice za objavljivanje na directory serveru (yp.shoutcast.com)

Na kartici Encoder (sl. 2.12.d) definiramo bitrate-ove u kojima ćemo emitirati program na izlaze shoutera. Na zadnjoj kartici (sl. 2.12.e) biramo ulaz u shoutere koji je inicijalno namješten na Winamp.

 

Snimak SHOUTcast DNAS servera prikazani su na slici 2.13.

 

Slika 2.13. Snimak SHOUTcast DNAS servera

 

Server konfiguriramo putem skripte (sc_serv.ini) koju editiramo u nekom od editora ili klikom na menu Edit config. Server se pokreće naredbom:

sc_serv.exe kofiguracijska_datoteka

npr.

sc_serv.exe sc_server1.conf

Neke od varijabli u kofiguracijskoj skripti su:

 

Obavezni dio

·        MaxUser.  Maksimalni broj slušatelja. MaxUser=32

·        Password.  Lozinka za shouter. Password=changeme

·        PortBase. IP port na kojem se nalazi server. Port+1 je zauzet shouter-om. PortBase=8000

 

Opcionalni dio

·        LogFile: datoteka u koju će se zapisivati log. Može biti '/dev/null' ili 'none' ili prazno da se isključi logiranje. LogFile=sc_serv.log

·        ShowLastSongs specificira koliko pjesama da se ispiše u /played.html. Broj između 1 i 20. ShowLastSongs=10

 

Mrežna konfiguracija

·        SrcIP, interface na kojem slušamo shouter ili server za repeticiju. SrcIP=ANY

·        RelayPort and RelayServer. IP adresa i port servera čiji ćemo program repetirati. RelayPort=8000; RelayServer=192.168.1.58

 

Konfiguracija servera:

·        AdminPassword.  AdminPassword=adminpass

·        ContentDir specificira direktorij odakle će server emitirati datoteke ako ne koristimo shouter. ContentDir=./content

·        BackupFile. Koji mp3 da emitiramo ako shouter "pukne". BackupFile=C:\intro.mp3

·        TitleFormat. Kako će se zvati stream koji šaljemo slušateljima. TitleFormat=PVPRM Radio

·        AllowRelay. Dozvola za relay server. AllowRelay=Yes

 

 

 

2.7.2. Linux platforma

 

 

Na Linux platformi također postoji nekoliko kvalitetnih programskih rješenja. Na slici 2.14. prikazan je snimak Linux desktopa na kojem je pokrenut sustav koji se sastoji od:

·        XMMS

o       Winamp-ov pandan na Linux platformi

·        LiveIce (Linux)

o       linux pandan SHOUTcast DSP-u. Plugin za XMMS (bivši x11amp).

·        SHOUTcast DNAS

o       Linux verzija već opisanog servera

Slika 2.14. Linux desktop sa pokrenutim XMMS/LiveIce/SHOUTcast sustavom

 

Konfigururanje ove Linux kombinacije programa je vrlo slično opisanoj Windows instalaciji, pa se tu nećemo više zadržavati.

 

Možda najčešća kombinacija na Linux platformi je kombinacija IceCast-ovih proizvoda:

·        Shout

o       shouter koji emitira zvuk iz mp3 datoteka iz fiksnog direktorija

·        IceCast

o       server

 

Na slici 2.14. prikazan je snimak Linux desktopa sa pokrenutim Shout/IceCast sustavom. Ni jedan od ovih programa nema GUI. Konfiguriraju se putem konfiguracijskih skripti, a pokreću iz Linux terminala.

 

 

 

 

Slika 2.13. Snimak Shout/IceCast instalacije na Linux platformi

 

Osim gore navedenih programskih aplikacija postoje još neka alternativna rješenja:

·        oddcast DSP (Windows)

o       plugin za Winamp koji može opsluživati i SHOUTcast i IceCast. Prilično nestabilan. Nećemo ga upotrebljavati na računalu koje nema hard reset tipku.

·        DarkIce (Linux)

o       zvuk sa Line In priključka zvučne kartice kodira i prosljeđuje serveru.

 

Shouter pod Linux-om možemo napisati i sami. Skripta pisana u Perl-u uz korištenje Lame ili nekog drugog codeca će odlično obaviti ovaj posao.

 

 

 

 

 

 

 

 

 

2.8. Karika koja nedostaje

 

 

U ovom poglavlju prikazani software će nas u potpunosti zadovoljiti ako želimo emitirati program iz fiksne playliste (fiksni direktorij), "varijabilne" playliste (Winamp, XMMS) ili sa ulaza u zvučnu karticu (Line In). No, na tržištu, možemo uočiti nedostatak poograma za stvarno miksanje zvuka iz više različitih izvora. Na slici 2.14. prikazana je blok shema programa koji bi za tu svrhu bio dobar.

Slika 2.14. Shematski prikaz potrebnog programa

 

Program bi bio modularan i trebao bi omogućiti priključenje bilo kojeg izvora zvuka, obradu pojedinačnih kanala, završnu "master" obradu i emitiranje prema serveru putem shoutera.

U očekivanju ovakvog programa dodatne informacije o svemu izloženome potražite na web stranicama:

 

·        pvprm.zesoi.fer.hr/studenti-rad/seminar_radio

·        www.shoutcast.com

·        www.icecast.com