Audio Streaming

Todos se preguntarán o por lo menos han tenido la inquietud de hacer una radio on-line o simplemente poner a disposición de un grupo de personas streaming de audio, les voy a confesar que yo era uno de ellos y siempre tuve la inquietud yo sabia que esto se podía hacer con linux pero nunca me había puesto a investigar el como hacerlo hasta que cayo en mis manos una revista de Linux Journal a la que estoy suscrito ya hace algunos años, en este post tratare de explicarles un poco como montar el servidor y el cliente para que hagan sus tanes.

Para este propósito vamos a utilizar icecast2 como servidor y idjc(Internet DJ console) como cliente para transmitir montados ambos en 2 maquinas distintas con debian lenny.

Como primer paso vamos a instalar y configurar el servidor con icecast2 para lo cual vamos a instalarlo con

apt-get install icecast2

una vez instalado sin esperar mas vamos a meterle mano al archivo de configurar que se encuentra en
/etc/icecast2/icecast.xml le cual abrirán con el editor que mas les guste y vamos a cambiar los siguientes parámetros:

‘<'limits'>‘
‘<'clients'>‘100’<'/clients'>‘
‘<'sources'>‘2’<'/sources'>‘

Estas son las opciones por defecto que tendrá nuestro servidor para la cantidad de clientes y conexiones los valores a colocar allí dependerá del ancho de banda que tengan.

Lo siguiente que vamos a cambiar son los passwords de administración del servidor icecast

‘<'authentication'>‘

‘<'source-password'>‘hackme’<''/source-password'>‘

‘<'relay-password'>‘hackme’<'/relay-password'>‘

‘<'admin-user'>‘admin’<'/admin-user'>‘
‘ <'admin-password'>‘hackme’<'/admin-password'>‘
‘<'/authentication'>‘

El primer password se utiliza con el usuario source, el segundo con relay y el ultimo con admin, ahora procederemos a crear nuestro punto de montaje para la transmisión.

‘<'mount'>‘
‘<'mount-name'>‘/example’<'/mount-name'>‘
‘<'username'>‘othersource’<'/username'>‘
‘<'password'>‘hackmemore’<'/password'>‘
‘<'max-listeners'>’10’<'/max-listeners'>‘
‘<'dump-file'>‘/tmp/dump-example1’<'/dump-file'>‘
‘<'burst-size'>‘65536’<'/burst-size'>‘
‘<'authentication type="htpasswd"'>‘
‘<'option name="filename" value="myauth"/'>‘
‘<'option name="allow_duplicate_users" value="0"/'>‘
‘<'/authentication'>‘
‘<'/mount'>‘

El primer cambio es el nombre del punto de montaje del show en este caso es example, el segundo y tercer parámetro es la información de login de el cliente que va a transmitir, como tercer paso cambiaremos la cantidad máxima de usuario que nos pueden escuchar si queremos que este sea distinto al que definimos por defecto, el apartado es por si queremos volver privada nuestra transmisión para lo cual a los oyentes les pedirá usuario y contraseña, para desactivarlo solo basta con borrar todo ese apartado y con esto terminamos esta parte ahora nos falta editar el archivo /etc/default/icecast2 en el que cambiaremos la linea ENABLE=false por esta ENABLE=true. Ahora ya tenemos listo nuestro servidor así que a iniciarlo /etc/init.d/icecast2 start.

Ahora pasaremos al lado del cliente para lo cual utilizaremos el siguiente paquete idjc el cual me parece muy completo y de un muy buen funcionamiento, lamentablemente este no se encuentra en los repositorios pero pero su instalación es simple así que lo bajaremos he instalaremos, lo pueden obtener de aquí, los requesitos para que este software funcione son los siguientes:

.
Python Required
Jack Audio Connection Kit Required
PyGTK Required
vorbis-tools Required
libsndfile Required
libsamplerate Required
libshout Required
LAME Recommended – for streaming/recording in the mp3 format
eyeD3 Recommended – for metadata tagging and mp3 support
faad2 Recommended – provides support for m4a files
libmad Recommended – provides support for mp3 files
ffmpeg Recommended – provides support for wma files
FLAC Recommended – provides support for flac files

El único paquete que no se encuentra en los repositorios es el de libmp3lame el cual nos servirá si queremos transmitir en mp3, sino solo lo podremos hacer en ogg, para instalarlo debemos descargar el deb de aquí e instalarlo con dpkg -i libmp3lame0_3.98.2-0.5_i386.deb, ahora descomprimimos el paquete de idj lo compilamos e instalamos.

tar -zxvpf idjc-0.8.1.tar.gz
cd idj/
./configure
make
make install

Ahora ya solo tiene que ejecutar el programa con idjc a configurar en la parte de Server la conexión a nuestro servidor, luego le damos Server Connect y con esto ya solo comenzamos a hablar o poner música y nuestra radio esta lista.

2 thoughts on “Audio Streaming

Deja una respuesta

Tu dirección de correo electrónico no será publicada.