Instalación rápida de streaming con IceCast2 y Ices2

En este tutorial se intenta explicar como configurar un streaming de audio lo mas rápido posible sin entrar en detalles, en este caso sobre Debian GNU/Linux.

Qué es Streaming?

Streaming es un término que se refiere a ver u oír un archivo directamente en una página web sin necesidad de descargarlo antes al ordenador. Se podría describir como hacer "clic y obtener". En términos más complejos podría decirse que describe una estrategia sobre demanda para la distribución de contenido multimedia a través de una red.

Ahhh, mira vos... y Icecast2?

Icecast es un proyecto para streaming de medios mantenido por la Fundación Xiph. Es muy versátil en que los nuevos formatos se pueden agregar relativamente fácil y soporta estándares abiertos para comunicación e interacción. Actualmente el servidor Icecast soporta en sus últimas versiones streams Ogg Vorbis, MP3, Ogg Speex, Ogg FLAC, Ogg Theora y AAC.

Instalar IceCast2

  • Como mencionamos anteriormente esta guía esta basada en Debian ... por ende... vamos a utilizar APT para instalar nuestros paquetes:

apt-get install icecast2 ices2

Configurando el Servidor

* Una vez instalado icecast2 debemos editar el archivo de configuración con nuestro editor favorito:

vim /etc/icecast2/icecast.xml

* Aquí pueden modificar todo lo que crean necesario (puerto, hostname, contraseñas, logs, etc) en este caso vamos a modificar solamente dos cosas:

  • Cantidad máxima de usuarios y de fuentes:

<icecast>
    <limits>
        <clients>5</clients>              <------- Cantidad máxima de clientes
        <sources>1</sources>              <------- Cantidad máxima de fuentes
  • Contraseñas:

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>hackme</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>CAMBIARCONTRASEÑA</relay-password>      <----------Cambiar aquí

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user> 
        <admin-password>CAMBIARCONTRASEÑA</admin-password>      <----------Cambiar aquí
    </authentication>

* Editamos el archivo /etc/default/icecast2 y modificamos la siguiente variable:

# Edit /etc/icecast2/icecast.xml and change at least the passwords.
# Change this to true when done to enable the init.d script
ENABLE=true      <----------- Cambiamos "false" por "true"

* Listo, ya podemos reiniciar el servidor:

/etc/init.d/icecast2 restart
  • Si todo esta correctamente configurado van a poder navegarlo:

http://nombredelservidor:8000

icecast2.jpg

Transmisión de flujos

Icecast 2 es básicamente, un administrador de los flujos, pero no captura la salida de audio, por lo que requiere de algún complemento que realiza esta actividad. A pesar de poder usar diversas fuentes, nos enfocaremos a las más comunes, que son las pistas de audio codificadas en Ogg y MP3.

Convertir MP3 a OGG

Empezamos con OGG que en las pruebas realizadas se comporto mucho mejor.

Tenemos varios conversores de MP3 a OGG, vamos a utilizar MP32OGG debido a su simplicidad:

apt-get install mp32ogg

El comando es sencillo de usar:

Debian:# mp32ogg archivo.mp3
mp32ogg v0.11
(c) 2000-2002 Nathan Walp
Released without warranty under the terms of the Artistic License

Converting archivo.mp3 to OGG...
archivo.ogg done!

Y listo!, ya tenemos nuestro archivo.ogg.

Esto también funciona si convertimos una carpeta que contenga mp3, va a crear un .ogg de todos los .mp3 que tengamos

mp3ogg /home/musica/mp3/Y

Ej:

|-- Yo Yo Ma (Bach)
|   `-- Cello Suites
|       |-- 14 - Cello Suites, disk 1 - 14.mp3
|       `-- 14 - Cello Suites, disk 1 - 14.ogg
|-- Yo-Yo Ma
|   |-- Bach_ 6 Suites for Unac. Cello
|   |   |-- Cello Suite No.4, 6. Gigue.mp3
|   |   `-- Cello Suite No.4, 6. Gigue.ogg
|   `-- Great Cello Concertos - Disk 2
|       |-- Elgar Cello Concerto in E Mino.mp3
|       `-- Elgar Cello Concerto in E Mino.ogg
|-- Yo-Yo Ma Edgar Meyer Mark O'Co
|   `-- Appalachian Journey
|       |-- 08 - Duet for Cello and Bass.mp3
|       `-- 08 - Duet for Cello and Bass.ogg

Ices2 con OGG

Copiamos el archivo de ejemplo playlist de la documentación de ices2:

cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/icecast2/ices2-playlist.xml

Editamos información de nuestra radio:

<metadata>
            <name>RADIO BALERA</name>
            <genre>JAZZ FUSION</genre>
            <description>Radio de Música Libre de Buenos Aires Libre</description>
</metadata>

Ingresamos datos de nuestro servidor, estos datos deben coincidar con el archivo icecast2.xml que editamos en los pasos anteriores:

            <hostname>localhost</hostname>
            <port>8000</port>
            <password>hackme</password>         <--------------- Aquí va la contraseña que pusimos en el punto anterior
            <mount>/example1.ogg</mount>

Bueno, ya tenemos configurado icecast2, ices2 y pasamos nuestros mp3 al formato ogg, solo nos queda armar la lista de reproducción.

Para esto debemos crear el archivo playlist.txt en /etc/icecast2/ y detallar los temas que van a sonar en nuestro streaming :):

/home/pepito/musica/tema1.ogg
/home/pepito/musica/tema2.ogg
/home/pepito/musica/tema3.ogg
/home/pepito/musica/tema4.ogg

Una manera de tomar nuestro ogg y pasarlos al txt sería:

Recomendaciones / Tips

  • Puntos de vista 1 del autor, para crearlo de una forma adecuada.
  • Puntos de vista 2, para realizarlo fácilmente.

Imágenes

  • Fotografías de la construcción y/o del trabajo finalizado.

Véase también

Enlaze a otras páginas con información relativa a la Guía desarrollada.


CategoryDocuments

Wiki: HowToIcecast2 (last edited 2008-09-28 09:18:17 by localhost)

USLA