Je eigen radio station: icecast
Wil je je eigen radio station? Met Icecast kun je je
programmas over de hele wereld uitzenden. Icecast is de Linux tegenhanger van het programma Shoutcast. Beide kunnen muziek via het Internet streamen (uitzenden) over de hele wereld. Het is vergelijkbaar met je eigen radio station, met een klein voordeel: je kunt overal ter wereld worden gehoord.
De muziek wordt meestal uitgezonden in mp3 formaat en heeft een data rate van 32 of 64 kBps.
Deze lage rate is nodig om een soepel geluid zonder "hikken" te garanderen. De mp3 spelers die Internet streaming ondersteunen, kunnen enkele seconden muziek bufferen om interrupties te voorkomen als de stroom (stream) onderbroken wordt.
Streaming over het Intranet
Maar waarom alleen als een grote zender?
Een ander aardig gebruik van Icecast is binnen een intranet, welke zelf
een veel soepeler transport van de bestanden ondersteund.
Misschien heb je een server met veel mp3 bestanden in de kelder staan en
wil je de muziek in je eigen lokale netwerk streamen. Slechts een persoon
hoeft de playlist aan te leggen en alle gebruikers kunnen vervolgens hun
favoriete nummers kiezen, net als bij een Jukebox. (zie ook IceDJ).
Installatie
De installatie van het programma is niet moeilijk, zolang je geen
ongebruikelijke instellingen uitprobeerd.
Eerst haal je Icecast op van het Internet. De homepage van Icecast is te
vinden op http://icecast.linuxpower.org/. Download de nieuwste versie (als
broncode) en pak deze uit:
>> tar zxvf icecast-1.x.x.tar.gz -C /tmp >> cd /tmp/icecast-1.x.x/Compileren gaat met:
>> ./configure >> makeDe installatie doe je als root met:
>> make installDit commando kopieert alle nodige bestanden naar /usr/local/icecast ..
De configuratie van icecast gebeurd in het bestand usr/local/icecast/etc/icecast.conf. De belangrijkste instellingen zijn:
# --eerst de server en eigenaar # # De locatie van de server location Music from mars # e-mail adres van de eigenaar rp_email webmaster@home.de # URL van de website die hoort bij de muziek server_url http://www.linuxnetmag.com [...] #--Je kunt de icecast server via het netwerk beheren, # deze optie is beveiligd met een wachtwoord # normale client hoeven niet in te loggen client_password not_used # de overige wachtwoorden dien je aan te passen encoder_password mypassword admin_password mypassword oper_password mypassword [...] # De poort die icecast moet gebruiken port 8010 # De hostname van de server server_name my.computer.com |
Alle andere instellingen blijven ongewijzigd.
Nu kun je Icecast voor het eerst starten (als root, op poort 8010):
>> /usr/local/icecast/bin/icecast -P 8010Icecast meld het volgende op de stdout (standaard uitvoer) als alles goed is ingesteld:
[09/Jan/2000:16:38:37] Icecast Version 1.3.0 Starting.. [09/Jan/2000:16:38:37] Using stdin as icecast operator console [09/Jan/2000:16:38:37] Tailing file to icecast operator console [09/Jan/2000:16:38:37] Server started... [09/Jan/2000:16:38:37] Listening on port 8010... [09/Jan/2000:16:38:37] Using [ronny.ziegler.de] as servername... [09/Jan/2000:16:38:37] Max values: 20 clients, 10 clients per source, 10 sources, 5 admins -> [09/Jan/2000:16:38:37] [Bandwidth: 0.000000MB/s] [Sources: 0] [Clients: 0] [Admins: 1] [Uptime: 0 seconds] -> |
Deze uitvoer biedt een prompt die kan worden gebruikt om Icecast tijdens
gebruik te beheren.
Type help voor een lijst van alle beschikbare commandos.
shout
Tot nu toe heeft Icecast nog geen muziek afgespeeld, omdat we hem dat nog
verteld hebben.
Shout doet dit werk en is te vinden in
/usr/local/icecast/bin/. Shout kan op een andere computer in
hetzelfde netwerk worden gestart. Deze manier van werken -splitsen van
streaming server en muziek database- is wat voor te zeggen. Terwijl de
Icecast server hard werkt om alle muziek te streamen naar alle clients,
kan een andere machine worden gebruikt als database of, als je een live
uitzending wilt, kan deze de muziek in realtime coderen.
Daarvoor heeft Shoutcast enkele opties die afhankelijk van de configuratie
moeten worden opgegeven.
- De server waar icecast op draait. Als shout op de computer waar icecast ook op draait, volstaat een simpele localhost. In ieder ander geval is de naam of IP nodig
- Het wachtwoord om bestanden naar icecast te versturen (in icecast.conf bij admin_password)
- De poort die icecast gebruikt (poort 8010 in ons geval)
- De directory waar de mp3 bestanden zijn te vinden
Alles bij elkaar, ziet het commando er als volgt uit:
>> /usr/local/icecast/bin/shout localhost -P mypassword -e 8010 /tmp/mp3/*Als alles goed werkt, start Shout met verzenden van muziek naar Icecast:
Playing /tmp/mp3/Alice_in_Fashionland.mp3 [2:38] Size: 2219520 Bitrate: 112000 (28455 bytes/dot) [...................................... |
Icecast verteld op de prompt dat de connectie werd geaccepteerd:
-> [09/Jan/2000:17:37:57] Accepted encoder on mountpoint /monkey from localhost. 2 sources connected -> [09/Jan/2000:17:37:57] Assigning listeners from pending source 3 -> [09/Jan/2000:17:37:57] Kicking source 3 [localhost] [Lost all clients to new source] [encoder], connected for 10 minutes and 19 seconds, 824214 bytes transferred. 2 sources connected -> [09/Jan/2000:17:37:57] Kicking all 0 clients for source 3 -> |
Waar is de muziek?
Nu kun je de muziek op 8010 beluisteren met alle mp3 spelers die streaming ondersteunen. Met freeamp volstaat een simpele
>>freeamp http://my.server.de:8010Het programma zet automatisch de verbinding met Icecast op. Voor de beste kwaliteit kun je het beste Xmms gebruiken. Helaas moet je zelf een playlist maken waarin de Icecast server is opgenomen:
[playlist] numberofentries=1 File1=http://my.server.de:8010 |
Als je dit bestand laadt, hoor je ook Internet radio met Xmms.
Alle M$ Windows gebruikers kunnen een link op hun homepage maken, die automatisch de opgegeven mp3 speler start en contact maakt met de Icecast server.
Je hebt de volgende tags nodig in je HTML pagina:
<a href="shoutcast-playlist.pls"><img src="tunein.gif" Border=0>< /a> |
en een bestand shoutcast-playlist.pls in dezelfde directory. Dit bestand heeft dezelfde inhoud als de playlist voor Xmms.
[playlist] numberofentries=1 File1=http://my.server.de:8010 |
Nu is je Internet-radio station klaar. De mogelijkheden zijn icecast zijn
nogal overweldigend en alleen de belangrijkste opteis zijn beschreven in
dit "korte" artikel. Tot nu toe verstuur je muziek die in een speciale
directory is opgeslagen. Icecast ondersteund ook live streaming en het
vesturen van data in realtime. Verder worden playlists ook ondersteund en
nog veel meer nuttige dingen, die dit artikel veel te lang zouden maken.
Links:
Homepage icecast: http://icecast.linuxpower.org/