View previous topic :: View next topic |
Author |
Message |
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4809 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Thu Apr 15, 2004 3:06 pm Post subject: [howto] manuale ices-icecast |
|
|
Questo topic nasce da una pessima idea di fedeliallalinea.
Se serve, i pomodori marci tirateli a lui.
Naturalmente, commenti, correzioni e critiche sono graditissimi.
Il fatto è che sono riuscito a far partire un server di streaming audio, e desidero provare a spiegare come ho fatto.
La prima cosa è: consultare un buon manuale. Sono ottimi gli howto del sito www.icecast.org, o quelli contenuti nell'articolo del numero 7 di LinuxPro, ottobre 2003, pagine 18 e seguenti.
Ma se qualcuno preferisce continuare qui, allora peggio per lui.
1. Prima di tutto: cosè uno streaming audio?
Uno streaming audio è un flusso di dati che rappresenta una sequenza sonora, opportunamente codificata.
2. Come faccio a produrre uno streaming audio?
Un modo elementare è il seguente: in ambiente grafico, lancia gnome-volume-control da terminale (o un suo equivalente, come aumix o kmix).
Su uno qualunque dei canali disponibili, seleziona il modo reg. Automaticamente, il sistema operativo mette a disposizione dell'utente un flusso di streaming circoscritto a quel singolo canale.
Fai attenzione: registrare è una bellissima, ma registrare la cosa sbagliata e collocarla nel posto sbagliato può costituire reato. Ricorda sempre che il free-software trova la propria forza nella capacità di rispettare la libertà di tutti, non solo la propria.
3. Già fatto? Ma io non sento niente!
Certo. Il flusso esiste, ma nessuno sa dove sia né come utilizzarlo. Sono necessari infatti due servizi molto precisi:
a) Un servizio per trasformare il flusso di dati in un file del formato appropriato (per esempio ices);
b) Un servizio che crea i socket per porre i dati a disposizione dell'utente (per esempio icecast).
4. Cominciamo con icecast?
Si, forse è più ordinato. Intanto bisogna compilarlo con emerge. Da superutente:
Code: |
$ emerge -s icecast
$ ACCEPT_KEYWORDS="~x86" emerge icecast
|
In linea di principio, il programma potrebbe già partire così, ma è meglio controllare preventivamente il file di configurazione:
Code: |
cat /etc/icecast2/icecast.xml
|
Le modifiche assolutamente indispensabili per partire sono piuttosto poche.
Una è la modifica del tag <hostname>. Bisogna inserire un indirizzo risolubile per l'utente remoto, che altrimenti potrà scaricare i dati musicali ma non riprodurre il suono con xmms o noatun, perché queste applicazioni cercheranno vanamente di connettersi a localhost.
Importantissma, però la riga 89: <logdir>. Emerge non crea le directory di log in un modo compatibile con le impostazioni di default del sorgente. Quindi bisoga arrangiarsi a mano.
Io ho creato /var/log/icecast e modificato il tag in questione.
Molto utile, per avviare correttamente il server, la seguente modifica:
Code: |
<!--
<changeowner>
<user>nobody</user>
<group>nobody</group>
</changeowner>
-->
|
diventa:
Code: |
<!-- -->
<changeowner>
<user>icecast</user>
<group>icecast</group>
</changeowner>
<!-- -->
|
Attenzione ai commenti XML. Un piccolo errore può essere fatale. E' utilile in questo caso far uso di un editor con evidenziazione a colori, come kate.
Ora crea l'utente icecast. Per esempio:
Code: |
echo 'icecast:x:499:499:added by portage for icecast:/var/cvsroot:/bin/false'>>/etc/passwd
echo 'icecast:x:499:'>>/etc/group
echo 'icecast:!:12514:0:99999:7:::'>>/etc/shadow
chown -R icecast:icecast /var/log/icecast
chmod -R 744 /var/log/icecast
|
Fai molta attenzione al 499, che non sia un id occupato da un altro utente.
Adesso puoi partire! Sempre da superutente, digita:
Code: |
icecast -b -c /etc/icecast2/icecast.xml
|
L'avvio di icecast è un'operazione da superutente. In teoria, dovrebbe esistere uno script da collocare nella directory /etc/init.d, ma gentoo non lo ha predisposto.
5. Uffa! Non sento niente!
Certo. Apri un browser (anche IE) e digita:
Code: |
http://localhost:8000/admin/
|
Senza dimenticare la barra finale! User Name: admin Password: hackme (se non la hai cambiata nel file di configurazione).
Non senti nulla, ma puoi già amministrare quel nulla!
6. Fantastico! e adesso?
Manca ancora il servizio a), quello che crea un file di streaming. Tieni presente che ices non può essere configurato in modalità grafica ed è quindi un po' scomodo, come programma client. Se desideri un client grafico cerca qualche altro applicativo (per esempio MuSE).
Code: |
$ emerge -s ices
$ ACCEPT_KEYWORDS="~x86" emerge ices
|
Per inciso, faccio notare che, su ppc, il risultato è piuttosto deludente:
Code: |
gentoo-ppc cloc3 # ACCEPT_KEYWORDS="~ppc" emerge ices -p
These are the packages that I would merge, in order:
Calculating dependencies
!!! all ebuilds that could satisfy "ices" have been masked.
!!! possible candidates are:
- net-misc/ices-0.2.3 (masked by: -keyword)
- net-misc/ices-2.0.0 (masked by: missing keyword)
- net-misc/ices-2.0_beta4 (masked by: missing keyword)
- net-misc/ices-0.3 (masked by: missing keyword)
!!! Error calculating dependencies. Please correct.
|
mentre il comando:
Code: |
$ ACCEPT_KEYWORDS="~x86" emerge ices
|
Misteriosamente, compila (e funziona)!
7. Qual è il file di configurazione?
Sono due: /etc/ices2/ices-live.xml.dist ed /etc/ices2/ices-playlist.xml
Il primo ti permette di trasformare in uno strem tutti suoni che hai posto in registrazione con gnome-volume-control (ricordi il punto 1?). Praticamente come una radio.
Il secondo riproduce i documenti audio (rigorosamente di tipo .ogg) indicati in una apposita lista che puoi preparare autonomamente. Praticamente come un juke-box.
ices può essere considerato un client di icecast e utilizzato da un utente semplice. Adesso puoi abbandonare la shell di superutente.
Crea una directory per i file di configurazione:
Code: |
cp /etc/ices2 ~/.ices
mkdir ~/.ices/log
|
Controlla che gli indirizzi e le password dei file di configurazione di ices e icecast corrispondano correttamente (nella configurazione di default è tutto ok).
Fondamentale la sistemazione del tag <logpath>.
Utile inserire 1 nel tag <background> per forzare l'esecuzione in batch (non esiste un'opzione -b, e l'uso del simbolo & non funziona)
Se vuoi usare una playlist, indica il path corretto nel tag <paran name="file"> all'interno del tag <input>.
Utile, per la playlist sostituire 1 a zero nel tag <param name="restart-after-reread">, per ottenere una esecuzione ripetuta dei file della lista.
Modifica il tag <logpath>, e finalmente lancia il programma:
Code: |
ices ~/.ices/ices-live.xml.dist
oppure:
ices ~/.ices/ices-playlist.xml.dist
|
7. Non sento ancora niente!
Pazienza! Ormai 6 un gioco da ragazzi.
Dal browser, digita http://localhost:8000/admin/ e di seguito clicca su Status Page.
Come vedi, accanto alla voce Listen è comparso un nuovo link Here, che punta a http://localhost:8000/example.ogg.m3u
E' un file di testo, accessibile via-internet anche da remoto.
Se invece digiti semplicemente http://localhost:8000/example.ogg, accederai direttamente ai dati audio.
Se lo desideri, puoi scaricare i dati in un file .ogg, e ascoltare con ogg123, oppure attivare direttamente xmms o noatun.
Probabilmente esiste un plugin che consente l'esecuzione immediata e che non ho ancora cercato. Ma questo è tema di un altro howto _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4809 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Fri Apr 23, 2004 7:01 pm Post subject: |
|
|
editato 1 volta per il baco di popposoft e per aggiungere un commento relativo al tag <hostname> _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
fedeliallalinea Administrator
Joined: 08 Mar 2003 Posts: 31357 Location: here
|
Posted: Fri Apr 23, 2004 7:22 pm Post subject: |
|
|
Ottimo howto. Grazie . _________________ Questions are guaranteed in life; Answers aren't. |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4809 Location: http://www.gentoo-users.org/user/cloc3/
|
Posted: Fri Apr 23, 2004 7:27 pm Post subject: |
|
|
fedeliallalinea wrote: | Ottimo howto. Grazie . |
Non so. Devo ancora dominare il controllo del suono ricevuto. Presto verrò a piangere perché non si sente bene. _________________ vu vu vu
gentù
mi piaci tu |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|