Internet Radio Station
π» 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
-
ποΈ Audio Input
- USB-microfoon of analoge input via geluidskaart
- Darkice/butt vangt audio af en encodeert het als MP3 of Ogg Vorbis
-
π Streaming Server (Icecast2)
- Icecast ontvangt de live audio stream en stelt deze beschikbaar via HTTP-stream
-
π Webinterface
- Eenvoudige website met een ingebouwde audio player (
<audio src="...">) - Statistieken zoals luisteraars en uptime
- Eenvoudige website met een ingebouwde audio player (
π§ 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
nginxofapache2
π 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! πΆπ‘
entities.comment_count