Skip to main content

Nieuwe pagina

πŸ“» Project: Eigen Internet Radio Station met Icecast en Raspberry Pi

🎯 Doel

Het doel van dit project is om een volledig functioneel internet radiostation op te zetten dat live audio (bijvoorbeeld microfoon of muziekinput) streamt via het internet. De stream wordt gehost op een Raspberry Pi met Icecast2 als streamingserver. Via een eenvoudige website kunnen luisteraars wereldwijd de stream beluisteren.


🧰 Benodigdheden

Hardware

  • Raspberry Pi 3 of 4
  • MicroSD-kaart (min. 16 GB)
  • USB-microfoon of externe audiobron (jack of USB)
  • Netwerk (Wi-Fi of Ethernet)
  • Eventueel: externe geluidskaart (voor betere audiokwaliteit)

Software

  • Raspberry Pi OS (Lite of Desktop)
  • Icecast2 (streamingserver)
  • Darkice of butt (broadcast client voor audio input)
  • Webserver (bijv. Nginx of Apache)
  • HTML/CSS voor frontend
  • (Optioneel) Domain + SSL via Let's Encrypt

πŸ—οΈ Opbouw van het systeem

  1. πŸŽ™οΈ Audio Input

    • USB-microfoon of analoge input via geluidskaart
    • Darkice/butt vangt audio af en encodeert het als MP3 of Ogg Vorbis
  2. πŸš€ Streaming Server (Icecast2)

    • Icecast ontvangt de live audio stream en stelt deze beschikbaar via HTTP-stream
  3. 🌍 Webinterface

    • Eenvoudige website met een ingebouwde audio player (<audio src="...">)
    • Statistieken zoals luisteraars en uptime

πŸ”§ Installatiestappen

1. Icecast2 installeren

sudo apt update
sudo apt install icecast2
sudo nano /etc/icecast2/icecast.xml
  • Pas de <hostname>, <source-password>, <relay-password>, en <admin-password> aan

2. Darkice installeren en configureren

sudo apt install darkice
sudo nano /etc/darkice.cfg

Voorbeeldconfig:

[input]
device = plughw:1,0
sampleRate = 44100
bitsPerSample = 16
channel = 2

[icecast2-0]
bitrateMode = cbr
format = mp3
bitrate = 128
server = localhost
port = 8000
password = hackme
mountPoint = live.mp3

3. Website maken

  • Simpel HTML-bestand:
<audio controls autoplay>
  <source src="http://<ip-adres>:8000/live.mp3" type="audio/mpeg">
  Je browser ondersteunt geen audio element.
</audio>
  • Host dit via nginx of apache2

πŸ”’ Beveiliging (optioneel)

  • Beperk stream toegang via wachtwoord of domeincontrole
  • Gebruik HTTPS (Let's Encrypt)
  • Monitor verkeer met Fail2Ban

πŸ’‘ Uitbreidingen

  • 🎡 Jingle player toevoegen via fysieke knoppen
  • πŸ“… Programmaschema en auto-dj met Liquidsoap
  • πŸ“Š Real-time luisterstatistieken op dashboard
  • πŸ—£οΈ Meerdere hosts via remote streaming

βœ… Oplevering

  • Werkende Icecast-server met live audiostream
  • Website met geΓ―ntegreerde streamplayer
  • Documentatie voor setup en beheer
  • (Optioneel) automatisering met systemd services

Veel plezier met het bouwen van jouw eigen internetradiozender! πŸŽΆπŸ“‘