Streaming radio su FreeBSD 10 con IceCast e Ices

Il seguente tutorial spiega come configurare un server di streaming radio IceCast e riprodurre file audio (musica o podcast) sulla piattaforma FreeBSD. Questo tutorial presuppone che tu stia eseguendo FreeBSD 10.0 o versioni successive e che tu abbia effettuato l'accesso come utente root. Si presupponeva inoltre che si dispone di un editor di testo per modificare i file di configurazione.

Prima di iniziare, è importante comprendere le tre parti di un server di streaming audio. Innanzitutto, abbiamo il software server stesso, IceCast. IceCast si comporta come un hub centrale in cui i flussi audio entrano e vengono inviati. Il servizio IceCast accetta flussi audio dai client di origine. I client di origine sono programmi che leggono file audio o altre fonti audio, come i microfoni. Nel nostro esempio, il client di origine è Ices e fornisce un flusso audio al server IceCast. Il terzo componente è un client in ascolto. I flussi audio viaggiano dal server IceCast agli ascoltatori che ascoltano l'audio. In genere un client in ascolto è un'applicazione desktop, ad esempio un browser Web, il lettore multimediale VLC o WinAMP. Visivamente, la disposizione è simile alla seguente:

 Source client (Ices) --> IceCast server --> Listening client (browser)

Per configurare un server di streaming IceCast su FreeBSD, installiamo prima il software server stesso. Questo può essere fatto eseguendo il seguente comando.

 pkg install icecast2

Quindi apriamo il /etc/rc.conffile e abilitiamo il servizio in background IceCast. Questo viene fatto aggiungendo il seguente testo in fondo al /etc/rc.conffile.

 icecast_enable="YES"

Il prossimo passo è configurare il servizio IceCast. Il pacchetto IceCast viene fornito con un file di configurazione di esempio che è possibile modificare. Questo file di esempio si trova nella /usr/local/etcdirectory. Faremo una copia di questo file di esempio prima di modificarlo.

 cd /usr/local/etc
 cp icecast.xml.sample icecast.xml

Vogliamo ora modificare alcuni campi chiave del icecast.xmlfile. La maggior parte del file può essere lasciata con le impostazioni predefinite, ma dovremmo modificare le informazioni di accesso. Possiamo farlo visitando l'autenticazione sezione (in corrispondenza della linea 30) e la modifica della sorgente della password e trasmettere password- a qualcosa di appropriato. Queste password ci consentiranno di trasmettere i dati al server IceCast da un client di origine. Dovremmo anche modificare le variabili admin-user e admin-password in qualcosa di unico per il nostro sistema. Queste due credenziali proteggono l'interfaccia basata sul web del server IceCast. Quindi, verso la riga 150, dovremmo cambiare le variabili mount-name , username ela password . Queste tre variabili proteggono il punto di montaggio del server IceCast. Infine, nella parte inferiore del icecast.xmlfile dovremmo vedere una sezione di sicurezza che è stata commentata. Dovremmo rimuovere i simboli di apertura <- e chiusura -> dal paragrafo di sicurezza . Una volta che il icecast.xmlfile è stato modificato, salvare il file.

Una volta che il file di configurazione è stato modificato, vogliamo abilitare la registrazione. Per fare ciò, eseguire i seguenti comandi.

 mkdir /var/log/icecast
 chown nobody:nogroup /var/log/icecast

Infine, avviamo il server IceCast, questo fa sì che il server ascolti le connessioni client in entrata e in ingresso.

 service icecast2 start

Il server IceCast è attivo e funzionante, quindi ora dobbiamo fornire qualcosa per giocare. Il prossimo passo è installare il client di origine Ices. FreeBSD al momento non offre un pacchetto binario per Ices, quindi dobbiamo costruirlo dalle porte. Questo può essere fatto eseguendo i seguenti comandi.

 portsnap fetch
 portsnap extract
 cd /usr/ports/audio/ices
 make install
 make clean

Il client di origine Ices avrà bisogno di un account utente e registrazione. Per creare un utente per il software Ices e impostare una password sull'account, eseguire questi comandi.

 pw groupadd ice
 pw useradd ices -g ice -m
 passwd ices

Con l'utente creato, ora possiamo abilitare la registrazione per Ices.

 mkdir /var/log/ices
 chown ices:ice /var/log/ices

Da qui in poi, non dovremmo più avere bisogno dell'accesso come utente root e possiamo operare come utente ghiacciato . Successivamente, dobbiamo creare due directory. Una directory, musicconterrà i file audio che stiamo per trasmettere. La seconda directory, confconterrà i nostri file di configurazione.

 su ices
 cd /home/ices
 mkdir music conf
 cp /usr/local/share/ices/ices-playlist.xml conf/configuration.xml

Ora abbiamo un file di configurazione di esempio in atto. È tempo di modificare il conf/configuration.xmlfile per adattarlo al nostro ambiente. Le uniche parti del file che è necessario modificare sono verso il basso intorno alla riga 60. Qui è necessario fornire la password e la posizione di montaggio impostate nel icecast.xmlfile. Ad esempio, se impostiamo il nome del nostro mount nel icecast.xmlfile /radio.ogg, allora dovremmo cambiare anche configuration.xmlil parametro mount del nostro file /radio.ogg. Il nostro campo passwordconfiguration.xml deve corrispondere alla password di origine che abbiamo creato nel icecast.xmlfile. Una volta che il nostro configuration.xmlfile è stato modificato, dovremo salvare le nostre modifiche.

Con il file di configurazione in atto, il passo successivo dovrebbe essere quello di copiare i file audio che desideriamo trasmettere nella musicdirectory. Tutti i file audio devono essere in .oggformato poiché IceCast non gestirà i .mp3file con le impostazioni predefinite. Una volta che tutti i file audio che desideriamo trasmettere siano nella musicdirectory, dobbiamo creare una playlist. Una playlist è un semplice file di testo con un elenco della musica che vogliamo trasmettere in streaming. Possiamo facilmente creare una playlist con i seguenti comandi.

 cd /home/ices/conf
 ls -d ../music/*.ogg > playlist.txt

I file audio verranno riprodotti nell'ordine in cui compaiono nel playlist.txtfile. Il file può essere modificato in qualsiasi editor di testo per regolare l'ordine dell'audio in streaming.

Tutto ciò che dobbiamo fare per iniziare lo streaming dei nostri file audio è eseguire questo comando.

 ices configuration.xml

Nota a margine: spesso potremmo voler eseguire il client sorgente Ices e quindi disconnetterci e andare a fare qualcos'altro. In tal caso, mi piace eseguire Ices all'interno di una sessione dello schermo . Ecco un esempio su come eseguire i ghiacci con lo schermo.

 screen
 cd /home/ices/conf
 ices configuration.xml

Quindi premi Ctrl + A e tocca il tasto D. Ciò scollegherà la sessione dello schermo e ci consentirà di disconnetterci mentre Ices riproduce l'audio in background. In seguito, possiamo bloccare Ices accedendo ed eseguendo:

 screen -r
 killall ices
 exit

Ora possiamo collegarci al nostro server sulla porta 8000 in un browser Web per ascoltare il nostro flusso audio. L'URL apparirà http://myservername:8000. Questo indirizzo può essere reso pubblicamente disponibile se si desidera consentire ad altri di ascoltare lo streaming.

In precedenza, ho detto che IceCast riproduce .oggfile e non .mp3. Questo è abbastanza facile da superare su FreeBSD. Come utente root, possiamo installare uno strumento di conversione, chiamato sox , che convertirà i nostri .mp3file in .oggfile. Supponendo che tutti i nostri .mp3file siano nella /home/ices/musicdirectory, possiamo installare sox ed eseguire una conversione come segue:

 pkg install sox
 cd /home/ices/music
 for i in *.mp3; do sox ./"$i" ./"$i".ogg; done

Possiamo quindi aggiornare la nostra playlist usando:

 cd ../conf
 ls -d ../music/*.ogg > playlist.txt

Tieni presente che lo streaming audio può richiedere molta larghezza di banda. Uno o due client che ascoltano la nostra stazione radio non richiedono molta larghezza di banda, ma 50 o più client potrebbero spingere un server sulla sua larghezza di banda mensile assegnata. È una buona idea abilitare il limite di larghezza di banda sul server di streaming per evitare costi finanziari imprevisti.



Leave a Comment

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.