Следећи водич објашњава како да подесите ИцеЦаст радио стриминг сервер и репродукујете аудио датотеке (музику или подкастове) на ФрееБСД платформи. Овај водич претпоставља да користите ФрееБСД 10.0 или новију верзију и да сте пријављени као роот корисник. Такође се претпоставља да имате уређивач текста за уређивање конфигурационих датотека.
Пре него што почнемо, важно је разумети три дела сервера за стриминг звука. Прво, имамо сам серверски софтвер, ИцеЦаст. ИцеЦаст делује као централно чвориште где аудио токови улазе и шаљу се. Услуга ИцеЦаст преузима аудио стримове са изворних клијената. Изворни клијенти су програми који читају аудио датотеке или друге изворе звука, као што су микрофони. У нашем примеру, изворни клијент је Ицес и он испоручује аудио ток на ИцеЦаст сервер. Трећа компонента је клијент који слуша. Аудио токови путују са ИцеЦаст сервера до слушалаца који затим чују звук. Обично је клијент за слушање десктоп апликација, као што је веб претраживач, ВЛЦ мултимедијални плејер или ВинАМП. Визуелно, аранжман изгледа овако:
Source client (Ices) --> IceCast server --> Listening client (browser)
Да бисмо подесили ИцеЦаст сервер за стриминг на ФрееБСД-у, прво инсталирамо сам серверски софтвер. Ово се може урадити покретањем следеће команде.
pkg install icecast2
Затим отварамо /etc/rc.confдатотеку и омогућавамо услугу ИцеЦаст у позадини. Ово се ради додавањем следећег текста на дно /etc/rc.confдатотеке.
icecast_enable="YES"
Наш следећи корак је да конфигуришемо ИцеЦаст услугу. Пакет ИцеЦаст се испоручује са примером конфигурационе датотеке коју можемо да изменимо. Овај узорак датотеке се налази у /usr/local/etcдиректоријуму. Направићемо копију овог узорка датотеке пре него што је уредимо.
cd /usr/local/etc
cp icecast.xml.sample icecast.xml
Сада желимо да уредимо неколико кључних поља icecast.xmlдатотеке. Већину датотеке можемо оставити са подразумеваним подешавањима, али би требало да променимо информације за пријаву. То можемо да урадимо тако што ћемо посетити одељак за аутентификацију (око 30. реда) и променити шифру извора и лозинку за пренос у нешто прикладно. Ове лозинке ће нам омогућити да стримујемо податке на ИцеЦаст сервер са изворног клијента. Такође би требало да променимо променљиве админ-усер и админ- пассворд у нешто јединствено за наш систем. Ова два акредитива чувају веб интерфејс ИцеЦаст сервера. Затим, око 150. реда, требало би да променимо променљиве име-моунт , корисничко име илозинка . Ове три варијабле штите тачку монтирања ИцеЦаст сервера. Коначно, на дну icecast.xmlдатотеке требало би да видимо безбедносни одељак који је коментарисан. Требало би да уклонимо симболе за отварање <-- и затварање --> из безбедносног пасуса. Када се icecast.xmlдатотека промени, сачувајте датотеку.
Када је конфигурациона датотека уређена, желимо да омогућимо евидентирање. Да бисте то урадили, покрените следеће команде.
mkdir /var/log/icecast
chown nobody:nogroup /var/log/icecast
Коначно, покрећемо ИцеЦаст сервер, што доводи до тога да сервер слуша улазне и долазне клијентске везе.
service icecast2 start
ИцеЦаст сервер је у функцији, тако да сада морамо да му обезбедимо нешто за играње. Наш следећи корак је да инсталирамо Ицес изворни клијент. ФрееБСД тренутно не нуди бинарни пакет за Ицес, тако да морамо да га направимо из портова. Ово се може урадити покретањем следећих команди.
portsnap fetch
portsnap extract
cd /usr/ports/audio/ices
make install
make clean
Ицес изворном клијенту ће бити потребан кориснички налог и евидентирање. Да бисте креирали корисника за софтвер Ицес и поставили лозинку за налог, покрените ове команде.
pw groupadd ice
pw useradd ices -g ice -m
passwd ices
Са креираним корисником, сада можемо омогућити евидентирање за Ицес.
mkdir /var/log/ices
chown ices:ice /var/log/ices
Од сада па надаље, више нам не треба приступ роот корисника и можемо да радимо као ице корисник. Затим морамо да креирамо два директоријума. Један директоријум, music, ће садржати аудио датотеке које ћемо стримовати. Други директоријум, conf, ће садржати наше конфигурационе датотеке.
su ices
cd /home/ices
mkdir music conf
cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml
Сада имамо пример конфигурационе датотеке. Време је да уредите conf/configuration.xmlдатотеку тако да одговара нашем окружењу. Једини делови датотеке које треба да променимо су доле око реда 60. Овде треба да наведемо лозинку и локацију за монтирање коју смо поставили у icecast.xmlдатотеци. На пример, ако подесимо наше име за монтирање у icecast.xmlдатотеци на /radio.ogg, онда би требало да променимо и параметар монтирања наше configuration.xmlдатотеке тако да буде . Наше поље за лозинку у треба да се подудара са изворном лозинком коју смо креирали у датотеци. Када се наш фајл уреди, мораћемо да сачувамо промене./radio.oggconfiguration.xmlicecast.xmlconfiguration.xml
Са конфигурационим фајлом на месту, следећи корак би требало да буде копирање аудио датотека које желимо да стримујемо у musicдиректоријум. Све аудио датотеке треба да буду у .oggформату јер ИцеЦаст неће руковати .mp3датотекама са својим подразумеваним поставкама. Када се све аудио датотеке које желимо да стримујемо буду у musicдиректоријуму, морамо да креирамо листу за репродукцију. Листа за репродукцију је обична текстуална датотека са листом музике коју желимо да стримујемо. Лако можемо да креирамо листу песама помоћу следећих команди.
cd /home/ices/conf
ls -d ../music/*.ogg > playlist.txt
Аудио датотеке ће се репродуковати оним редоследом којим се појављују у playlist.txtдатотеци. Датотека се може уређивати у било ком уређивачу текста да бисте подесили редослед стримовања звука.
Све што треба да урадимо да започнемо стриминг наших аудио датотека је да покренемо ову команду.
ices configuration.xml
Напомена: Често ћемо можда желети да покренемо Ицес изворни клијент, а затим се одјавимо и урадимо нешто друго. У том случају, волим да покрећем Ицес у оквиру сесије екрана . Ево примера како да покренете ицес са екраном.
screen
cd /home/ices/conf
ices configuration.xml
Затим притисните Цтрл + А и додирните тастер Д. То ће одвојити сесију екрана и омогућити нам да се одјавимо док Ицес пушта аудио у позадини. Касније можемо зауставити Ицес тако што ћемо се пријавити и покренути:
screen -r
killall ices
exit
Сада можемо да се повежемо са нашим сервером на порту 8000 у веб претраживачу да бисмо слушали наш аудио стреам. УРЛ ће изгледати као http://myservername:8000. Ова адреса може бити јавно доступна ако желите да дозволите другима да слушају стрим.
Раније сам споменуо да ИцеЦаст репродукује .oggдатотеке, а не .mp3. Ово је прилично лако превазићи на ФрееБСД-у. Као роот корисник, можемо да инсталирамо алатку за конверзију, названу сок , која ће конвертовати наше .mp3датотеке у .oggдатотеке. Под претпоставком да су све наше .mp3датотеке у /home/ices/musicдиректоријуму, можемо да инсталирамо сок и извршимо конверзију на следећи начин:
pkg install sox
cd /home/ices/music
for i in *.mp3; do sox ./"$i" ./"$i".ogg; done
Затим можемо освежити нашу листу песама користећи:
cd ../conf
ls -d ../music/*.ogg > playlist.txt
Имајте на уму да аудио стримовање може бити интензивно на пропусном опсегу. Један или два клијента који слушају нашу радио станицу неће захтевати много пропусног опсега, али 50 или више клијената може да гурне сервер преко додељеног месечног пропусног опсега. Добра је идеја омогућити ограничење пропусног опсега на серверу за стриминг да бисте избегли неочекиване финансијске трошкове.