TAGS CLOUD
Incrementa dimensioniDecrementa dimensioni
Internet radio: registra le trasmissioni sull'hard disk
Basta installare MPlayer, i codec necessari e “accoppiare” il tutto a un semplice script Bash per poter salvare su disco la musica trasmessa in streaming sulla rete
(pagina 1 di 3)
La coppia Internet/ADSL ha dato vita a fenomeni come il VoIP, YouTube (www.youtube.com), WebTV e altri sistemi per la trasmissione e fruizione di contenuti audio/video in “streaming”. Non solo, ha decretato anche il ritorno in grande stile della radio che, sulla Grande Rete, in particolare con la nascita delle Internet Radio, sta vivendo una seconda giovinezza. A titolo informativo, la prima stazione radio a trasmettere via Internet è stata WXYC, dell'università del Nord Carolina, che cominciò le trasmissioni il 7 Novembre 1994 ( http://it.wikipedia.org/wiki/Web_radio). Oggi, quasi ogni radio che trasmette in FM (Frequency Modulation o modulazione di frequenza) diffonde il proprio segnale anche attraverso Internet. Poiché i contenuti trasmessi in streaming possono essere solo visualizzati (nel caso dei video) e ascoltati senza poter salvare nulla in locale, il nostro obiettivo è creare un tool in grado di ricevere i flussi audio da una Internet Radio e registrarli sull'hard disk nel formato a noi più consono.
Player e codec necessari
Lo script Bash proposto necessita di un player e di alcuni codec indispensabili per poter elaborare il flusso audio catturato dalla rete, quindi bisogna installare questi componenti. Precisiamo subito che la prova è stata eseguita sulla nuova Ubuntu 7.10 “Gutsy Gibbon”. Come lettore multimediale abbiamo optato per MPlayer (www.mplayerhq.hu), mentre per quanto riguarda i codec si tratta di LAME per il formato MP3, OggVorbis per quello OGG e il pacchetto win32codecs per quanto riguarda altri formati proprietari tipo il WMAdi Microsoft e Real Player. Ubuntu mette a disposizione il metodo più semplice per installare tutti i codec di cui abbiamo bisogno. La procedura è illustrata di seguito. Per prima cosa bisogna aggiornare le repository dei pacchetti aggiungendo l'archivio Medibuntu (Multimedia, Entertainment & Distractions In Ubuntu – www.medibuntu.org), specifico per i contenuti multimediali, nel modo seguente:
sudo wget
http://www.medibuntu.org/sources
.list.d/gutsy.list -O 
/etc/apt/sources.list.d/ 
medibuntu.list 
wget -q http://packages.medibuntu.org 
/medibuntu-key.gpg -O- |
sudo  apt-key add - && sudo
 apt-get update

Quest'ultimo comando aggiorna anche la lista dei pacchetti disponibili. A questo punto possiamo installare tutto quello che ci serve:

 apt-get install mplayer lame vorbis-tools
 w32codecs ffmpeg gstreamer.10-ffmpeg
In questo caso abbiamo aggiunto anche il pacchetto FFMpeg (http://ffmpeg.mplayerhq.hu), una potente suite multimediale per gestire i formati più diffusi. A questo punto abbiamo tutto il necessario per poter utilizzare lo script, ma prima occupiamoci di MPlayer.
Accesso alle trasmissioni radio
 Il “coltellino svizzero” per chiunque voglia lavorare con dati multimediali è MPlayer. Questo player multimediale, con gli opportuni plugin e codec, permette di leggere qualsiasi formato di dati audio e video. Cosa molto importante, MPlayer non fa distinzione tra dati salvati su file, provenienti da una pipe o trasmessi in streaming via rete:
mplayer -cache 128 http://live.mediaserver.
kataweb.it/radiodeejay
Il comando precedente permette di ascoltare una delle più note radio italiane direttamente dalla console.
Quello che fa MPlayer è semplicemente connettersi alla sorgente e leggere i dati nel formato in cui vengono presentati. I dati vengono poi convertiti nel formato PCM e riversati sul dispositivo di output, ovvero sulla scheda audio, per quando riguarda il sonoro, ed in una finestra creata ad hoc per il video. L'opzione -cache permette di specificare la dimensione del buffer di lettura. Un buffer è uno spazio di memoria che si frappone tra l'utente e la sorgente dei dati, che può essere immaginato come una sorta di secchio bucato sul fondo: il secchio viene riempito d'acqua e l'acqua esce dal fondo, ma a discapito della velocità o dell'incostanza con cui il secchio viene riempito, l'acqua uscirà sempre alla stessa velocità. La stessa cosa accade per i flussi di dati prelevati da Internet, i quali possono entrare nel buffer con velocità variabile (talvolta anche nulla, per alcuni istanti), ma noi possiamo ascoltare comodamente la radio senza interruzioni proprio perché entra in gioco la cache (il secchio bucato) che riversa i dati nelle cuffie sempre alla stessa velocità. Ovviamente una cache molto grande è più resistente agli “sbalzi” della connessione di una cache piccola, ma non serve esagerare: si possono fare dei tentativi, ma in genere con connessioni ADSL, valori di 256 Kbyte dovrebbero essere più che sufficienti. Una delle possibilità più interessanti messe a disposizione da MPlayer è quella di poter dirottare il flusso letto su un file, invece che nel dispositivo di riproduzione, permettendo in questo modo di registrare i dati, siano essi audio o video. Ad esempio, il comando seguente:
mplayer video.avi -dumpaudio -dumpfile audio.mp3

 riproduce il video contenuto nel file video.avi, ma, senza mostrare l'output a video, estrae e copia l'audio nel file indicato (audio.mp3 in questo caso). C'è però uno svantaggio: il flusso viene salvato senza essere interpretato da MPlayer, ovvero senza essere convertito in PCM. Questo significa che nel caso di un video in formato AVI con audio MP3, il file dove viene riversato l'audio conterrà ancora dati in formato MP3, mentre la registrazione di una radio in streaming in formato ASF sarà ancora un file in formato ASF. Ovviamente sarebbe più comodo ottenere un file in formato PCM, pronto per essere convertito in OGG o MP3. MPlayer consente di farlo nel modo riportato di seguito:

mplayer -cache 128 -ao pcm:file=audio.wav 
http://live.mediaserver.kataweb.it/radiodeejay

L'opzione -ao indica l'Audio Output come un flusso PCM riversato nel file indicato. Questa riga di comando, quindi, registra un flusso di dati dallo streaming della radio interessata, salvando il file in formato PCM. Una volta registrato il flusso PCM è possibile convertirlo in un formato compresso tramite appositi programmi; ad esempio, la conversione in MP3 può essere eseguita utilizzando il programma lame:

lame --preset radio audio.wav audio.mp3
Nel comando precedente, l'impostazione "--preset radio" corrisponde ad un flusso con un bitrate medio di 112 kbit/s. Consultate la pagina di manuale di lame per le altre opzioni messe a disposizione dal programma e per le varie preselezioni di qualità della conversione.
Il formato PCM
Rappresentazione digitale di un segnale analogico Quando un suono viene registrato, quello che effettivamente si fa è prelevare un campione un certo numero di volte al secondo: più elevato è questo valore, più fedele sarà la registrazione, ovvero più alta la qualità. Un flusso PCM (Pulse-Code Modulation) non è compresso, cioè i campioni sono registrati senza utilizzare alcun sistema per ridurne gli ingombri (al contrario di MP3 e OGG), ma è l'unico formato che può essere inviato direttamente alla scheda sonora e quindi agli altoparlanti. Si tenga quindi conto che una registrazione di molte ore potrebbe occupare uno spazio notevole. Come parametro di confronto si pensi al Cd-Audio che contiene circa 80 minuti di audio di alta qualità stereo in 700 megabyte (in formato MP3 mantenendo un'ottima qualità si può occupare circa un decimo dello spazio).
Pagina 1/3
Lascia un commento
Tag: Radio, codec, streaming
Condividi