Usare Icecast per distribuire una web radio nella LAN

Il lungo titolo spiega bene lo scenario: avete più PC/dispositivi che vogliono ascoltare una stessa webradio nello stesso momento. Ogni PC/dispositivo farà la sua connessione alla webradio, quindi 2 ascolti contemporanei portano al raddoppio della banda necessaria per l’ascolto. Ok, saranno solo 256 kbps nella maggior parte dei casi, ma è comunque uno spreco, per non parlare del caso in cui le connessioni contemporanee siano più numerose. La soluzione potrebbe essere, in alcuni casi, un collegamento con un cavo audio, ma non sempre è possibile. Si può risolvere il problema usando Icecast, il famoso streaming server.

Icecast

È necessario impostare il server in modalità “Single Broadcast Relay“, con la modalità On Demand attivata. La cosa più comoda è avere un server sempre attivo o quasi, nel mio caso l’ormai fondamentale Linksys NSLU2 con Debian Etch (che uso anche come aMule/Torrent/HTTP downloader, server HTTP, server UPNP, NAS con NFS e centralino VOIP con Asterisk), ma qualsiasi Linux Box va più che bene, fermo restando che dovrà essere accesa per accedere alla webradio tramite Icecast…

L’installazione, sia con Ubuntu che con Debian, si limita al classico

apt-get install icecast2

I pacchetti precompilati sono comunque disponibili praticamente per ogni distribuzione.

La configurazione è molto semplice, e si esegue tramite /etc/icecast2/icecast.xml, al quale va aggiunta una sezione <relay>, ad esempio la seguente per Radio m2o:

    <relay>
        <server>mp3.m2o.it</server>
        <port>80</port>
        <mount>/</mount>
        <local-mount>/m2o</local-mount>
        <on-demand>1</on-demand>
        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>

È importante ricordarsi di attivare on-demand, altrimenti icecast continuterà ad essere connesso alla web radio anche quando non ci sono client in ascolto, e vanificando quindi il risparmio di banda che stiamo cercando di ottenere

Sempre nello stesso file bisogna aggiungere (o decommentare) la sezione <shoutcast-mount>, in modo che il mount point corrisponda al <local-mount> definito in <relay>:

<shoutcast-mount>/m2o</shoutcast-mount>

L’ultimo passo, nei sistemi Debian based, è l’abilitazione dell’avvio al boot di Icecast, editando il file /etc/default/icecast2: ENABLE va pasato da false a true.

Non resta che avviare Icecast e fare una prova connettendosi con il proprio player preferito (Amarok, VLC…) al server all’URL http://IP-DI-ICECAST:8000/m2o

/etc/init.d/icecast2 start

3 pensieri su “Usare Icecast per distribuire una web radio nella LAN

  1. Pingback: LuBlog » Blog Archive » Un NSLU2, mille usi

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *