Alles wat je moet weten over Icecast: versies, queuesize, nginx als tussenlaag met Let's Encrypt — en wanneer managed hosting de slimste keuze is.
Tout ce que vous devez savoir sur Icecast : versions, queuesize, nginx comme proxy avec Let's Encrypt — et quand l'hébergement géré est le meilleur choix.
Icecast is een open-source streaming server die audio distribueert naar duizenden luisteraars tegelijk. Hij ondersteunt SHOUTcast (MP3/AAC) en Ogg Vorbis/Opus streams, draait op Linux, Windows en macOS, en is volledig gratis te gebruiken.
Icecast est un serveur de streaming open-source qui distribue de l'audio à des milliers d'auditeurs simultanément. Il supporte SHOUTcast (MP3/AAC) et Ogg Vorbis/Opus, fonctionne sur Linux, Windows et macOS, et est totalement gratuit.
SHOUTcast v1/v2, Ogg Vorbis, Opus, WebM — Icecast distribueert alles wat je encoder verstuurt.
SHOUTcast v1/v2, Ogg Vorbis, Opus, WebM — Icecast distribue tout ce que votre encodeur envoie.
Meerdere streams op één server: /stream.mp3, /stream-hq, /fallback — elk met eigen kwaliteit en wachtwoord.
Plusieurs flux sur un serveur : /stream.mp3, /stream-hq, /fallback — chacun avec sa propre qualité et mot de passe.
Ingebouwde webinterface toont live luisteraars, bit rate, mountpoint-status en stream-metadata.
Interface web intégrée affichant auditeurs en direct, débit, statut des points de montage et métadonnées.
IP-based geo-blocking, wachtwoordbeveiliging per mountpoint, maximaal luisteraars per stream instellen.
Geo-blocking par IP, protection par mot de passe par point de montage, limite d'auditeurs par flux.
Icecast 2.4.4 is de huidige stabiele versie en de standaard op de meeste servers. Icecast 2.5 is een grote vernieuwing met betere HTTP-compliance, experimentele HLS-ondersteuning en verbeterde TLS-afhandeling.
Icecast 2.4.4 est la version stable actuelle, standard sur la plupart des serveurs. Icecast 2.5 est une refonte majeure avec une meilleure conformité HTTP, le support HLS expérimental et une gestion TLS améliorée.
| Functie | Fonctionnalité | 2.4.4 (Stabiel) | 2.5 NIEUW |
|---|---|---|---|
| HTTP/1.1 compliance | Conformité HTTP/1.1 | Gedeeltelijk | Volledig |
| Chunked transfer encoding | Chunked transfer encoding | ✗ | ✓ |
| Native TLS/SSL | TLS/SSL natif | Optioneel | Verbeterd |
| HLS output | Sortie HLS | ✗ | Experimenteel |
| X-Forwarded-For (nginx proxy) | X-Forwarded-For (proxy nginx) | ✗ Niet in stats | Gedeeltelijk |
| Queuesize per mountpoint | Queuesize par point de montage | ✓ | ✓ Verbeterd |
| WebM / Opus | WebM / Opus | Beperkt | Verbeterd |
| Admin JSON API | API JSON admin | XML only | JSON verbeterd |
| Verbeterde logging | Journalisation améliorée | Basis | Uitgebreid |
| Windows-ondersteuning | Support Windows | ✓ Volledig | Beperkt |
| Productie-stabiel | Stable en production | ✓ Ja | In ontwikkeling |
Voor productieomgevingen: gebruik 2.4.4. Stabiel, breed ondersteund door alle encoder-software (SAM Broadcaster, Butt, Liquidsoap) en CentovaCast/AzuraCast. Icecast 2.5 is veelbelovend voor HLS en betere HTTP-compliance maar is nog niet productie-klaar.
Pour les environnements de production : utilisez 2.4.4. Stable, largement supporté par tous les encodeurs (SAM Broadcaster, Butt, Liquidsoap) et CentovaCast/AzuraCast. Icecast 2.5 est prometteur pour HLS mais n'est pas encore prêt pour la production.
queue-size bepaalt hoeveel bytes Icecast per luisteraar buffert. Als een luisteraar een trage verbinding heeft, raakt de wachtrij vol — en wordt de verbinding verbroken. De juiste instelling houdt luisteraars stabiel.
queue-size détermine combien d'octets Icecast met en mémoire tampon par auditeur. Si la connexion est trop lente, la file se remplit et la connexion est coupée. Un bon réglage garantit la stabilité des auditeurs.
<!-- Globale limieten voor alle mountpoints --> <limits> <clients>500</clients> <!-- max. gelijktijdige verbindingen --> <sources>10</sources> <!-- max. bronnen/encoders --> <queue-size>524288</queue-size> <!-- 512 KB per luisteraar --> <burst-size>65536</burst-size> <!-- 64 KB burst bij verbinding --> <burst-on-connect>1</burst-on-connect> <!-- buffer direct vullen --> </limits> <!-- Per mountpoint overschrijven (Icecast 2.4+) --> <mount type="normal"> <mount-name>/stream.mp3</mount-name> <queue-size>1048576</queue-size> <!-- 1 MB voor trage verbindingen --> <burst-size>131072</burst-size> <!-- 128 KB burst --> </mount>
queue-size × aantal luisteraars = geheugen. Bij 500 luisteraars en 1 MB queue-size verbruikt Icecast ~500 MB RAM in het slechtste geval. Stel de queue in op wat je server aankan. Voor managed hosting hoef je hier niet over na te denken.
queue-size × nombre d'auditeurs = mémoire. Avec 500 auditeurs et 1 Mo de queue, Icecast peut utiliser ~500 Mo de RAM dans le pire cas. Ajustez selon les capacités de votre serveur. Avec l'hébergement géré, vous n'avez pas à vous en soucier.
Door nginx vóór Icecast te plaatsen krijg je gratis SSL-certificaten via Let's Encrypt met automatische vernieuwing, HTTP/2 ondersteuning, en betere beveiliging — zonder Icecast zelf aan te passen.
En plaçant nginx devant Icecast, vous obtenez des certificats SSL gratuits via Let's Encrypt avec renouvellement automatique, le support HTTP/2, et une meilleure sécurité — sans modifier Icecast.
Certbot haalt het Let's Encrypt-certificaat op en configureert nginx automatisch. De --nginx-plugin voert na elke automatische verlenging ook een nginx reload uit.
Certbot obtient le certificat Let's Encrypt et configure nginx automatiquement. Le plugin --nginx effectue également un reload nginx après chaque renouvellement automatique.
# Ubuntu/Debian apt install certbot python3-certbot-nginx # Certificaat aanvragen + nginx automatisch configureren certbot --nginx -d radio.jouwdomein.be # Verlenging testen (certbot renew draait automatisch via systemd timer) certbot renew --dry-run
Icecast draait intern op poort 8000 (HTTP). nginx luistert op poort 443 (HTTPS) en stuurt het verkeer door. Cruciaal voor streaming: proxy_buffering off zodat audio direct doorstroomt.
Icecast tourne en interne sur le port 8000 (HTTP). nginx écoute sur le port 443 (HTTPS) et transfère le trafic. Crucial pour le streaming : proxy_buffering off pour que l'audio coule directement.
server { listen 443 ssl http2; server_name radio.jouwdomein.be; # Let's Encrypt certificaat (certbot vult dit automatisch in) ssl_certificate /etc/letsencrypt/live/radio.jouwdomein.be/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/radio.jouwdomein.be/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; location / { proxy_pass http://127.0.0.1:8000; proxy_http_version 1.1; # Headers doorgeven — zie IP-nadeel hieronder proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # Streaming-specifiek: GEEN buffering, directe doorstroming proxy_buffering off; proxy_read_timeout 36000s; # 10 uur — voor 24/7 streams proxy_send_timeout 36000s; proxy_connect_timeout 10s; # Verhoog max body voor encoders die grote chunks sturen client_max_body_size 0; } # Admin panel apart beveiligen location /admin { proxy_pass http://127.0.0.1:8000/admin; proxy_buffering off; # Overweeg IP-whitelisting hier: # allow 195.x.x.x; deny all; } } # HTTP → HTTPS redirect server { listen 80; server_name radio.jouwdomein.be; return 301 https://$host$request_uri; }
Certbot installeert automatisch een systemd timer die elke dag controleert of het certificaat verlengd moet worden. De --nginx plugin zorgt daarna voor een nginx reload — zonder dat je stream onderbroken wordt.
Certbot installe automatiquement un timer systemd qui vérifie chaque jour si le certificat doit être renouvelé. Le plugin --nginx effectue ensuite un nginx reload — sans interrompre votre flux.
# Controleer systemd timer status systemctl status certbot.timer # Handmatige verlenging (certbot doet dit automatisch) certbot renew --quiet --post-hook "systemctl reload nginx" # Certificaatverloopdata bekijken certbot certificates
Wanneer nginx als tussenlaag fungeert, ziet Icecast alle verbindingen alsof ze van 127.0.0.1 komen — de nginx-server zelf. Het echte IP van de luisteraar staat wél in de X-Forwarded-For header, maar Icecast 2.4.4 gebruikt deze header niet voor zijn ingebouwde functies.
Quand nginx fonctionne comme proxy, Icecast voit toutes les connexions comme venant de 127.0.0.1 — le serveur nginx lui-même. La véritable IP de l'auditeur est dans l'en-tête X-Forwarded-For, mais Icecast 2.4.4 n'utilise pas cet en-tête pour ses fonctions intégrées.
ngx_http_geoip2_module)ngx_http_geoip2_module)Icecast's eigen statistieken zijn onbetrouwbaar achter nginx. Maar /var/log/nginx/access.log bevat wél de echte $remote_addr van elke luisteraar. Combineer dit met GoAccess, AWStats of een GA4-integratie voor betrouwbare analytics.
Les statistiques d'Icecast sont peu fiables derrière nginx. Mais /var/log/nginx/access.log contient bien le vrai $remote_addr de chaque auditeur. Combinez ceci avec GoAccess, AWStats ou une intégration GA4 pour une analytique fiable.
Zelf een Icecast-server opzetten geeft maximale controle — maar kost ook tijd. Managed hosting bij Live-Streams.nl betekent dat alles al klaar staat: Icecast, SSL, CentovaCast of AzuraCast paneel, en support in het Nederlands.
Configurer votre propre serveur Icecast offre un contrôle maximal — mais demande du temps. L'hébergement géré chez Live-Streams.nl signifie que tout est prêt : Icecast, SSL, panneau CentovaCast ou AzuraCast, et support en néerlandais.
Combineer je streamhosting met webhosting + domeinnaam voor €60/jaar. Een handige, betaalbare keuze met hoge kwaliteit.
Webhosting bestellen →
Combinez votre hébergement stream avec un hébergement web + nom de domaine pour €60/an. Un choix pratique et abordable, haute qualité.
Commander l'hébergement web →
Veel bedrijfsnetwerken en scholen blokkeren poorten zoals 8000 of 8080. Bij managed hosting via Live-Streams.nl krijg jij een stream-URL op port 443 (HTTPS) — de standaardpoort voor beveiligd internetverkeer die overal open staat. Wij regelen het SSL-certificaat. Jouw luisteraars hoeven niets in te stellen.
Beaucoup de réseaux d'entreprise et d'écoles bloquent les ports comme 8000 ou 8080. Avec l'hébergement géré via Live-Streams.nl, vous obtenez une URL de stream sur port 443 (HTTPS) — le port standard du trafic sécurisé, ouvert partout. Nous gérons le certificat SSL. Vos auditeurs n'ont rien à configurer.
Je station klaar? Meld hem aan bij radiozendersluisteren.nl → zodat luisteraars je station kunnen ontdekken.
Votre station est prête ? Inscrivez-la sur radiozendersluisteren.nl → pour que les auditeurs puissent la découvrir.
Beide zijn streaming servers maar met een andere oorsprong. SHOUTcast is ontwikkeld door Nullsoft (eigenaar van Winamp) en heeft een grote directory op shoutcast.com. Icecast is volledig open-source, ondersteunt meer audioformaten (Ogg Vorbis, Opus) en heeft geen directory-afhankelijkheid. Voor moderne radiostations is Icecast de flexibelere keuze.
Ja. SAM Broadcaster, SAM Cast, Butt (broadcast using this tool), Liquidsoap, Darkice, Mixxx en vrijwel alle andere encoder-software ondersteunen Icecast via het SHOUTcast-protocol of het native Icecast-protocol. In de encoder stel je het serveradres, poort, wachtwoord en mountpoint in — klaar.
Icecast zelf is zeer efficiënt — op een bescheiden VPS (2 CPU, 2 GB RAM) kunnen problemloos 500–1000 gelijktijdige luisteraars aan een 128 kbps stream. De bottleneck is bijna altijd bandbreedte. Bij 128 kbps en 1000 luisteraars verbruik je ~128 Mbit/s uitgaande bandbreedte. Bij managed hosting is bandbreedte onbeperkt inbegrepen.
Ja, via mountpoints. Je kunt /stream-128.mp3, /stream-320.mp3 en /stream-fallback tegelijk draaien op één server. Elke mountpoint heeft zijn eigen wachtwoord, kwaliteit, en luisteraarslimiet. De CentovaCast en AzuraCast beheerpanelen maken dit eenvoudig te beheren.
Ja, dit is de aanbevolen opstelling voor zelf-gehoste Icecast-servers. nginx voegt SSL toe, verbergt Icecast achter een extra beveiligingslaag en biedt DDoS-bescherming via rate-limiting. Het enige nadeel is het IP-probleem (zie sectie hierboven). Voor statistieken gebruik je dan de nginx-logs in plaats van Icecast's ingebouwde admin.
Bij managed hosting via Live-Streams.nl ben je binnen 3 minuten live. Je ontvangt direct je inloggegevens en stream-URL zodat je meteen kunt beginnen met uitzenden.
Ja. Strenge firewalls blokkeren vaak poorten zoals 8000 of 8080. Bij managed hosting via Live-Streams.nl stream je via HTTPS op port 443 — de standaardpoort voor beveiligd internetverkeer die op geen enkel netwerk geblokkeerd wordt. Het SSL-certificaat wordt door ons geregeld. Jouw luisteraars hoeven niets extra in te stellen.
Les deux sont des serveurs de streaming mais avec des origines différentes. SHOUTcast a été développé par Nullsoft (créateurs de Winamp) et dispose d'un répertoire sur shoutcast.com. Icecast est entièrement open-source, supporte plus de formats audio (Ogg Vorbis, Opus) et n'a pas de dépendance à un répertoire. Pour les stations radio modernes, Icecast est le choix le plus flexible.
Oui. SAM Broadcaster, SAM Cast, Butt, Liquidsoap, Darkice, Mixxx et pratiquement tous les logiciels d'encodage supportent Icecast via le protocole SHOUTcast ou le protocole natif Icecast. Dans l'encodeur, configurez l'adresse du serveur, le port, le mot de passe et le point de montage — c'est tout.
Oui, via les points de montage. Vous pouvez faire tourner /stream-128.mp3, /stream-320.mp3 et /stream-fallback simultanément sur un serveur. Chaque point de montage a son propre mot de passe, sa qualité et sa limite d'auditeurs. Les panneaux CentovaCast et AzuraCast facilitent la gestion.
Oui. Live-Streams.nl accepte les clients belges de toute la Belgique — Flandre, Wallonie et Bruxelles. Le datacenter est situé à Amsterdam, à seulement ~200 km de la frontière belge, ce qui garantit une latence minimale pour vos auditeurs belges. La facturation est disponible en EUR.
Avec l'hébergement géré via Live-Streams.nl, vous êtes en ligne en 3 minutes. Vous recevez immédiatement vos identifiants et l'URL de votre flux pour commencer à diffuser sans attendre.
Oui. Les pare-feux stricts bloquent souvent les ports comme 8000 ou 8080. Avec l'hébergement géré via Live-Streams.nl, vous diffusez via HTTPS sur le port 443 — le port standard du trafic sécurisé, jamais bloqué. Le certificat SSL est géré par nos soins. Vos auditeurs n'ont rien à configurer.
Gratis keuzehulp — geeft je direct een aanbeveling voor het pakket dat bij jouw situatie past.
Aide au choix gratuite — obtenez immédiatement une recommandation adaptée à votre situation.
Vind mijn pakket — StreamHosting4You.nl → Trouver mon forfait — StreamHosting4You.nl →