среда, 24 априла, 2024
Сам свој мајстор

Icecast streaming сервер

Аутор: Гаврило Продановић

Радио је доста стара технологија а данас свако има бар један пријемник у кући. Радио, такође, постоји и на интернету а на линукс систему постоји више начина да га „направите“. Један од тих начина је Icecast сервер.

Icecast је направљен тако да je као самосталан програм потпуно бескористан. Подразумева се да ће Вам требати клијент као што је MPlayer али ће вам требати и извор садржаја (source). Захваљујући таквој модуларној имплементацији, Icecast сервер добија музику или неки други садржај из извора и то прослеђује слушаоцима, односно клијентима. Извор и Icecast сервер не морају бити на истој машини а Icecast може да има и по неколико извора. Али да не дужимо превише, почећемо са подешавањем наше радио станице.

Прво ћемо подесити Icecast. На системима налик на Debian инсталираћемо га са:

# apt-get install icecast2

После инсталација потребно је да изменимо подразумевану конфигурацију. Прво ћемо укључити daemon тако што ћемо изменити последњу линију у /etc/default/icecast2.

# editor /etc/default/icecast2
ENABLE=TRUE

После тога ћемо изменити конфигурациону датотеку icecast2 сервера. Променићемо default лозинке и тиме учинити да будемо сигурнији.

# editor /etc/icecast2/icecast.xml

Icecast своју конфигурацију чува у облику xml датотеке. Ако никада нисте радили са xml-ом, нема потребе за страхом јер се он схвата једноставно, такорећи на први поглед. Првих неколико линија говори о ограничењима: колико клијената или извора може бити истовремено повезано. То за сада нећемо дирати него ћемо мењати линију која почиње <authentication> заглављем. Ту ћемо да изменимо лозинке за source, relay и admin кориснике. Source корисник користиће, даље у тексту, програм који ће бити извор садржаја. Relay корисник нам у нашем чланку неће бити потребан али свеједно, промените лозинку. У admin корисника спада администратор Icecast сервера који ће бити у могућности да управља њиме преко web странице. Следеће линије је потребно променити:

[code]<source-password>;lozinka1</source-password>
<relay-password>lozinka2</relay-password>
<admin-password>jakalozinka3</admin-password>[/code]

Скептици могу променити и <admin-user> ако ће им то помоћи да се осећају мирније. Сачувајте промене и време је да Icecast ставимо у функцију:

# /etc/init.d/icecast2 restart

Ако сте све добро урадили, добићете Icecast страницу на адреси http://localhost:8000 у своме прегледачу. Изгледа празно али је то знак да сте све добро подесили.

Следеће што је потребно да подесите је неки извор садржаја. Постоји много разних извора: извор може да буде листа песама или capture са Ваше звучне картице. Такође постоји и више програма који могу да буду извор а међу њима су mpd и ices. Ми ћемо овде да подесимо mpd као извор а о њему је било речи у броју 4. Кораци за подешавање mpd-а су следећи:

# apt-get install mpd
# editor /etc/mpd.conf

Прво ћемо изменити линију „music_directory“ и ставити Вашу локацију до музике:

music_directory         "/home/Muzika"

Пронађите линије које почињу са

audio_output {
        type            "alsa"

и додајте коментар на све линије до } (укључујући и овај знак). То смо урадили зато што не желимо да mpd даје излаз на звучнике него ћемо његов излаз усмерити као извор за наш Icecast сервер. Пронађите линије које почињу са:

#audio_output {
#       type            "shout"

Скините коментар са свих линија али оставите коментар на линији „quality“. Мораћете променити линију са лозинком:

password        "lozinka2"

Host и port промените ако се mpd налази на другом рачунару или ако сте изменили да Icecast слуша на другом порту. Bitrate говори о квалитету streaming-а, ако имате слаб проток на серверу, bitrate можете ставити на нижу вредност – 64 на пример. Ваш садржај биће емитован у моно формату а ако желите стерео, онда промените ову линију:

format          "44100:16:2"

Линија коју ћемо детаљније објаснити је mount. Помоћу mount point-а клијенти приступају Вашем stream-у (извору). Ако ставимо линију mount “/muzika.ogg”, онда ћемо наш streaming слушати преко адресе http://localhost:8000/muzika.ogg. На серверу се не могу појавити два извора са истим mount point-ом. Сваки извор мора дефинисати свој јединствени mount point. Ми ћемо mount да подесимо овако:

mount           "/live.ogg"

Такође, можемо изабрати формат датотеке преко encode линије. Можемо бирати између mp3 или ogg. За сада ћемо оставити ogg али ако Ви изаберете mp3, не заборавите да промените екстензију за mountpoint у “/live.mp3” Линије које можете слободно променити по жељи су: name, description i genre. Линије type, protocol, user и public ми овде нећемо мењати. Линију quality смо оставили под коментаром а помоћу ње задајете квалитет у распону од 0 до 10. За ogg формат већи број озачава већи квалитет, док је за mp3 обрнуто. Quality и bitrate не могу ићи заједно.

Сада је време да ставимо наш радио у функцију. Пре свега требаће нам неки клијент помоћу којег управљамо mpd-ом. Ми ћемо овде користити mpc.

[code]# аpt-get install mpc
# /etc/init.d/mpd restart
# mpc update –wait # Помоћу ове линије ажурирамо базу са новим песмама
# mpc ls | mpd add # Да додамо све наше песме у листу песама
# mpc play # И на крају да пустимо нашу музику.[/code]

И дошло је време да проверимо да ли све ради. Отворимо поново Icecast страницу http://localhost:8000 и видећемо да је сада испуњена садржајем. Ако желите да чујете музику са вашег радија, отворите линк http://localhost:8000/live.ogg неким аудио-клијентом као што је МPlayer али можете користити и онај који је уграђен у прегледач ако постоји. Ако чујете Вашу омиљену песму, онда сте све учинили добро. Али посао не мора да буде готов. Ако желите да Ваш радио буде доступан Вашим пријатељима са интернета, преусмерите port 8000 са рутера на Ваш рачунар. Можете направити више излаза у mpd.conf:: један са високим квалитетом када слушате из локалне мреже и један са ниским квалитетом када слушате са интернета. Приметио сам да се неки клијенти зауставе након што се песма заврши а онда се мора ресетовати конекција да би почела друга песма. Ово се може решити тако што encode промените на mp3. Ако користите Debian 6, мораћете ручно да компајлирате mpd да бисте укључили подршку за mp3 или да узмете mpd пакет из testing repo-a.

Линкови корисних илустрација са интернета:

http://liveice.sourceforge.net/gfx/logical.png
http://liveice.sourceforge.net/gfx/networklayout.png