>>> HOWTO STREAMING di base <<< ...la radio fattaincasa >>> bugslabs >>> POTERE PINGUINO! Indice del mini-Howto 1 >>> COSA SERVE PER LO STREAMING 2 >>> COME FUNZIONA (moooolto in breve) 3 >>> SCARICARE E INSTALLARE I PROGRAMMI CHE TI SERVONO 3.1 >>> LATO SORGENTE (Muse e Lame) 3.1.1 -- Muse (x lo streaming) -- 3.1.2 -- Lame (x la codifica in MP3) 3.2 >>> LATO SERVER (Icecast) 3.3 >>> LATO CLIENT (XMMS-Winamp) 4 >>> CONFIGURARE ED UTILIZZARE I PROGRAMMI 4.1 -->> configurare Muse (sorgente) 4.2 -->> configurare IceCast (streaming server) 4.2.1 -- Riferimenti ed Informazioni generali su Server 4.2.2 -- Password 4.2.3 -- Indirizzo IP del Server 4.2.4 -- Sicurezza 4.2.5 -- Il Timeout 4.2.6 -- L'alias, ovvero ripetere il segnale di un altro server 4.3 -->> COME USARE ICECAST 4.4 -->> COME USARE XMMS (o winamp) COME CLIENT --------------------------------------------------------------------------------- 1 >>> COSA SERVE PER LO STREAMING > un "emittente" (sorgente) -scheda audio -un paio di casse -software per lo streaming [Muse,Liveice - Shoutcast] -software per la codifica del formato MP3 [Lame] -una connesione ad Internet (modem , ADSL etc.) -qualcosa da streammare: la tua voce, MP3, CD ... > un server -software streaming server [Icecast] -una connessione ad internet veloce (ADSL o superiore) > qualcuno che ti ascolti ;) (client) -una connessione ad internet (modem , ADSL etc.) -scheda audio -un paio di casse -software per ascoltare MP3 [XMMS,Freeamp,mpg123 - Winamp] 2 >>> COME FUNZIONA (moooolto in breve) La macchina emittente codifica una fonte audio in formato compresso MP3 utilizzando un software (es. Lame [linux]). Il file audio viene indirizzato a una macchina che fa da "server", cioe', nel caso dello streaming audio, che gestisce l'accesso degli ascoltatori alla sorgente (emittente), tramite internet. Per la "trasmissione" al server la sorgente utilizza un altro software (es. Liveice o Muse [Linux] - Shoutcast [windoze]) L'ascoltatore (client) utilizza un banalissimo software per la decodifica e l'ascolto degli MP3 come XMMS per Linux o Winamp x windoze. Il client si connettera all'indirizzo del server, il quale gli inviera' l'audio proveniente dalla sorgente Quindi vi sono almeno 3 soggetti fondamentali nel meccanismo dello streaming, anche se la sorgente e il server possono coincidere, ovvero si possono installare i programmi necessari su una sola macchina Esempio: /--------\ | server | \--------/ | | |modem| | | /------\ /--------\ / \ /------\ |sorgente|---|modem|-----| Internet |------|modem|---|client| \--------/ \ / \------/ \------/ \ | \ | \ |modem| |modem| | \ | \ /------\ | \|client| /------\ \------/ |client| \------/ 1) sorgente codifica e spedisce a server 2) client contatta server e stabilisce una connessione 3) server invia l'audio codificato da sorgente ai client 3 >>> SCARICARE E INSTALLARE I PROGRAMMI CHE TI SERVONO Partendo dal presupposto che state utilizzando linux e che avete un modem, una connessione ad internet e l'interfaccia grafica gia' configurata. Se volete risparmiarvi un po' di problemi di "permessi" eseguite tutte le operazioni da utente semplice. 3.1 >>> LATO SORGENTE (Muse e Lame) 3.1.1 -- Muse (x lo streaming) Andate sul sito http://muse.seh.de/index.html >>> sezione download scaricate il file muse-0.5.2.tar.bz2 una volta scaricato andate nella directory dove avete messo il file e decomprimetelo: # bzip2 -d muse-0.5.2.tar.bz2 # tar xvf muse-0.5.2.tar decomprimendo il file si verra' a creare una nuova directory, entrateci # cd muse-0.5.2 !!! Cio' che avete scaricato non e' il vero e proprio programma, ma il suo "codice sorgente" ovvero il programma scritto in un linguaggio di programmzione non ancora compresibile per la macchina. Per renderlo "avviabile" dovrete "compilarlo". Cio' e valido x tutti i programmi che scaricheremo e quindi dovrete ripetere questa operazione x ogni programma. !!! Per accertarvi che sul vostro computer ci sia tutto il necessario per la compilazione digitate: # ./configure Alla fine della configurazione, per compilare il programma digitate: # make Alla fine della compilazione, per installare il programma nella directory esatta digitate # make install 3.1.2 -- Lame (x la codifica in MP3) Andate sul sito http://www.mp3dev.org/mp3 >>> andate sul link "Download the source code" e scaricate il file lame3.90.1.tar.gz una volta scaricato andate nella directory dove avete messo il file e decomprimetelo: # gzip -d lame3.90.1.tar.gz # tar xvf lame3.90.1.tar decomprimendo il file si verra' a creare una nuova directory, entrateci # cd lame3.90.1 !!! Eseguite la compilazione come sopra !!! 3.2 >>> LATO SERVER (Icecast) -- IceCast (streaming server) Andate sul sito http://www.icecast.org >>> andate sul link "Download" e scaricate il file icecast-1.3.12.tar.gz una volta scaricato andate nella directory dove avete messo il file e decomprimetelo: # gzip -d icecast-1.3.12.tar.gz # tar xvf icecast-1.3.12.tar decomprimendo il file si verra' a creare una nuova directory, entrateci # cd icecast-1.3.12 !!! Eseguite la compilazione come sopra !!! 3.3 >>> LATO CLIENT (XMMS-Winamp) -- XMMS (x ascoltare MP3 - tipo Winamp) Andate sul sito http://www.xmms.org >>> andate sul link "Download" e scaricate il file xmms-1.2.7.tar.gz una volta scaricato andate nella directory dove avete messo il file e decomprimetelo: # gzip -d xmms-1.2.7.tar.gz # tar xvf xmms-1.2.7.tar decomprimendo il file si verra' a creare una nuova directory, entrateci # cd xmms-1.2.7 !!! Eseguite la compilazione come sopra !!! 4 >>> CONFIGURARE ED UTILIZZARE I PROGRAMMI Presupponendo che fino a qui e' andato tutto bene (cosa non assicurata) configureremo i programmi. Muse e XMMS hanno un interfaccia grafica e possono essere utilizzati sotto X (l'intefaccia grafica di Linux) Icecast utlizizza un interfaccia testuale 4.1 -->> configurare Muse (sorgente) lanciate X # startx apritevi una shell x poter digitare i comandi per lanciare Muse con l'interfaccia grafica digitate: # muse -g gtk l'interfaccia e' decisamente intutiva: Clikkate sul microfono per parlare. Clikkare su line-in per mandare suono attraverso l'entrata della scheda audio (ad esempio un mixer o un lettore cd esterno al pc) Aggiungete i pezzi in MP3 delle finestre dei canali (tasto destro del mouse) per poterli mandare e mixare direttamente dal pc. Per configurare la connessione al server clikkate su "Let's Stream": - sezione Icecast: > inserite l'indirizzo IP del server icecast che utilizzerete, se siete voi stessi il server inserite "localhost" > lasciate la porta di default (la 8000) > inserite il mountpoint che desiderate , cioe' la stringa che dovra' essere scritta dopo l'indirizzo del server dal client per ascoltare la vostra "trasmissione" es. http://192.210.41.60:8000/pippo /\ /\ /\ IP del server porta mountpoint > utilizzate il metodo X-audiocast come "login type" > inserite la password del server icecast che utilizzerete - sezione Lame: qui configurerete la compressione dell'audio. senza dilugarci troppo, si puo' dire molto in generale: + e' alta la qualita' audio - utente si potranno connettere al server Il bitrate, la frequency e la modalita' mono/stereo sono indicativi della qualita'/compressione dell'audio. Tenedoci "bassi" inserite: bitrate 16 frequency 16000 o 22050 channel mono --- dalla sezione Icecast clikkate su Connect e vi connetterete al server (che deve essere gia' avviato) 4.2 -->> configurare IceCast (streaming server) Icecast dorebbe essersi installato sulla directory /usr/local/icecast/ -->> File di configurazione il file di configurazione si trova in /usr/local/icecast/conf/ e si chiama icecast.conf.dist va rinominato in incesta.conf digitate: # mv /usr/local/icecast/conf/icecast.conf.dist mv /usr/local/icecast/conf/icecast.conf ora, per modificarlo: # vi /usr/local/icecast/conf/icecast.conf Il file contiene di per se la spegazione (in inglese) di ogni singola opzione qui accenniamo le piu' rilevanti: il "#" davanti ad una riga significa che la riga e' commentata e quindi NON utilizzata nella configurazione corrente. Senza dover cancellare o aggiungere intere righe, aggiungete o rimuovete il "#" davanti alla riga 4.2.1 -- Riferimenti ed Informazioni generali su Server location dovesei - dov'e' il server fisicamente rp_email bla@bla.org - email di chi amminnistra il server server_url http://www.bla.org - indirizzo web di riferimento 4.2.2 -- Password L'admin e' l'amministratore cioe' chi puo' connettersi al server per gestirlo, spegnerlo, modificarne la configurazione. L'encoder e' la sorgente, l'emittente, nel caso di questo howto Muse. encoder_password password1 - password delle sorgenti(da utilizzare su Muse) admin_password password2 - la password dell'amministratore 4.2.3 -- Indirizzo IP del Server L'indirizzo IP e' il numero che identifica la vostra macchina in una rete. E' l'indirizzo che vi rende "reperibili" ad altri utenti, nel nostro caso ai clients, gli ascoltatori hostname 195.123.48.61 - indirizzo il vostro indirizzo IP port 8000 - la porta da utilizzare per streammare server_name - il dominio che punta al vostro IP !!! se nessun dominio punta verso di voi COMMENTATELA !!! 4.2.4 -- Sicurezza La modalita' piu' sicura e' la 0: cioe' l'amministratore si puo' connettere ar server solo dal computer su cui risiede il programma e non da remoto. Per altre modalita' consultate i commenti del file console_mode 0 4.2.5 -- Il Timeout Il timeout e' il tempo (in sec) che il server deve aspettare, se la sorgente ha smesso di trasmettere, prima di kickkare (cacciare) i client (ascoltatori) Ad esempio con queste righe il server, dopo che le sorgenti hanno smesso di trasmettere, aspettera' 30 secondi prima di kickare i clients client_timeout 30 kick_clients 0 4.2.6 -- L'alias, ovvero ripetere il segnale di un altro server Nel caso in cui vogliate fare da mirror (ovvero "ripetere" il segnale) a un altro server inserite il suo nome, indirizzo IP e porta di comunicazione dopo la riga alias. Ad es.: alias ondarossa http://66.28.48.194:19246 4.3 -->> COME USARE ICECAST Per avviare il server icecast digitate: # /usr/local/icecast/bin/icecast Il server vi da' informazioni su quali e quanti clients e sources (sorgenti) si connettono o sconnettono. Se volete una lista dettagliata dei comandi di icecast digitate: # help Per "spegnere" il server digitate shutdown 4.4 -->> COME USARE XMMS (o winamp) COME CLIENT Se volete ascoltare uno streaming digitate, da una shell sotto interfaccia grafica: # xmms Si aprira' XMMS un programma praticamente identico a Winamp x Windoze. Per ascoltare premete contemporaneamente i tasti CTRL + L scrivete qui l'indirizzo del server seguito dalla porta e dal mountpoint es. radiondarossa http://66.28.48.194:19146 e clikkate OK