Tutoriali i mëposhtëm shpjegon se si të konfiguroni një server transmetimi radio IceCast dhe të luani skedarë audio (muzikë ose podkaste) në platformën FreeBSD. Ky tutorial supozon se ju po ekzekutoni FreeBSD 10.0 ose më të lartë dhe se jeni regjistruar si përdorues rrënjë. Ai gjithashtu supozoi se keni një redaktues teksti për të modifikuar skedarët e konfigurimit.
Para se të fillojmë, është e rëndësishme të kuptojmë tre pjesët e një serveri të transmetimit audio. Së pari, ne kemi vetë softuerin e serverit, IceCast. IceCast vepron si një qendër qendrore ku transmetimet audio hyjnë dhe dërgohen. Shërbimi IceCast merr transmetime audio nga klientët burim. Klientët burim janë programe që lexojnë skedarë audio ose burime të tjera audio, të tilla si mikrofonat. Në shembullin tonë, klienti burim është Ices dhe ai furnizon një transmetim audio në serverin IceCast. Komponenti i tretë është një klient që dëgjon. Transmetimet audio udhëtojnë nga serveri IceCast te dëgjuesit të cilët më pas dëgjojnë audion. Zakonisht një klient që dëgjon është një aplikacion desktopi, si p.sh. një shfletues ueb, luajtësi multimedial VLC ose WinAMP. Vizualisht, marrëveshja duket si kjo:
Source client (Ices) --> IceCast server --> Listening client (browser)
Për të konfiguruar një server transmetimi IceCast në FreeBSD, ne fillimisht instalojmë vetë softuerin e serverit. Kjo mund të bëhet duke ekzekutuar komandën e mëposhtme.
pkg install icecast2
Më pas hapim /etc/rc.confskedarin dhe aktivizojmë shërbimin e sfondit IceCast. Kjo bëhet duke shtuar tekstin e mëposhtëm në fund të /etc/rc.confskedarit.
icecast_enable="YES"
Hapi ynë tjetër është të konfigurojmë shërbimin IceCast. Paketa IceCast dërgohet me një skedar konfigurimi mostër që ne mund ta modifikojmë. Ky skedar mostër ndodhet në /usr/local/etcdrejtori. Ne do të bëjmë një kopje të këtij skedari mostër përpara se ta modifikojmë.
cd /usr/local/etc
cp icecast.xml.sample icecast.xml
Tani duam të modifikojmë disa fusha kryesore të icecast.xmlskedarit. Shumica e skedarit mund të lihet me cilësimet e paracaktuara, por ne duhet të ndryshojmë informacionin e hyrjes. Ne mund ta bëjmë këtë duke vizituar authentication seksionin (at line rreth 30) dhe ndryshimin e burim-fjalekalimin dhe rele-fjalëkalimin për diçka të përshtatshme. Këto fjalëkalime do të na lejojnë të transmetojmë të dhëna në serverin IceCast nga një klient burim. Ne gjithashtu duhet të ndryshojmë variablat admin-user dhe admin-password në diçka unike për sistemin tonë. Këto dy kredenciale ruajnë ndërfaqen e bazuar në ueb të serverit IceCast. Më pas, rreth rreshtit 150, duhet të ndryshojmë variablat mount-name , username , dhefjalëkalim . Këto tre variabla mbrojnë pikën e montimit të serverit IceCast. Së fundi, në fund të icecast.xmlskedarit duhet të shohim një seksion sigurie që është komentuar. Ne duhet të heqim simbolet e hapjes <-- dhe mbylljes --> nga paragrafi i sigurisë . Pasi icecast.xmlskedari të jetë ndryshuar, ruani skedarin.
Pasi skedari i konfigurimit të jetë redaktuar, ne duam të aktivizojmë regjistrimin. Për ta bërë këtë, ekzekutoni komandat e mëposhtme.
mkdir /var/log/icecast
chown nobody:nogroup /var/log/icecast
Më në fund, ne fillojmë serverin IceCast, Kjo bën që serveri të dëgjojë për lidhjet e hyrjes dhe klientit në hyrje.
service icecast2 start
Serveri IceCast është në funksion dhe funksionon, kështu që tani duhet t'i ofrojmë diçka për të luajtur. Hapi ynë i ardhshëm është instalimi i klientit burim Ices. FreeBSD aktualisht nuk ofron një paketë binare për Ices, kështu që ne duhet ta ndërtojmë atë nga portet. Kjo mund të bëhet duke ekzekutuar komandat e mëposhtme.
portsnap fetch
portsnap extract
cd /usr/ports/audio/ices
make install
make clean
Klienti i burimit të Ices do të ketë nevojë për një llogari përdoruesi dhe regjistrim. Për të krijuar një përdorues për softuerin Ices dhe për të vendosur një fjalëkalim në llogari, ekzekutoni këto komanda.
pw groupadd ice
pw useradd ices -g ice -m
passwd ices
Me përdoruesin e krijuar, tani mund të aktivizojmë regjistrimin për Ices.
mkdir /var/log/ices
chown ices:ice /var/log/ices
Nga këtu e tutje, ne nuk duhet të kemi më nevojë për qasje të përdoruesit rrënjë dhe mund të operojmë si përdorues i akullit . Më pas, ne duhet të krijojmë dy drejtori. Një direktori, music, do të përmbajë skedarët audio që ne do të transmetojmë. Drejtoria e dytë, conf, do të përmbajë skedarët tanë të konfigurimit.
su ices
cd /home/ices
mkdir music conf
cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml
Tani kemi një skedar konfigurimi mostër në vend. Është koha për të redaktuar conf/configuration.xmlskedarin për t'iu përshtatur mjedisit tonë. Të vetmet pjesë të skedarit që duhet të ndryshojmë janë poshtë rreth rreshtit 60. Këtu duhet të japim fjalëkalimin dhe vendndodhjen e montimit që kemi vendosur në icecast.xmlskedar. Për shembull, nëse vendosim emrin tonë të montimit në icecast.xmlskedar të jetë /radio.ogg, atëherë duhet të ndryshojmë parametrin configuration.xmle montimit të skedarit tonë në gjithashtu të jetë /radio.ogg. Fusha jonë e fjalëkalimitconfiguration.xml duhet të përputhet me fjalëkalimin-burim që kemi krijuar në icecast.xmlskedar. Pasi configuration.xmlskedari ynë të jetë redaktuar, do të na duhet të ruajmë ndryshimet tona.
Me skedarin e konfigurimit në vend, hapi tjetër duhet të jetë kopjimi i skedarëve audio që dëshirojmë t'i transmetojmë në musicdrejtori. Skedarët audio duhet të jenë të gjithë në .oggformat pasi IceCast nuk do të trajtojë .mp3skedarët me cilësimet e tij të paracaktuara. Pasi të gjithë skedarët audio që dëshirojmë të transmetojmë janë në musicdrejtori, ne duhet të krijojmë një listë dëgjimi. Lista e luajtjes është një skedar teksti i thjeshtë me një listë të muzikës që duam të transmetojmë. Mund të krijojmë lehtësisht një listë dëgjimi me komandat e mëposhtme.
cd /home/ices/conf
ls -d ../music/*.ogg > playlist.txt
Skedarët audio do të luhen sipas radhës që shfaqen në playlist.txtskedar. Skedari mund të modifikohet në çdo redaktues teksti për të rregulluar rendin e transmetimit të audios.
Gjithçka që duhet të bëjmë për të filluar transmetimin e skedarëve tanë audio është të ekzekutojmë këtë komandë.
ices configuration.xml
Shënim anësor: Shpesh ne mund të dëshirojmë të ekzekutojmë klientin burim Ices dhe më pas të dalim dhe të shkojmë të bëjmë diçka tjetër. Në atë rast, më pëlqen të ekzekutoj Ices nga brenda një sesioni ekrani . Këtu është një shembull se si të ekzekutoni akull me ekran.
screen
cd /home/ices/conf
ices configuration.xml
Më pas shtypni Ctrl + A dhe prekni tastin D. Kjo do të shkëputë seancën e ekranit dhe do të na lejojë të dalim ndërsa Ices luan audio në sfond. Më vonë, ne mund të ndalojmë Ices duke u identifikuar dhe duke ekzekutuar:
screen -r
killall ices
exit
Tani mund të lidhemi me serverin tonë në portin 8000 në një shfletues uebi për të dëgjuar transmetimin tonë audio. URL-ja do të duket si http://myservername:8000. Kjo adresë mund të ofrohet publikisht nëse dëshiron t'i lejosh të tjerët të dëgjojnë transmetimin.
Më herët, përmenda se IceCast luan .oggskedarë dhe jo .mp3. Kjo është mjaft e lehtë për t'u kapërcyer në FreeBSD. Si përdorues rrënjë, ne mund të instalojmë një mjet konvertimi, të quajtur sox , i cili do të konvertojë .mp3skedarët tanë në .oggskedarë. Duke supozuar se të gjithë .mp3skedarët tanë janë në /home/ices/musicdrejtori, ne mund të instalojmë sox dhe të kryejmë një konvertim si më poshtë:
pkg install sox
cd /home/ices/music
for i in *.mp3; do sox ./"$i" ./"$i".ogg; done
Më pas mund të rifreskojmë listën tonë të luajtjes duke përdorur:
cd ../conf
ls -d ../music/*.ogg > playlist.txt
Ju lutemi mbani në mend se transmetimi audio mund të jetë intensiv në gjerësi bande. Një ose dy klientë që dëgjojnë stacionin tonë të radios nuk do të kërkojnë shumë gjerësi bande, por 50 ose më shumë klientë mund të shtyjnë një server mbi gjerësinë e brezit të caktuar mujor. Është një ide e mirë të aktivizoni mbulimin e gjerësisë së brezit në serverin e transmetimit për të shmangur kostot e papritura financiare.