ID.nl logo
Bouw je eigen internetradiostation met Icecast
© MABRUR - stock.adobe.com
Huis

Bouw je eigen internetradiostation met Icecast

Wil je met je vereniging, school of bedrijf eenvoudig live audiostreams uitzenden, zoals internetradio, liveverslagen of achtergrondmuziek? Dan is de gratis en opensource Icecast-software een uitstekende oplossing. Hiermee kun je zelfs meerdere streams tegelijk uitzenden, zonder afhankelijk te zijn van commerciële diensten.

In dit artikel laten we zien hoe je met Icecast eenvoudig je eigen radiostation opzet voor live of on-demand audiostreaming:

  • Installeer Icecast op Windows of Linux en pas de configuratie aan
  • Start de Icescast-server via een xml-bestand of laat het automatisch starten via Taakplanner
  • Zend met een streamingclient als Butt of Mixxx je audio live uit

Lees ook eens: Met Music Assistant ben jij de baas over jouw muziekcollectie

De naam Xiph.org Foundation klinkt je misschien niet bekend, maar deze stichting ontwikkelt en onderhoudt een reeks populaire opensource-multimediaformaten, daarbij ondersteund door een mondiale gemeenschap van vrijwilligers.

Bekende projecten zijn het ogg-containerformaat en verschillende codecs, zoals Vorbis (audiocodec die bij vergelijkbare of lagere bitrates een betere geluidskwaliteit biedt dan mp3), Opus (audiocodec met lage latency, vooral gebruikt voor VoIP, live streaming en podcasts), FLAC (met verliesloze audiocompressie) en Theora (alternatieve videocodec voor gesloten, propriëtaire codecs als mpeg).

Naast codecs heeft Xiph.org Foundation ook bijbehorende software ontwikkeld, met Icecast als bekendste voorbeeld: een streamingserver die vooral audiobestanden uitzendt. Al hun technologieën gebruiken open standaarden en zijn vrij van patenten en licentiekosten. De naam Icecast verwijst naar SHOUTcast, het oorspronkelijke propriëtaire project van Nullsoft (bekend van Winamp) dat in de jaren 90 populair was als streamingserver voor internetradio.

In dit artikel vertellen we eerst waar je zoal Icecast-streams kunt vinden, maar leggen we vooral uit hoe je een eigen Icecast-server opzet. De focus ligt op Windows, maar ook Linux-gebruikers helpen we op weg. Verder tonen we hoe je zowel live als on-demand audiostreams kunt verzorgen met een geschikte tool.

1 Icecast-streams

Heb je de populaire en opensource VLC media player al op je systeem staan? VLC ondersteunt vrijwel alle mediacontainers en codecs. Hiermee kun je meteen talloze Icecast-radiostations beluisteren. Start de app, druk op Ctrl+L of open Weergave en kies Afspeellijst.

In het venster scrol je naar de rubriek Internet en selecteer je Icecast Radio Directory. Even later verschijnt een lijst met honderden radiostations. Tik bijvoorbeeld Nederland in en je krijgt een handvol zenders met piratenhits. Klik met rechts op een station om de stream direct in VLC af te spelen of naar een ander apparaat of netwerk te streamen, met instelbare parameters als formaat, bestemming en protocol. Dit is handig om bijvoorbeeld media binnen een netwerk te delen.

Je kunt Icecast-streams ook rechtstreeks via je browser beluisteren. In de officiële Icecast-directory vind je talloze live radiostations. Hier zoek je eenvoudig op genres, bitrate, populariteit en locatie. Wil je specifiek op locatie zoeken, probeer dan Radio Garden, waar je via een interactieve wereldkaart radiostations kunt ontdekken (niet alleen Icecast-streams).

Hieronder vind je nog andere online collecties met veel Icecast-streams. Bij de meeste kun je de stream-URL opvragen, die je vervolgens in je mediaspeler of Icecast-client kunt gebruiken. In VLC doe je dit via Media /Netwerkstream openen bij Geef een netwerk-urlop, waarna je de stream kunt afspelen of opnieuw streamen.

VLC media player geeft direct toegang tot duizenden Icecast-radiostations.

2 Installatie Icecast

Lijkt Icecast je een interessante optie voor het streamen van audiostreams, zoals internetradio (bijvoorbeeld voor amateur-dj’s), live-evenementen (bijvoorbeeld wedstrijdcommentaar voor clubleden die fysiek niet aanwezig kunnen zijn), podcasting (inclusief on-demand afleveringen), eigen achtergrondmuziek of live lessen voor afstandsonderwijs? Surf dan naar www.icecast.org en open de Download-pagina voor serverinstallaties op Linux (tar.gz-bestand) of Windows (exe-installer).

We leggen eerst uit hoe je aan de slag gaat in Windows. Dubbelklik op het gedownloade exe-bestand om de set-upwizard te starten. Klik op I Agree, gevolgd door Next (2x) en Install.

In de installatiemap (standaard C:\Program Files (x86)\Icecast) vind je naast enkele submappen de bestanden icecast.xml en icecast.bat. Het eerste is het configuratiebestand, dat je opent in een editor die XML ondersteunt, zoals het gratis Notepad++. Het tweede is een batchbestand waarmee je de Icecast-server start, standaard met de instellingen zoals vastgelegd in icecast.xml.

Houd er rekening mee dat Icecast geen GUI-configuratietool meer meelevert. Ook goed om weten: Icecast ondersteunt de codecs/formaten ogg (Vorbis, Theora), Opus, FLAC en WebM (VP8/VP9) en kan (officieus) ook overweg met diverse propriëtaire mediaformaten.

In de installatiemap herken je het batchbestand en het XML-configuratiebestand.

3 Serverset-up

Voor je Icecast start, is het verstandig om eerst de configuratie aan te passen. Open hiervoor het bestand icecast.xml in een geschikte editor. Ga naar de sectie <authentication> en vervang hackme bij <source-password> door een sterk, eigen wachtwoord. Pas eventueel admin bij <admin-user> aan naar een eigen gebruikersnaam en vervang ook hackme bij <admin-password> door je wachtwoord.

Het wachtwoord bij <relay-password> kun je ongewijzigd laten, tenzij je de server ook wilt gebruiken als relay, een tussenstation dat een originele stream opnieuw uitzendt zonder de bron aan te passen. Dit kan handig zijn om de belasting van de bronserver te verlagen of de stream voor een ander publiek beschikbaar te maken.

Het poortnummer bij <listen-socket> kun je op 8000 laten staan, tenzij je de service bewust op een ander poortnummer wilt aanbieden.

Voor je de server start, wijzig je het best eerst enkele configuratieparameters, waaronder je inloggegevens.

4 Mountpoints

Standaard wordt als mountpoint de naam \stream gebruikt door Icecast, maar je kunt ook eigen streams, oftewel kanalen, definiëren door parameters toe te voegen waarmee je onder meer de mount-naam, gebruikersnaam en wachtwoord beschrijft, en aangeeft of de stream publiek toegankelijk is.

Voeg hiervoor de volgende regels toe aan het xml-bestand, bijvoorbeeld net boven de regel <fileserve>1</fileserve>:

<mount type="normal">
 <mount-name>/<mijn-mountnaam></mount-name>
 <username><je_gebruikersnaam></username>
 <password><je_wachtwoord></password>
 <public>1</public>
 </mount>

De aanduiding <mijn_mountnaam> vervang je door een zinvolle naam zoals podcast.ogg of live-interview. Als je meerdere simultane streams wilt aanbieden, voeg je extra mount-elementen toe, telkens met een andere, unieke <mount-name>. Houd er rekening mee dat je bij meer dan twee invoerbronnen de waarde van <sources> in het onderdeel <limits> moet verhogen (standaard is dit 2). Besef ook: hoe meer simultane streams je toevoegt, hoe meer je server kan worden belast.

4 Je kunt ook meerdere, eigen mountpoints definiëren in het configuratiebestand.

5 Handmatig starten

Om vervelende meldingen bij het opstarten van de server te vermijden, wijzig je best nog enkele parameters in het XML-bestand:

<hostname>

standaard staat dit op localhost, maar je kunt dit vervangen door het ip-adres van de server (zoals het interne ip-adres voor streams binnen je netwerk), een publiek ip-adres of een domeinnaam.

<location>

standaard is dit Earth, maar je kunt je eigen locatie invullen, zoals Haarlem, Nederland.

<admin>

standaard is dit admin, maar je kunt dit vervangen door je naam of een e-mailadres.

Sla het aangepaste xml-bestand op en start de server door te dubbelklikken op het standaard geïnstalleerde bestand icecast.bat. Je kunt de server nu bereiken via http://localhost:8000 (of een ander ip-adres). Klik op Admin Home en vul je inloggegevens in om de serverstatistieken te bekijken.

Laat het opdrachtregelvenster open en sluit het alleen als je de server wilt stoppen. Je kunt ook het proces icecast.exe beëindigen via Taakbeheer in Windows of als administrator met het opdrachtregelcommando:

taskkill /IM /F icecast.exe

Als administrator kun je onder meer enkele serverstatistieken en de mountpoints bekijken.

6 Automatisch starten

Je kunt het bestand icecast.bat toevoegen aan Windows Taakplanner om het automatisch te starten. Een andere optie is een tool als NSSM (the Non-Sucking Service Manager) om Icecast als een Windows-service te draaien, zodat je niet langer aangemeld hoeft te zijn voor de Icecast-server. Start hiervoor de Opdrachtprompt als administrator, ga naar de uitgepakte NSSM-map en voer het volgende commando uit:

nssm.exe install IcecastService "C:\Program Files (x86)\Icecast\icecast.bat" "C:\Program Files (x86)\Icecast\icecast.xml"

Start vervolgens de service met:

nssm.exe start IcecastService

Open de app Services (druk op Windows-toets+R en voer services.msc uit), klik met rechts op IcecastService, kies Eigenschappen en stel het Opstarttype in op Automatisch. Je zogenoemde headless server is klaar voor gebruik.

Je kunt Icecast eventueel ook als een Windows-service draaien

7 Installatie en set-up in Linux

We tonen ook hoe je Icecast installeert en configureert op Linux en nemen hiervoor het populaire Ubuntu Desktop als voorbeeld.

Open de Terminal en voer achter elkaar deze commando’s uit:

sudo apt update
sudo apt install icecast2

Tijdens de installatie verschijnt het dialoogvenster Configure icecast2. Selecteer hier de optie YES en vul vervolgens de hostname in (standaard localhost, maar je kunt ook een ip-adres of domeinnaam gebruiken) en stel de wachtwoorden in voor de standaardmount \source, de relay-functionaliteit en de beheermodule.

Na de installatie start je de server met het commando:

sudo systemctl start icecast2

Controleer of de server actief is met:

sudo systemctl status icecast2

Wil je dat de server automatisch start bij het opstarten van Ubuntu, gebruik dan dit commando:

sudo systemctl enable icecast2

Je kunt de Icecast-webinterface bereiken met je browser via http://localhost:8000. Als dit niet werkt, controleer dan of de firewall openstaat voor de benodigde verbindingen met het commando:

sudo ufw allow 8000/tcp

Indien van toepassing kun je de firewall activeren met:

sudo ufw enable

Om mountpoints toe te voegen of andere parameters aan te passen (zie paragraaf 5), bewerk je het configuratiebestand met:

sudo gedit /etc/icecast2/icecast.xml

Of gebruik nano in plaats van gedit.

Bewaar het bestand met Save (gedit) of met Ctrl+O en Enter (nano).

Meteen na de installatie kun je de configuratie van Icecast starten.

Streamwerking

De werking van Icecast is anders dan bij streamingdiensten als Spotify of YouTube Music. Icecast is namelijk vooral gericht op live audiostreaming in realtime, zonder buffering of caching, terwijl de andere diensten vooral on-demand streaming tot doel hebben, met geavanceerde buffering, caching en adaptieve bitrate streaming als HST of DASH.

Bij Icecast heb je een ‘station’ oftewel een ‘mountpoint’ (streamlocatie) dat wordt aangeleverd door een client, zoals IceS of Butt, en door Icecast naar luisteraars wordt gestreamd. Alle luisteraars van deze mountpoint ontvangen dus dezelfde stream, wat maakt dat een individuele luisteraar de stream niet kan pauzeren of aanpassen. Je kunt het dus een beetje vergelijken met de werking van een bestands- of webserver.

Icecast kan wel een ‘onbeperkt’ aantal mountpoints tegelijk verwerken, wat verschillende streams met andere content mogelijk maakt.

8 Butt

Aan serverzijde is alles klaar, maar je hebt nog een tool nodig om de juiste bronnen te koppelen aan de mountpoints in de Icecast-server. Voor Linux zijn clients en encoders als DarkIce, Liquidsoap, Butt en Mixxx beschikbaar. Mixxx en Butt werken ook onder Windows en bespreken we hier kort.

We beginnen met Butt. Download en installeer de gratis tool via www.danielnoethen.de. In een Linux-distributie als Ubuntu kun je deze installeren via de grafische softwarebeheerder (Ubuntu Software) door Butt te zoeken, of je downloadt het AppImage-bestand via www.danielnoethen.de/butt en voert dit uit.

Start de app, druk op Instellingen en klik bij Server op Voeg toe. Selecteer Icecast bij Type en vul een Naam in, bijvoorbeeld IJskast. Bij Adres gebruik je localhost, het ip-adres of de domeinnaam. Stel de Poort in op 8000 (standaard). Vul het eerder gebruikte wachtwoord in. Bij Icecast mountpoint geef je /stream op (standaard) of een zelf gedefinieerde <mount-name> uit het xml-bestand (zie paragraaf 4). In het veld Icecast gebruiker vul je source in (voor /stream) of de <username> die je bij <mount> in het xml-bestand hebt gebruikt. Bevestig met Voeg toe of Opslaan.

Je moet in de client-app Butt ook eerst de Icecast-server instellen.

9 Streamen met Butt

De server is toegevoegd, nu stel je de audio in. Open in Instellingen het tabblad Audio en configureer de gewenste waarden, zoals Kanaalmode en Samplerate. Kies bij Primair Audioapparaat het invoerapparaat, zoals het standaard PCM-apparaat, een mixer, microfoon of MIDI-interface. Optioneel gebruik je ook het keuzemenu Secundair Audioapparaat.

Bij Streamen kies je bij de optie Codec bijvoorbeeld voor OGG/VORBIS of een andere optie als MP3, en stel je de optie Bitrate in (bijvoorbeeld 128 K). Via het tandwielpictogram pas je aanvullende audio-instellingen aan. Sluit het instellingenvenster na het configureren, je komt dan terug in het hoofdvenster.

Heb je twee audioapparaten ingesteld, gebruik dan de Mixer-knop om eenvoudig te schakelen tussen beide bronnen met de schuifbalk bij Cross Fader. Je kunt hier ook het ingangsvolume (dB) van elk apparaat afzonderlijk instellen met de bijbehorende schuifbalken.

Ben je klaar om te streamen, klik dan in het hoofdvenster op de witte pijlknop Verbindmet server. Bovenaan zie je hoelang of hoeveel MB er is gestreamd en hoeveel luisteraars verbonden zijn. Met de rode opnameknop sla je de stream lokaal op.

Butt is de audio van de ingestelde audioapparaten aan het streamen.

10 Mixxx

Ook de gratis opensource-tool Mixxx is uitstekend geschikt als Icecast-client. Deze grafische software, vooral populair onder dj’s voor het mixen en live draaien van muziek, kan ook audiobestanden naar een Icecast-server streamen. Hoewel de interface door de vele mogelijkheden wat overweldigend kan zijn, leggen we kort uit hoe je bestanden streamt.

Download en installeer Mixxx en start de tool. Stel vervolgens de verbinding met je Icecast-server in. Ga naar Opties / Instellingen en open de rubriek Live uitzenden. Klik op Maak nieuwe verbinding. Vul de volgende gegevens in: Type (Icecast 2), Host (bijvoorbeeld localhost), Monteren (het gewenste mountpoint, zoals /mijnafspeellijst), Poort (standaard 8000), Login en Wachtwoord (zoals gedefinieerd in het bestand icecast.xml).

Hier kun je ook de gewenste Codering instellen, inclusief Bitsnelheid, Formaat en Kanalen (bijvoorbeeld 128 kbps, Ogg Vorbis en Stereo). Vul bij Stream-info de gewenste Stream-naam, een eventuele Website en een korte Omschrijving in. Bevestig met Pas toe en OK.

Net als in Butt moet je ook in Mixxx de Icecast-server definiëren.

11 Streamen met Mixxx

Zodra de serverconnectie is opgezet, kun je muziek streamen. Volg deze stappen om een audiobestand te streamen. Open het menu Bestand en kies Laad Track in Deck 1. Selecteer het gewenste bestand en bevestig met Openen. Druk daarna op de zwarte pijlknop (Play) in Deck 1. Klik rechtsboven op On Air, zodat de knop groen kleurt. Controleer in het Icecast-dashboard de Mountpoint List. Als alles correct is ingesteld, verschijnt hier het mountpoint dat je in Mixxx hebt gekoppeld en kun je de stream beluisteren via een url als http://<ipadres-icecast-server>/<mountpoint-naam>.

Om meerdere nummers achter elkaar te streamen, gebruik je de Auto-DJ-functie. Klik linksboven op Big Library om de audiobibliotheek te openen. Hier vind je lijsten als Tracks, Afspeellijsten, Kratten (virtuele trackverzamelingen) en Auto-DJ. Sleep de gewenste audiobestanden vanuit Verkenner naar het Auto-DJ-venster. Net boven de lijst kun je opties activeren, zoals loop, shuffle of het toevoegen van een willekeurige track uit je kratten. Schakel de Auto-DJ-functie in met het aan-uitknopje bovenaan de lijst. Controleer of On Air actief is, zodat de nummers netjes naar de Icecast-server worden gestreamd.

Dankzij Auto-DJ heb je weinig omkijken naar je gestreamde muzieknummers.

▼ Volgende artikel
MSI toont nieuwe QD-OLED-monitoren met focus op snelheid en beeldkwaliteit
© MSI
Huis

MSI toont nieuwe QD-OLED-monitoren met focus op snelheid en beeldkwaliteit

MSI breidt zijn monitorassortiment uit met meerdere nieuwe QD-OLED-modellen. Het gaat onder meer om twee 34-inch ultrawide monitors met een verversingssnelheid van 360 Hz en een update van de 32-inch 4K-lijn. MSI legt daarbij de nadruk op hoge verversingssnelheden, verbeterde helderheid en diepere zwartwaarden.

De nieuwe MPG 341CQR QD-OLED X36 en de MEG X zijn beide 34-inch ultrawide monitors met een 21:9-beeldverhouding en een verversingssnelheid van 360 Hz. Ze maken gebruik van een vijfde generatie QD-OLED-paneel met een aangepaste subpixelindeling, die vooral de scherpte van tekst moet verbeteren. Daarnaast past MSI Tandem OLED-technologie toe, waarbij meerdere lichtlagen worden gecombineerd om een hogere helderheid te bereiken en het paneel langer stabiel te houden.

Beide modellen zijn voorzien van DarkArmor Film, een extra laag die reflecties en verkleuringen bij omgevingslicht moet verminderen. Volgens MSI zorgt dit voor diepere zwartwaarden en een beter contrast, terwijl het schermoppervlak ook beter bestand is tegen dagelijks gebruik. Uniform Luminance is eveneens standaard aanwezig en geeft gebruikers meer controle over HDR-helderheid, zodat het beeld minder abrupt verandert bij wisselende content.

De MPG 341CQR QD-OLED X36 richt zich vooral op gamers die maximale snelheid en beeldkwaliteit zoeken. De MEG X is het nieuwe vlaggenschip en voegt daar extra AI-functies aan toe. Deze analyseren het beeld in realtime en kunnen bepaalde visuele elementen benadrukken of instellingen automatisch aanpassen, zonder dat games hier speciaal voor hoeven te zijn ontworpen. Daarnaast ondersteunt de monitor spraakbediening voor snelle toegang tot instellingen.

Naast de ultrawide modellen introduceert MSI ook twee nieuwe 32-inch 4K QD-OLED-monitoren: de MPG 322UR QD-OLED X24 en de MAG 321UP QD-OLED X24. Deze modellen maken gebruik van een vernieuwde QD-OLED-architectuur met extra aandacht voor helderheid en consistentie. Ook hier zijn DarkArmor Film en Uniform Luminance standaard aanwezig. MSI combineert die beeldkwaliteit met technieken die slijtage van het OLED-paneel moeten beperken, zoals automatische helderheidsaanpassingen en functies die actief worden wanneer de gebruiker afwezig is.

©MSI

▼ Volgende artikel
ASUS ROG XREAL R1: gamingbril projecteert 171-inch scherm voor je ogen
© ASUS ROG
Huis

ASUS ROG XREAL R1: gamingbril projecteert 171-inch scherm voor je ogen

ASUS breidt zijn gaminglijn Republic of Gamers (ROG) uit met de ROG XREAL R1, een augmentedreality-bril die speciaal is ontwikkeld voor gamers. De bril projecteert een virtueel scherm van 171 inch voor de drager en is volgens ASUS de eerste gamingbril met een micro-OLED-scherm van 240Hz.

De ROG XREAL R1 werkt zowel met pc's, spelconsoles als de draagbare ROG Ally. Via de meegeleverde ROG Control Dock kan de bril worden aangesloten met HDMI of DisplayPort, terwijl de verbinding met de ROG Ally via één USB-C-kabel verloopt. De speler ziet dan een groot virtueel scherm, zonder dat er installatie nodig is. Dankzij een ingebouwde X1-chip kan de afstand en grootte van dat scherm eenvoudig worden aangepast. De bril weegt 91 gram, wat hem licht genoeg maakt om ook onderweg te gebruiken.

Het micro-OLED-scherm biedt een Full HD-resolutie (1920x1080) met een beeldverversing tot 240Hz en een reactietijd van 3 milliseconden. Dat moet volgens ASUS zorgen voor vloeiende beelden zonder zichtbare vertraging of wazigheid. Het gezichtsveld bedraagt 57 graden, wat neerkomt op 95 procent van het normale blikveld. Gebruikers kunnen kiezen of het virtuele scherm op een vaste plek in de ruimte blijft of met hun hoofdbewegingen meedraait.

De lenzen passen zich automatisch aan de lichtomstandigheden aan dankzij elektrochromische technologie. De tint kan ook handmatig worden ingesteld, zodat het beeld goed zichtbaar blijft bij zowel daglicht als in donkere ruimtes. Voor het geluid werkt ASUS samen met Bose. De ingebouwde speakers moeten ruimtelijk geluid produceren, zodat spelers beter kunnen horen waar geluiden vandaan komen - handig bij bijvoorbeeld shooters of racespellen.

De ROG XREAL R1 verschijnt in de eerste helft van 2026. ASUS toont de bril deze week tijdens de CES-beurs in Las Vegas.

Wat is elektrochromische technologie?

Elektrochromische lenzen kunnen hun doorzichtigheid aanpassen met behulp van een elektrische spanning. Daardoor wordt het glas donkerder of lichter, afhankelijk van de lichtomstandigheden of de voorkeur van de gebruiker. De techniek wordt ook gebruikt in sommige zonnebrillen en autoruiten.

©ASUS ROG