Ó Josip Dean
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.
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.
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
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
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).
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
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
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.
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