Radioströmning på FreeBSD 10 med IceCast och Ices

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.


Hur man installerar Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Hur man installerar Tiny Tiny RSS Reader på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Tiny Tiny RSS Reader är en gratis och öppen källkod, webbaserat nyhetsflöde (RSS/Atom) läsare och aggregator, utformad för att

Hur man installerar Wiki.js på FreeBSD 11

Hur man installerar Wiki.js på FreeBSD 11

Använder du ett annat system? Wiki.js är en gratis och öppen källkod, modern wiki-app byggd på Node.js, MongoDB, Git och Markdown. Wiki.js källkod är offentlig

Hur man installerar Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Hur man installerar Pagekit 1.0 CMS på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Pagekit 1.0 CMS är ett vackert, modulärt, utbyggbart och lätt, gratis och öppen källkod Content Management System (CMS) med

Hur man installerar MODX Revolution på en FreeBSD 11 FAMP VPS

Hur man installerar MODX Revolution på en FreeBSD 11 FAMP VPS

Använder du ett annat system? MODX Revolution är ett snabbt, flexibelt, skalbart, öppen källkod, Enterprise-grade Content Management System (CMS) skrivet i PHP. Det jag

Installera OpenBSD 5.5 64-bitars

Installera OpenBSD 5.5 64-bitars

Den här artikeln leder dig genom att ställa in OpenBSD 5.5 (64-bitars) på KVM med en Vultr VPS. Steg 1. Logga in på Vultr kontrollpanelen. Steg 2. Klicka på DEPLOY

Hur man installerar osTicket på FreeBSD 12

Hur man installerar osTicket på FreeBSD 12

Använder du ett annat system? osTicket är ett biljettsystem för kundsupport med öppen källkod. osTicket källkod är offentligt värd på Github. I denna handledning

Hur man installerar Flarum Forum på FreeBSD 12

Hur man installerar Flarum Forum på FreeBSD 12

Använder du ett annat system? Flarum är en gratis och öppen källkod nästa generations forummjukvara som gör diskussioner online roliga. Flarum källkod är värd o

Hur man aktiverar TLS 1.3 i Nginx på FreeBSD 12

Hur man aktiverar TLS 1.3 i Nginx på FreeBSD 12

Använder du ett annat system? TLS 1.3 är en version av TLS-protokollet (Transport Layer Security) som publicerades 2018 som en föreslagen standard i RFC 8446

Installera WordPress på OpenBSD 6.2

Installera WordPress på OpenBSD 6.2

Inledning WordPress är det dominerande innehållshanteringssystemet på internet. Det driver allt från bloggar till komplexa webbplatser med dynamiskt innehåll

Hur man installerar Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Hur man installerar Subrion 4.1 CMS på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Subrion 4.1 CMS är ett kraftfullt och flexibelt innehållshanteringssystem (CMS) med öppen källkod som ger ett intuitivt och tydligt innehåll

Hur man konfigurerar DJBDNS på FreeBSD

Hur man konfigurerar DJBDNS på FreeBSD

Denna handledning visar dig hur du konfigurerar en DNS-tjänst som är lätt att underhålla, lätt att konfigurera och som i allmänhet är säkrare än den klassiska BIN

Hur man installerar Nginx, MySQL och PHP (FEMP) Stack på FreeBSD 12.0

Hur man installerar Nginx, MySQL och PHP (FEMP) Stack på FreeBSD 12.0

En FEMP-stack, som är jämförbar med en LEMP-stack på Linux, är en samling programvara med öppen källkod som vanligtvis installeras tillsammans för att möjliggöra en FreeBS

Installerar MongoDB på FreeBSD 10

Installerar MongoDB på FreeBSD 10

MongoDB är en NoSQL-databas i världsklass som ofta används i nyare webbapplikationer. Det ger högpresterande frågor, skärning och replikering

Hur man installerar Monica på FreeBSD 12

Hur man installerar Monica på FreeBSD 12

Använder du ett annat system? Monica är ett personligt relationshanteringssystem med öppen källkod. Se det som ett CRM (ett populärt verktyg som används av säljteam i th

OpenBSD som en e-handelslösning med PrestaShop och Apache

OpenBSD som en e-handelslösning med PrestaShop och Apache

Introduktion Denna handledning visar OpenBSD som en e-handelslösning som använder PrestaShop och Apache. Apache krävs eftersom PrestaShop har komplex UR

Installera Fork CMS på FreeBSD 12

Installera Fork CMS på FreeBSD 12

Använder du ett annat system? Fork är ett CMS med öppen källkod skrivet i PHP. Forks källkod finns på GitHub. Den här guiden visar hur du installerar Fork CM

Hur man installerar Directus 6.4 CMS på en FreeBSD 11 FAMP VPS

Hur man installerar Directus 6.4 CMS på en FreeBSD 11 FAMP VPS

Använder du ett annat system? Directus 6.4 CMS är ett kraftfullt och flexibelt, gratis och öppen källkod Headless Content Management System (CMS) som tillhandahåller utvecklare

Förbättra säkerheten för FreeBSD med hjälp av IPFW och SSHGuard

Förbättra säkerheten för FreeBSD med hjälp av IPFW och SSHGuard

VPS-servrar riktas ofta mot inkräktare. En vanlig typ av attack dyker upp i systemloggar som hundratals obehöriga ssh-inloggningsförsök. Installation

Ställ in httpd i OpenBSD

Ställ in httpd i OpenBSD

Inledning OpenBSD 5.6 introducerade en ny demon som heter httpd, som stöder CGI (via FastCGI) och TLS. Inget ytterligare arbete behövs för att installera den nya http

Ställ in iRedMail på FreeBSD 10

Ställ in iRedMail på FreeBSD 10

Denna handledning kommer att visa dig hur du installerar groupware iRedMail på en ny installation av FreeBSD 10. Du bör använda en server med minst en gigabyte o

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.

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.

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.

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