Una connessione ADSL, un PC, due software e la Web Radio è pronta. Avremo tutta la nostra musica sempre e ovunque, anche su smartphone e lettori, basta sintonizzarsi
Avere una propria radio che trasmetta ininterrottamente le nostre canzoni preferite era, fino a pochi anni fa, un sogno difficilmente realizzabile. Con le connessioni ADSL e gli strumenti software forniti da GNU/Linux, però, questo sogno può finalmente avverarsi. Ma a cosa serve avere una radio personale on-line? Innanzitutto, a portare la musica che amiamo di più sempre con noi: ad esempio, per ascoltarla con lo smartphone. Oppure, per condividere musica con chi ha gli stessi nostri gusti. Per ottenere ciò, serve GNU/Linux e le applicazioni Icecast e Ices. La radio on-line che andremo a costruire sarà costituita da un server, tipicamente il nostro PC, che si occupa di trasmettere su Internet lo streaming (i contenuti) audio, il server di streaming Icecast, e da Ices, che fornisce i contenuti al server di streaming stesso. Entrambe le applicazioni verranno installate su un unico PC, al quale poi dovranno collegarsi i dispositivi, computer o smartphone, che vorranno “sintonizzarsi” alla radio. Per le istruzioni e gli esempi riportati verrà adottata come distribuzione di default Ubuntu 10.10. Cominciamo con l’installare il server Icecast.
COME FUNZIONA ICECAST
Streaming e formati supportati
Icecast è un progetto software che fornisce, come applicazione principale, il server per lo streaming multimediale che utilizziamo in questo articolo per gestire la radio on-line. Ma cosa significa la parola streaming? Con questo termine si indica la trasmissione di un flusso di dati multimediali che, quindi, sono letti e riprodotti nel momento stesso in cui vengono ricevuti. Il server Icecast consente di usare diversi formati per l’invio dei dati in streaming: MP3, NSV e AAC, che adottano il protocollo SHOUTcast, e i formati Ogg Vorbis e Ogg Theora, che invece fanno uso del protocollo HTML. Applicazioni che permettono di ascoltare i flussi audio trasmessi con Icecast sono disponibili per tutte le principali piattaforme.
Il server di streaming della Web Radio
Icecast, il “cuore” della radio: modifica dei permessi e accesso alla sua interfaccia di gestione
01 INSTALLARE ICECAST
Apriamo un terminale: entriamo nel menu Applicazioni nel pannello in alto, selezioniamo Accessori e clicchiamo su Terminale. Assicuriamoci di avere una connessione ad Internet attiva, poi nel terminale eseguiamo sudo apt-get install icecast2 per installare Icecast. Inseriamo la password del nostro utente per proseguire.
02 LE PASSWORD
Fatto ciò, dobbiamo modificare le password del server Icecast. Per fare questo, eseguiamo nel terminale il comando sudo nano /etc/icecast2/icecast.xml: apriremo così il file di configurazione icecast.xml con l’editor di testo nano. Nella schermata che appare, individuiamo la sezione del file che inizia con la riga ‹authentication›.
03 LA SOURCE-PASSWORD
Cambiamo la password che serve per connettere Ices a Icecast: questa è indicata nella riga che inizia con ‹sourcepassword›. Al posto della password di default, hackme, inseriamo una password a piacere. La relay-password non ci serve, ma per sicurezza è meglio cambiarla nella riga che inizia con ‹relay-password›.
04 INTERFACCIA WEB
Infine, cambiamo l’admin-password, che permette di accedere all’interfaccia web di Icecast. Per fare questo, modifichiamo la password nella riga che inizia con ‹admin-password›. Fatto ciò, salviamo le modifiche al file premendo Ctrl + O e Invio. Poi usciamo dall’editor digitando la combinazione di tasti Ctrl + X.
Icecast è pronto, bisogna attivarlo
Le modifiche per farlo partire al boot e subito dopo avviare il server
01 PICCOLA MODIFICA
Ora che le password sono state modificate nel file /etc/icecast2/icecast.xml, possiamo consentire che Icecast venga avviato: per default, infatti, il server non viene eseguito automaticamente al boot del PC. Digitiamo, dunque, nel terminale il comando seguente: sudo nano /etc/default/icecast2.
02 ATTIVARE ICECAST
Attiviamo Icecast cambiando una riga del file /etc/default/icecast2 aperto con l’editor. Nel file raggiungiamo l’ultima riga, ENABLE=false, e modifichiamola in ENABLE=true. Fatto ciò, digitiamo la combinazione di tasti Ctrl + O e Invio per salvare le modifiche al file e premiamo Ctrl + X per uscire dall’editor.
03AVVIARE IL SERVER
Ora è possibile avviare il server Icecast per lo streaming audio. Per fare questo, eseguiamo nel terminale il comando sudo /etc/init.d/icecast2 start. Per verificare che il server funzioni correttamente, apriamo in un browser l’URL http://localhost:8000. Se tutto è a posto, nel browser comparirà l’interfaccia web di Icecast.
IL SERVER FUNZIONA! TOCCA AL BITRATE
Con il tutorial precedente abbiamo terminato la configurazione del server Icecast: concluso l’ultimo passaggio, il server risulterà attivo e sarà pronto per ricevere da Ices i dati audio da trasmettere in streaming. Il passo successivo sarà poi quello di installare e configurare Ices. Prima di fare ciò, però, è consigliabile stabilire la qualità audio dei file musicali che trasmetteremo: la banda in uscita fornita dalla nostra connessione ADSL dovrà, infatti, essere ripartita tra tutti gli ascoltatori che si collegheranno contemporaneamente alla radio; più basso sarà il bitrate dei file musicali, dunque, e più ascoltatori potremo far accedere alla nostra “stazione” privata. Ad esempio, avendo a che fare con i 256 Kbps di banda di uscita della classica connessione ADSL casalinga, per tre ascoltatori in contemporanea il bitrate ideale è di 64 Kbps: occuperemo così 192 Kbps di banda totale, in modo tale da lasciare una sufficiente quantità di banda in upload per gli altri utilizzi sul PC della rete. Se, invece, pensiamo di avere un solo ascoltatore, ad esempio per ascoltare semplicemente i nostri brani in streaming dallo smartphone, possiamo usare un bitrate di 128 Kbps o superiore.
PRIMA ICECAST, ADESSO ICES
A questo punto, possiamo passare all’installazione e alla relativa configurazione di Ices. In una finestra di terminale, dunque, eseguiamo il comando sudo apt-get install ices2: installeremo così il pacchetto di Ices. Per il corretto funzionamento del programma, è necessario creare alcune directory. Innanzitutto, creiamo la directory che conterrà il file di configurazione dell’applicazione: nel terminale eseguiamo il comando sudo mkdir /etc/ices2. Quindi, con sudo mkdir /var/log/ices creiamo la cartella per i file di log di Ices. Volendo, possiamo creare una directory contenente i file musicali da trasmettere in radio, ad esempio /etc/ices2/music, ma si tratta semplicemente di una scelta organizzativa: i brani, infatti, possono risiedere in qualsiasi cartella del sistema. Fatto ciò, per intervenire sulla configurazione di Ices seguiamo le istruzioni presenti nel tutorial successivo.
Configurare Ices
Basta creare un file per adattarlo alle nostre esigenze
01 DOVE INTERVENIRE
Innanzitutto, creiamo un nuovo file di configurazione copiandolo da uno di esempio. Per fare questo, in un terminalem, eseguiamo il comando sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2. Fatto ciò, eseguiamo sudo nano /etc/ices2/ices-playlist.xml per modificare il nuovo file di configurazione.
02 IN BACKGROUND
Nel file aperto cambiamo, in alto, la riga ‹background›0‹/background› in ‹back-ground›1‹/background›. In questo modo, Ices verrà eseguito in background. Se lo vogliamo, modifichiamo i valori nelle righe tra ‹metadata› e ‹/metadata›: inseriremo qui il nome dello stream, il genere e una descrizione.
03 LA PLAYLIST
Passiamo alle righe tra ‹input› e ‹/input›. Indichiamo il file della playlist: nella riga ‹param name=”file”›playlist.txt‹/param› inseriamo /etc/ices2/playlist.txt al posto di playlist.txt. Per riprodurre i brani della playlist in modo casuale, nella riga ‹param name=”random”›0‹/param› cambiamo lo 0 in 1.
04 PASSWORD E BITRATE
Inseriamo la password per la connessione ad Icecast. Individuiamo la riga ‹password›hackme‹/password› e inseriamo al posto di hackme la source-password (quella scelta nel tutorial precedente). Nella riga ‹nominal-bitrate›64000‹/nominal-bitrate› inseriamo il bitrate da usare per i brani (64 Kbps per default).
GENERARE LA PLAYLIST
Il passaggio successivo consiste nella creazione della playlist, cioè dell’elenco dei brani che verranno trasmessi in streaming. Le versioni più recenti di Ices supportano lo streaming di brani in formato Ogg Vorbis, quindi dobbiamo assicurarci che tutti i brani da inserire nella playlist siano in questo formato. Fatto ciò, con un editor di testo creiamo il file /etc/ices2/playlist.txt e, in questo, inseriamo in ciascuna riga il percorso completo di ogni brano musicale da trasmettere. Per automatizzare la procedura possiamo usare il comando find: ad esempio, per inserire nella playlist tutti i file Ogg Vorbis presenti nella cartella /media/Musica eseguiamo il comando sudo -s, inseriamo la password, e poi terminiamo con find /media/Musica/ -iname *.ogg” > /etc/ices2/playlist.txt.
LA RADIO TRASMETTE!
Nel tutorial conclusivo, scopriamo come avviare Ices dopo averlo configurato e, quindi, come assicurarci che lo streaming funzioni collegandoci all’indirizzo della nostra radio dal PC stesso su cui è attivo Icecast. Terminato l’ultimo passaggio del tutorial, siamo pronti per accedere da remoto alle nostre trasmissioni in streaming. Utilizzando una comune connessione ADSL, però, è molto probabile che l’indirizzo IP con cui è raggiungibile il nostro PC cambi ogni volta che si effettua il collegamento ad Internet: per poter accedere alla radio da un altro PC o da uno smartphone, dunque, è necessario far uso di un servizio di DNS dinamico come, ad esempio, www.dyndns.com. Un servizio di questo tipo permette di assegnare un nome di host univoco ad un indirizzo IP che cambia frequentemente. Sfruttando un servizio di DNS dinamico, quindi, ci collegheremo alla nostra radio aprendo con un player multimediale un indirizzo come, ad esempio, http://miaradio.dyndns.org:8000/example1.ogg.m3u.
Ascoltare la radio in streaming
Verifica del flusso audio e poi sintonizzazione sulla radio
01 AVVIARE ICES
Adesso non rimane che avviare Ices. Per fare questo, eseguiamo in un terminale l’eseguibile ices2 da root, seguito dal percorso del file di configurazione del programma: sudo ices2 /etc/ices2/ices-playlist.xml. Ora Ices comincerà a trasmettere lo streaming dei file nella playlist: non ci resta che verificare che tutto funzioni.
02 L’INDIRIZZO GIUSTO
In un browser apriamo l’indirizzo http://localhost:8000 per accedere all’interfaccia web di Icecast. Se Ices è configurato correttamente, comparirà una schermata simile a quella visibile in figura. Ci verranno fornite diverse informazioni sullo streaming audio della nostra radio. Raggiungiamo con il puntatore del mouse il link M3U.
03 IL “SOLITO” VLC
Fatto ciò, in basso nella finestra, verrà mostrato l’indirizzo dello streaming sulla macchina locale (http://localhost:8000/example1.ogg.m3u). Ora, per collegarci alla nostra radio, usiamo un’applicazione multimediale che permetta di ascoltare gli streaming audio. Ad esempio VLC: installiamola con sudo apt-get install vlc
04 FLUSSO DI RETE
Avviamo VLC entrando nel menu Applicazioni e cliccando su Audio e video/Lettore multimediale VLC. Nella finestra di VLC, entriamo nel menu Media e clicchiamo sulla voce Apri flusso di rete. Nella finestra Apri media inseriamo l’indirizzo dello streaming, quindi clicchiamo su Riproduci. Potremo così ascoltare la nostra radio.
CONVERTIRE GLI MP3 IN OGG
Basta un semplice programma come dir2ogg
È probabile che una parte rilevante dei nostri brani preferiti sia in formato MP3. Per convertirli facilmente in Ogg Vorbis, possiamo utilizzare un software come dir2ogg. Installiamolo su Ubuntu con il comando sudo apt-get install dir2ogg. L’utilizzo di questa applicazione è molto semplice: in un terminale eseguiamo dir2ogg seguito dalla directory che contiene i file da convertire. Oltre ai file in formato MP3, il programma consente di convertire in Ogg Vorbis i formatiAPE, FLAC, MPC, WV e altri. Se preferiamo trasmettere in streaming direttamente i file MP3 possiamo usare la versione 0.x di Ices, al posto della release 2.x. Troviamo anche la versione 0.x all’indirizzo www.icecast.org/ices.php.