Sunteți pe pagina 1din 8

Streaming en Linux, cmo montar un servidor de radio?

Sergio Valero Orea, svalero_orea@yahoo.com, UTIM, Izcar de Matamoros, Puebla. Resumen Se le proporciona al lector y asistente, las herramientas necesarias para que sea capaz de montar un servidor de streaming para poder transmitir audio por Internet utilizando herramientas gratuitas y open source. Esto se realiza, analizando las 3 partes necesarias para poder alcanzar el objetivo: por un lado se necesita el servidor que transmitir los datos a travs de la red, el source, es decir, quien enva la transmisin al servidor, y obviamente, los radio-escuchas. Una vez analizados los conceptos tericos, se pasa a la parte de la configuracin de los paquetes y por ltimo se demuestra el funcionamiento del servidor. Introduccin Poco a poco, Internet se consolida como un importante medio de comunicacin; y es en este punto donde las emisoras de radio ven la necesidad de volcarse sobre este medio. Existen numerosas estaciones de radio transmitiendo por Internet, por mencionar algunas: Las estaciones asociadas a Grupo Radio Centro o o o o o o o o o Radio Red Alfa Radio Universal Stereo Stereo Joya 97.7 La Z Radio Centro Radio Red El fongrafo

La pregunta es, por qu no tener la nuestra? Bueno, para poder hacer eso, necesitamos ir desarrollando algunos conceptos tericos. Teora Streaming es el hecho de emitir en tiempo real, algn tipo de medio multimedia (audio/video) a travs de un medio informtico. Para hacer esto, necesitamos 3 cosas: a) un servidor

b) los sources c) los clientes Para la primera parte, dentro de nuestro mundo libre, existen diferentes alternativas para elegir, siendo estas ShoutCast de NullSoft, y IceCast. Optamos por el segundo, ya que el primero es open source pero no es software libre haciendo dependiente su desarrollo de la mencionada empresa. Icecast es un servidor para la transmisin de contenidos multimedia (video y audio), que actualmente soporta MP3 y Vorbis Ogg. Se puede utilizar para crear una estacin de radio por Internet o para reproducir una lista de archivos de audio y muchas cosas ms entre eso. Es distribuida bajo la licencia GNU GPL. La segunda parte que necesitamos es el source, es decir, el origen de los datos que enviar la informacin al servidor. En esta categora tenemos bastantes opciones y dependiendo nuestros objetivos y necesidades ser la opcin elegida. Algunos de ellos son: Ices Muse DarkIce IceGenerator Freej

Nos inclinamos por la primera, ya que, en este trabajo, solo pretendemos demostrar reproducir nuestra lista de MP3s, adems de que trabaja conjuntamente bajo el mismo proyecto que IceCast. Por ltimo, los clientes, o nuestros radio-internet-escuchas, que nos sintonizarn para escuchar nuestros MP3s. Aqu, no hay mayor problema, si se encuentran en la plataforma Windows, podrn escucharnos con el Windows Media Player, WinAmp, MPlayer, etc. En el caso de estar bajo algn Unix, lo podrn hacer con XMMS, Zinf, MPlayer, Xine, VLC, etc. Ya que solo interpretarn una lista de reproduccin. Una vez aclarado los conceptos, manos a la obra.

Desarrollo Instalacin y configuracin del IceCast Si se va a instalar desde los archivos fuente, es necesario tener instaladas las libreras de desarrollo libxml, libxslt, libogg, y libvorbis. Tras la descarga y descompresin de los archivos fuente, se instala Icecast mediante el siguiente proceso de tres pasos:
./configure make make install

Por defecto, Icecast se instala en el directorio /usr/local. El archivo de configuracin por defecto, icecast.xml, se ubica en /usr/local/etc. Cuando se edita este archivo hay que prestar atencin a que todos los elementos xml estn cerrados, que las etiquetas estn bien escritas y que solamente se pongan aquellas que sean vlidas y que todos los elementos que estn anidados se encuentre cerrados de forma correcta. Los valores ms importantes que hay que establecer del archivo icecast.xml, se encuentran en la seccin Authentication. Es preciso asegurarse de establecer unas contraseas nuevas para los sources y la administracin, as como el usuario admin, que se emplea para las funciones administrativas a travs de HTTP. Icecast permite administrarse por medio de pginas Web, lo que es mucho ms sencillo que la sintaxis de administracin. Para comenzar a trabajar, solamente cambiaremos los valores de esta seccin. El resto de los valores se puede dejar con sus valores por defecto, pero se recomienda personalizar con los valores adecuados para cada situacin. Una vez que el archivo de configuracin es modificado, debe de ser capaz de iniciar el servidor, NO como root, con el siguiente comando: icecast -c /usr/local/etc/icecast.xml Si todo sali bien, podemos verificar la ejecucin del servidor visitando la URL http://nuestra.IP:puerto/admin/stats.xml En el caso de mi ejemplo, ejecuto http://radio.utim.edu.mx:8000/admin/stats.xml e inmediatamente, deber solicitar

nombre de usuario y contrasea para acceder al servidor, esta contrasea se encuentra en la etiqueta <admin-password> del archivo de configuracin del Icecast. Despus de entrar, debemos poder ver una pequea descripcin de nuestro servidor, como se muestra en la figura 1.
Fig 1. Ventana de administracin del Icecast

Tambin podemos verificar nuestro servidor, copiando un archivo MP3 al directorio /usr/local/share/icecast/web y escucharlo directamente mediante un reproductor multimedia mencionado anteriormente en cualquier radio-escucha. Por ejemplo, usando WinAmp, elegimos del men File, la opcin Play URL como se muestra en la figura 2.

Ahora que el servidor esta configurado, es necesario instalar y configurar nuestro source. Instalacin y configuracin de Ices Ices, es un source para un servidor de streaming. Su propsito es proveer el audio al servidor para que los radio-escuchas puedan acceder al audio. Ices no es una aplicacin grfica, y requiere de los siguientes paquetes para su correcto funcionamiento: libogg

libvorbis libxml2 libshout

Los siguientes, son tipos de entradas soportadas por Ices: OSS Open Sound System ALSA Advanced Linux Sound Architecture Listas de reproduccin sun

Para la instalacin de Ices, se sigue el mismo proceso que el Icecast. Tras la descarga y descompresin de los archivos fuente, tecleamos la secuencia de los 3 comandos para instalar Ices ./configure make make install Por defecto, Ices se instala bajo /usr/local. El archivo de configuracin ices.conf.dist se ubica en /usr/local/etc. De la misma manera como sucedi con Icecast, este archivo de configuracin es de contenido XML y debemos tener cuidado al momento de editarlo. La nica etiqueta que debemos modificar es <File> que es la ruta donde tenemos predefinida nuestra lista MP3, en mi caso /home/svalero/playlist.txt que es un archivo de texto, que contiene la ruta de mis archivos MP3 de cada cancin. Una vez definidos los datos del archivo de configuracin y creada la lista de reproduccin podemos iniciar el source de la forma siguiente: ices -c /usr/local/etc/ices.conf.dist A estas alturas, y si no nos ha ocurrido ningn error, podemos hacer una conexin a la pgina Web. Por ejemplo http://radio.utim.edu.mx:8000/ y mandarnos una pgina como la siguiente:

Fig 3. Pgina principal del servidor

Dentro la pgina anterior, existe una liga click to listen haz clic para escuchar y dando clic sobre ella, podremos escuchar mediante un reproductor multimedia a travs de Internet nuestra lista de reproduccin establecida previamente. Resultados y conclusiones Como se podr constatar, instalar y configurar un Servidor de Streaming y hacer nuestra propia estacin de radio no es una tarea complicada. A travs de este trabajo, se instal, configur y se puso en marcha un Servidor de Streaming utilizando herramientas gratuitas y open source. Solo requiere de un poco de conocimiento en el manejo de Linux y mucha paciencia en la configuracin. Anexo al final, el cdigo del archivo icecast.xml utilizado en este trabajo.

Bibliografa

[1] The XIPH Open Source Community, Icecast 2 Documentation, [en lnea]; 2007 [consulta 20 Julio 2007] Disponible: http://www.icecast.org/docs/icecast-2.3.1/ [2] The XIPH Open Source Community, Ices 2 Documentation, [en lnea]; 2007 [consulta 20 Julio 2007] Disponible: http://www.icecast.org/docs/ices-2.0.0/ [3] Dave Phillips, Streaming Media with Linux, [en lnea]; 2006 [Consulta 21 Julio 2007] Disponible: http://www.linuxdevcenter.com/pub/a/linux/2001/03/23/streaming_media.html [4] Liberalia Tempus, Montar una emisora de radio con Icecast, 2006 [Consulta 24 Jul 2007] Disponible: http://www.liberaliatempus.com/articulos/taller/montar-una-emisora-de-radio-con-icecast.html

<icecast> <limits> <clients>100</clients> <sources>2</sources> <threadpool>5</threadpool> <queue-size>524288</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> <burst-on-connect>1</burst-on-connect> <burst-size>65535</burst-size> </limits> <authentication> <source-password>hackme</source-password> <relay-password>hackme</relay-password> <admin-user>admin</admin-user> <admin-password>hackme</admin-password> </authentication> <hostname>http://radio.utim.edu.mx:8000</hostname> <listen-socket> <port>8000</port> <!-- <bind-address>127.0.0.1</bind-address> --> </listen-socket> <fileserve>1</fileserve> <paths> <basedir>/usr/local/share/icecast</basedir> <logdir>/var/log/icecast</logdir> <webroot>/usr/local/share/icecast/web</webroot> <adminroot>/usr/local/share/icecast/admin</adminroot> <alias source="/" dest="/status.xsl"/> </paths> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error --> <logsize>10000</logsize> <!-- Max size of a logfile --> </logging> <security> <chroot>0</chroot> </security> </icecast>

S-ar putea să vă placă și