Radioströmning på FreeBSD 10 med IceCast och Ices

Följande handledning förklarar hur man ställer in en IceCast-radioströmningsserver och spelar upp ljudfiler (musik eller poddsändningar) på FreeBSD-plattformen. Denna handledning förutsätter att du kör FreeBSD 10.0 eller högre och att du är inloggad som root-användare. Det antog också att du har en textredigerare för att redigera konfigurationsfiler.

Innan vi börjar är det viktigt att förstå de tre delarna av en ljudströmningsserver. Först har vi själva servermjukvaran, IceCast. IceCast fungerar som ett centralt nav där ljudströmmar kommer in och skickas ut. IceCast-tjänsten tar in ljudströmmar från källklienter. Källklienter är program som läser ljudfiler eller andra ljudkällor, till exempel mikrofoner. I vårt exempel är källklienten Ices och den levererar en ljudström till IceCast-servern. Den tredje komponenten är en lyssnande klient. Ljudströmmar går från IceCast-servern till lyssnare som sedan hör ljudet. En lyssningsklient är vanligtvis ett skrivbordsprogram, såsom en webbläsare, VLC multimediaspelare eller WinAMP. Visuellt ser arrangemanget ut så här:

 Source client (Ices) --> IceCast server --> Listening client (browser)

För att sätta upp en IceCast-strömningsserver på FreeBSD installerar vi först själva servermjukvaran. Detta kan göras genom att köra följande kommando.

 pkg install icecast2

Vi öppnar sedan /etc/rc.conffilen och aktiverar bakgrundstjänsten IceCast. Detta görs genom att lägga till följande text längst ner i /etc/rc.conffilen.

 icecast_enable="YES"

Vårt nästa steg är att konfigurera IceCast-tjänsten. IceCast-paketet levereras med ett exempel på en konfigurationsfil som vi kan ändra. Denna exempelfil finns i /usr/local/etckatalogen. Vi kommer att göra en kopia av denna exempelfil innan vi redigerar den.

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

Vi vill nu redigera några nyckelfält i icecast.xmlfilen. Det mesta av filen kan lämnas med standardinställningarna, men vi bör ändra inloggningsinformationen. Vi kan göra detta genom att besöka autentiseringssektionen (vid ungefär rad 30) och ändra källlösenordet och relälösenordet till något lämpligt. Dessa lösenord gör det möjligt för oss att strömma data till IceCast-servern från en källklient. Vi bör också ändra admin-user och admin-lösenordsvariablerna till något unikt för vårt system. Dessa två referenser skyddar IceCast-serverns webbaserade gränssnitt. Sedan, runt rad 150, bör vi ändra variablerna mount-name , username , ochlösenord . Dessa tre variabler skyddar IceCast-serverns monteringspunkt. Slutligen, längst ner i icecast.xmlfilen bör vi se en säkerhetssektion som har kommenterats ut. Vi bör ta bort öppningssymbolerna <-- och avslutande --> runt säkerhetsparagrafen . När icecast.xmlfilen har ändrats, spara filen.

När konfigurationsfilen har redigerats vill vi aktivera loggning. För att göra detta, kör följande kommandon.

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

Slutligen startar vi IceCast-servern, vilket gör att servern lyssnar efter input och inkommande klientanslutningar.

 service icecast2 start

IceCast-servern är igång, så nu måste vi förse den med något att spela. Vårt nästa steg är att installera Ices source-klienten. FreeBSD erbjuder för närvarande inte ett binärt paket för Ices, så vi måste bygga det från portar. Detta kan göras genom att köra följande kommandon.

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

Ices-källklienten kommer att behöva ett användarkonto och loggning. För att skapa en användare för Ices-mjukvaran och ställa in ett lösenord på kontot, kör dessa kommandon.

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

Med användaren skapad kan vi nu aktivera loggning för Ices.

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

Från och med nu ska vi inte längre behöva root-användaråtkomst och kan fungera som ices- användare. Därefter måste vi skapa två kataloger. En katalog, music, kommer att innehålla ljudfilerna som vi ska streama. Den andra katalogen, conf, kommer att innehålla våra konfigurationsfiler.

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

Vi har nu ett exempel på en konfigurationsfil på plats. Det är dags att redigera conf/configuration.xmlfilen så att den passar vår miljö. De enda delarna av filen som vi behöver ändra är nere runt rad 60. Här måste vi ange lösenordet och monteringsplatsen vi anger i icecast.xmlfilen. Till exempel, om vi ställer in vårt monteringsnamn i icecast.xmlfilen till att vara /radio.ogg, då bör vi ändra vår configuration.xmlfils monteringsparameter till att också vara /radio.ogg. Vårt lösenordsfält i configuration.xmlbör matcha källlösenordet vi skapade i icecast.xmlfilen. När vår configuration.xmlfil har redigerats måste vi spara våra ändringar.

Med konfigurationsfilen på plats bör nästa steg vara att kopiera ljudfiler som vi vill strömma till musickatalogen. Ljudfilerna bör alla vara i .oggformat eftersom IceCast inte kommer att hantera .mp3filer med sina standardinställningar. När alla ljudfiler som vi vill strömma finns i musickatalogen måste vi skapa en spellista. En spellista är en vanlig textfil med en lista över musiken som vi vill streama. Vi kan enkelt skapa en spellista med följande kommandon.

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

Ljudfilerna kommer att spelas upp i den ordning de visas i playlist.txtfilen. Filen kan redigeras i valfri textredigerare för att justera ordningen på det strömmande ljudet.

Allt vi behöver göra för att börja streama våra ljudfiler är att köra det här kommandot.

 ices configuration.xml

Sidanteckning: Ofta kanske vi vill köra Ices-källklienten och sedan logga ut och göra något annat. I så fall, jag gillar att köra Ices inifrån en skärm session. Här är ett exempel på hur man kör isar med skärm.

 screen
 cd /home/ices/conf
 ices configuration.xml

Tryck sedan på Ctrl + A och tryck på D- tangenten. Det kommer att ta bort skärmsessionen och tillåta oss att logga ut medan Ices spelar upp ljud i bakgrunden. Senare kan vi stoppa Ices genom att logga in och köra:

 screen -r
 killall ices
 exit

Vi kan nu ansluta till vår server på port 8000 i en webbläsare för att lyssna på vår ljudström. URL:en kommer att se ut http://myservername:8000. Den här adressen kan göras allmänt tillgänglig om du vill låta andra lyssna på streamen.

Tidigare nämnde jag att IceCast spelar upp .oggfiler och inte .mp3. Detta är ganska lätt att övervinna på FreeBSD. Som root-användare kan vi installera ett konverteringsverktyg, kallat sox , som konverterar våra .mp3filer till .oggfiler. Förutsatt att alla våra .mp3filer finns i /home/ices/musickatalogen kan vi installera sox och utföra en konvertering enligt följande:

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

Vi kan sedan uppdatera vår spellista med:

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

Tänk på att ljudströmning kan vara bandbreddskrävande. En eller två klienter som lyssnar på vår radiostation kommer inte att kräva mycket bandbredd, men 50 eller fler klienter kan pressa en server över dess tilldelade månatliga bandbredd. Det är en bra idé att aktivera bandbreddstak på streamingservern för att undvika oväntade ekonomiska kostnader.

Lämna en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Artificiell intelligens är inte i framtiden, det är här i nuet I den här bloggen Läs hur Artificiell intelligens-applikationer har påverkat olika sektorer.

DDOS-attacker: En kort översikt

DDOS-attacker: En kort översikt

Är du också ett offer för DDOS-attacker och förvirrad över de förebyggande metoderna? Läs den här artikeln för att lösa dina frågor.

Har du någonsin undrat hur hackare tjänar pengar?

Har du någonsin undrat hur hackare tjänar pengar?

Du kanske har hört att hackare tjänar mycket pengar, men har du någonsin undrat hur de tjänar den typen av pengar? låt oss diskutera.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Revolutionerande uppfinningar från Google som gör ditt liv lätt.

Vill du se revolutionerande uppfinningar av Google och hur dessa uppfinningar förändrade livet för varje människa idag? Läs sedan till bloggen för att se uppfinningar av Google.

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Fredag ​​Essential: Vad hände med AI-drivna bilar?

Konceptet med att självkörande bilar ska ut på vägarna med hjälp av artificiell intelligens är en dröm vi har ett tag nu. Men trots flera löften finns de ingenstans att se. Läs den här bloggen för att lära dig mer...

Technological Singularity: A Distant Future of Human Civilization?

Technological Singularity: A Distant Future of Human Civilization?

När vetenskapen utvecklas i snabb takt och tar över en hel del av våra ansträngningar, ökar också riskerna för att utsätta oss för en oförklarlig singularitet. Läs, vad singularitet kan betyda för oss.

Funktioner för Big Data Reference Architecture Layers

Funktioner för Big Data Reference Architecture Layers

Läs bloggen för att känna till olika lager i Big Data Architecture och deras funktionaliteter på enklaste sätt.

Utveckling av datalagring – Infographic

Utveckling av datalagring – Infographic

Lagringsmetoderna för data har utvecklats kan vara sedan födelsen av data. Den här bloggen tar upp utvecklingen av datalagring på basis av en infografik.

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

6 fantastiska fördelar med att ha smarta hemenheter i våra liv

I denna digitala värld har smarta hemenheter blivit en avgörande del av livet. Här är några fantastiska fördelar med smarta hemenheter om hur de gör vårt liv värt att leva och enklare.

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

macOS Catalina 10.15.4 tilläggsuppdatering orsakar fler problem än att lösa

Nyligen släppte Apple macOS Catalina 10.15.4, en tilläggsuppdatering för att åtgärda problem, men det verkar som om uppdateringen orsakar fler problem som leder till att mac-datorer blir murade. Läs den här artikeln för att lära dig mer