Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[howto] manuale ices-icecast
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4787
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Thu Apr 15, 2004 3:06 pm    Post subject: [howto] manuale ices-icecast Reply with quote

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
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4787
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Fri Apr 23, 2004 7:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30837
Location: here

PostPosted: Fri Apr 23, 2004 7:22 pm    Post subject: Reply with quote

Ottimo howto. Grazie :D .
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4787
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Fri Apr 23, 2004 7:27 pm    Post subject: Reply with quote

fedeliallalinea wrote:
Ottimo howto. Grazie :D .

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Page 1 of 1

 
Jump to:  
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