Ubuntu Sur

“Las personas nacen libres e iguales en dignidad y derechos”

Radio por internet en solo 5 minutos con GNU/Linux

Posted by K|Ke on June 11th, 2008

Bien, vamos a montar nuestra propia estación de radio utilizando software libre. Para ello utilizaremos unos servidores gratuitos que implementan este servicio utilizando Icecast y en nuestra máquina solo instalaremos la aplicación Ices2.

icecast

Icecast es un proyecto para streaming de medios mantenido por la Fundación Xiph.org. Puede ser utilizado para crear una estación de la radio en internet o para uso privado entre otras cosas. 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. También se refiere específicamente al programa servidor que es parte del proyecto.

Actualmente el servidor Icecast soporta en sus últimas versiones streams Ogg Vorbis, MP3, Ogg Speex, Ogg FLAC, Ogg Theora y AAC.

El servidor Icecast tiene una funcionalidad similar al programa propietario de servidor de medios SHOUTcast de Nullsoft y es compatible con éste.

Ices2 es el programa cliente que provee a Icecast de un stream o flujo de audio, pudiendo ser lanzado desde estaciones remotas a la que esta instalado y montado el servidor Icecast2. Puede funcionar en modo “live” (en directo) o reproduciendo una lista de reproducción o playlist.

Primer Paso:

Vamos a crear una cuenta en los servidores de giss.tv, para ello vas al enlace y creas tu cuenta y punto de montaje, esto realmente no merece mucha explicación ya que es bastante sencillo. (este sitio es el que provee los servidores gratuitos icecast).

Segundo Paso:

Instalamos la aplicación Ices2 desde los repositorios:

$ sudo apt-get install ices2

Tercer Paso:

Debemos crear nuestro archivo de configuración .xml que complementariamente con Ices2, enviará a los servidores el stream o flujo de audio que generemos en nuestra máquina.

copia el archivo de ejemplo que se encuentra en /usr/share/doc/ices2/examples/ices-alsa.xml en tu carpeta personal

usuario@nombre:/usr/share/doc/ices2/examples$ cp ices-alsa.xml /home/tu_usuario/

Luego edita este archivo en tu home, con el editor que prefieras y te debe quedar de una forma similar a esto:

——————

<?xml version=”1.0″?>
<ices>

<!– run in background  –>
<background>0</background>
<!– where logs go. –>
<logpath>/var/log/ices</logpath>
<logfile>ices.log</logfile>
<!– size in kilobytes –>
<logsize>2048</logsize>
<!– 1=error, 2=warn, 3=infoa ,4=debug –>
<loglevel>4</loglevel>
<!– logfile is ignored if this is set to 1 –>
<consolelog>0</consolelog>

<!– optional filename to write process id to –>
<!– <pidfile>/home/ices/ices.pid</pidfile> –>

<stream>
<!– metadata used for stream listing –>
<metadata>
<name>Tu radio</name>
<genre>Variado</genre>
<description>Transmisión utilizando GNU/Linux</description>
<url>http://giss.tv:8000/tu_punto_de_montaje.ogg</url>
</metadata>

<!–    Input module.

This example uses the ‘oss’ module. It takes input from the
OSS audio device (e.g. line-in), and processes it for live
encoding.  –>
<input>
<module>alsa</module>
<param name=”rate”>48000</param>
<param name=”channels”>2</param>
<param name=”device”>hw:0,0</param>
<param name=”periods”>2</param>
<param name=”buffer-time”>500</param>
<!– Read metadata (from stdin by default, or –>
<!– filename defined below (if the latter, only on SIGUSR1) –>
<param name=”metadata”>0</param>
<param name=”metadatafilename”>test</param>
</input>

<!–    Stream instance.

You may have one or more instances here.  This allows you to
send the same input data to one or more servers (or to different
mountpoints on the same server). Each of them can have different
parameters. This is primarily useful for a) relaying to multiple
independent servers, and b) encoding/reencoding to multiple
bitrates.

If one instance fails (for example, the associated server goes
down, etc), the others will continue to function correctly.
This example defines a single instance doing live encoding at
low bitrate.  –>

<instance>
<!–    Server details.

You define hostname and port for the server here, along
with the source password and mountpoint.  –>

<hostname>giss.tv</hostname>
<port>8000</port>
<password>tu_password</password>
<mount>/tu_punto_de_montaje.ogg</mount>
<yp>1</yp>   <!– allow stream to be advertised on YP, default 0 –>
<reconnectdelay>2</reconnectdelay>
<reconnectattempts>8</reconnectattempts>
<maxqueuelength>80</maxqueuelength>

<!–    Live encoding/reencoding:

channels and samplerate currently MUST match the channels
and samplerate given in the parameters to the oss input
module above or the remsaple/downmix section below.  –>

<encode>
<nominal-bitrate>64000</nominal-bitrate>
<quality>5</quality>
<samplerate>48000</samplerate>
<channels>2</channels>
</encode>

<!– stereo->mono downmixing, enabled by setting this to 1 –>
<downmix>0</downmix>

<!– resampling.

Set to the frequency (in Hz) you wish to resample to, –>

<resample>
<in-rate>48000</in-rate>
<out-rate>44100</out-rate>
</resample>
</instance>

</stream>
</ices>

———-

Lo importante en el archivo es lo que puse con negritas, el resto de las configuraciones las podrás ir acomodando a tu gusto.

Cuarto Paso:

Realizamos la conexión con los servidores de giss.tv realizando el siguiente comando como usuario root:

$ sudo ices2 archivo.xml

Quinto Paso:

Configuramos en alsa la captura de audio de nuestra tarjeta de sonido, para ello haz doble click sobre el icono de parlante en la barra superior habilita la captura de audio, te deberá mostrar un micrófono y parlante, estos deben estar habilitados y con un volumen medio.

Finalmente reproduce un archivo de música en tu reproductor favorito y podrás luego desde otra máquina verificar la transmisión.  No lo hagas en la misma máquina que esta generando el stream, ya que se provocará una retransmisión del audio.

  • Share/Bookmark

Sin entradas relacionadas.

43 Respuestas a “Radio por internet en solo 5 minutos con GNU/Linux”

  1. Odin Dice:

    Hasta mas facil, instalen el nuevo Songbird con shoutcast y listo! ;)

  2. K|Ke Dice:

    Hola Odin, gracias por compartirnos tu experiencia. Sería excelente si nos pudieras enviar los pasos seguidos para su implementación. Puedes enviarlo si lo deseas a webmaster arroba ubuntusur.org y de ese modo publicarlo, por supuesto señalando tu autoria, gracias.

    Saludos.

  3. jesus de oliveira Dice:

    Me gustaria que publicacaras un totorial como realizar estos pasos, o de como hacer la conexion en vivo de algun programa de la radio para ser transmitido por internet.

    Gracias.

    Saludos.

  4. Syne Dice:

    Después de leer infinidad de manuales y post buscando por qué no se oía por streaming me faltaba el último punto, configurar la tarjeta de audio para captura. Habilitarlo y salir funcionando, esto no venía en ningún sitio. Ahora hay que pulir la calidad que en este momento deja que desear. Os aseguro que muchas horas leyendo y haciendo prueba/error y nada.

    saludos y gracias.

  5. Edrey Dice:

    Seguí estos pasos pero en el cuarto paso mi compu se queda pensando y de ahí no pasa. Qué puedo hacer???????

  6. K|Ke Dice:

    Bueno, pienso que tu problema es en la configuración de tu archivo respecto a tu cuenta en los servidores de giss.tv

    Saludos.

  7. Edrey Dice:

    Oye esto se puede escuchar en un explorador web o es necesario escucharlo en un reproductor multimedia????????? Cuál me recomiendas????????????

  8. K|Ke Dice:

    Bueno en realidad se puede en ambas aplicaciones, pero en el caso del navegador web no es que sea el navegador el que reproduce, lo cierto es que los plugins que estén instalados, son los que permiten escuchar música o ver videos a través de este.

    Saludos.

  9. Edrey Dice:

    No manches!!!!!!!!! Me cae que contestas rápido. Se te agradece.
    Bueno sí sabía lo de los plugins, pero sólo kiero saber si basta con teclear la dirección del streaming en el browser (Obviamente con el plugin instalado).

  10. K|Ke Dice:

    Así es, solo basta ingresar la url del streaming y el resto se lo dejas a tu sistema multimedia :)

  11. Edrey Dice:

    Ok. Muchas gracias y seguiré buscando la forma de echarlo a andar porque aún no le encuentro. Se me ha dificultado mucho. Hasta pronto.

  12. Edrey Dice:

    Yo de nuevo molestando. Al menos ya puedo entrar a lá página pero me despliega esto: (NOT streaming right now. Reload this page!)
    Me podrías ayudar a resolver esto????????
    Saludos desde Veracruz, México

  13. Edrey Dice:

    Se me olvidaba. Por si necesitas la info, uso Intrepid Ibex

  14. No puedo ver el punto de Montaje en Icecast2 Dice:

    Saludos,

    Estoy montando un servidor Icecast, pero tengo priblemas con el punto de montaje. El problema es que tan sencillo no aparece. Estoy siguiendo las chuletas que hay en la web, pero no ha sido exitosa la configuración.

    Si alguien puede ayudarme se lo agradezco.

  15. K|Ke Dice:

    Cual es el problema específicamente, solo mencionas que tienes algo que no funciona con el punto de montaje, pero falta información.

    Saludos.

  16. No puedo ver el punto de Montaje en Icecast2 Dice:

    Tengo instalado el icescast2 y el Ices2, La instalación del Icescast2 fue exitosa al finalizar la misma muestra la pagina del Icecast, hasta perfecto.

    Cuando se monta el Ices2, se configura y se corre, pero este debería mostar elpunto de montaje en la paginas del Icescast2, pero no la hace. A continuación paso el archivo que se tiene configurado, /etc/ices2/ices-playlist.xml


    0

    /var/log/ices
    ices.log

    4

    1


    <!– /home/ices/ices.pid –>

    RADIO PRUEBA FUNDACITE
    DE TODA VAINA
    PRUEBA DE RADIO FUNDACITE PA VE COMO SUENA
    http://192.168.25.73:8000/radio.ogg

    playlist
    basic
    /etc/ices2/playlist.txt

    1

    0

    0

    localhost
    8000
    123
    /radio.ogg

    2
    5

    80

    64000
    44100
    1

    Todo esto esta montando en debian Lenny.

    También me gustaría saber si hay algo adiconal que se dede instar?.

    Gracias por la ayuda prestada

  17. K|Ke Dice:

    Prueba cambiando localhost por la ip pública y asegúrate de tener el puerto 8000 abierto.

    Saludos.

  18. No puedo ver el punto de Montaje en Icecast2 Dice:

    Saludos, verifique lo del puerto y otro detalle mas que tenia
    y ya esta funcionando, gracias

    Ahora quiero hacer otra pregunta. Como hacer que funcionen varios playlist o punto de montaje, no se ocmo llamarlos en realidad. Pero en si es ocmo hago para que se muestre en la pagina web, varios opciones de lista donde encuchar la musica.

    Gracias por la ayuda

  19. K|Ke Dice:

    Hola, bueno creo que lo más apropiado es crear todos los puntos de montaje que desees y luego crear una página web que tenga enlaces a los distintos puntos de montaje, no se si me explico bien :) Lo único que me parece difícil es que puedas tener el suficiente ancho de banda para soportar tantos usuarios conectados. Además de cómo vas a poder efectuar streaming diferentes con una misma máquina.

    Saludos.

  20. diaguita Dice:

    si pero se transmite en ogg borvis como se puede hacer para hacerlo en mp3 que el cliente reciva en mp3 desde ya garcias

  21. K|Ke Dice:

    Hola Diaguita, debes compilar la versión Ices0, el source lo puede encontrar en esta dirección:

    http://www.icecast.org/ices.php

    Saludos.

  22. Gato Pícaro Dice:

    Hola.

    He llegado al cuarto paso pero al escribir el comando me aparece esto:

    I/O warning : failed to load external entity “archivo.xml”
    Failed to read config file “archivo.xml”

    Cambié la parte “archivo.xml” por “ices-alsa.xml”, que es el nombre en el que lo guardé en mi usuario, y me muestra esto:

    unable to open log /var/log/ices/ices.log

    Por favor, ¿dónde y con qué nombre debo guardarlo? ¿Cuál es el comando que debo poner para conectar con los servidores de giss.tv?

    Agradezco de antemano.

    Saludos desde México.

  23. K|Ke Dice:

    Hola, crea el archivo para los logs:

    $ sudo touch /var/log/ices/ices.log

    luego prueba nuevamente.

  24. Juan Tzunun Dice:

    Antes de todo, Gracias K|Ke por el tutorial, muy bueno.

    Tuve el problema de gatopicaro y despues de crear el archivo, no hay mensaje de error. Pero al revisar el link para poder escuchar no funciona. el canal creado te lo describo a continuacion:

    radiotgtu.mp3
    http://giss.tv/interface/?mp=radiotgtu.mp3
    La url para escuchar:
    http://giss.tv:8000/radiotgtu.mp3

    pero no funciona y al revisar el ices.log tira lo siguiente:

    [2009-09-27 11:56:32] INFO ices-core/main IceS 2.0.1 started…
    [2009-09-27 11:56:32] INFO input-alsa/alsa_open_module Opened audio device hw:0,0
    [2009-09-27 11:56:32] INFO input-alsa/alsa_open_module using 2 channel(s), 48000 Hz, buffer 341 ms
    [2009-09-27 11:56:32] INFO signals/signal_usr1_handler Metadata update requested
    [2009-09-27 11:56:32] INFO audio/resample_initialise Initialised resampler for 2 channels, from 48000 Hz to 44100 Hz
    [2009-09-27 11:56:32] INFO encode/encode_initialise Encoder initialising in VBR mode: 2 channels, 44100 Hz, nominal 64000
    [2009-09-27 11:56:32] EROR stream/ices_instance_stream Failed initial connect to giss.tv:8000 (Login failed: Success)
    [2009-09-27 11:56:32] DBUG encode/encode_clear Clearing encoder engine
    [2009-09-27 11:56:32] DBUG input/input_loop An instance died, removing it
    [2009-09-27 11:56:32] DBUG input/input_flush_queue Input queue flush requested
    [2009-09-27 11:56:32] INFO input/input_loop All instances removed, shutting down…
    [2009-09-27 11:56:33] INFO ices-core/main Shutdown complete

    Al parecer el servicio inicia y despues se cierra, me podrias ayudar con esto??

    Gracias de antemano y Saludos desde Guatemala.

  25. K|Ke Dice:

    Hola Juan, efectivamente el log indica que logras la conexión pero luego desconecta por algún problema parece en la configuración del archivo de configuración. Prueba utilizando rate = 44100

    Saludos.

  26. Juan Tzunun Dice:

    Gracias K|Ke por contestar pronto.

    te comento que hice el cambio pero igual no funciona. Te cueno rapidamente que lo que estoy tratando de hacer es trasmitir el audio del line-in de mi tarjeta de sonido, tengo Ubuntu 9.04, una sound blaster viejita, instale ices2. pero igual no funciona si no es mucha molestia me gustaria enviarte mi ices-alsa.xml para que le eches un ojo pero o segun tu experiencia cual podria ser la razon del por que no funciona.

    Gracias nuevamente

  27. K|Ke Dice:

    Juan, creo que el problema es la fuente de audio que estás utilizando, prueba reproduciendo con algún reproductor como mpg321.

    saludos.

  28. PACO Dice:

    hola que tal muy buen post, mi prigunta es referente a lo que comentaste sobre ices2 sobre en vivo y playlist…
    yo transmito en vivo peor aun no encuentro la manera de dejar un playlist cuando no estoy en vivo. agradecería si me contestaras a mi correo k dejo en el formulario.. muchas gracias por la ayuda la verdad he buscado pero no encuentro solución. te agradesco la ayuda.
    por cierto yo transmito con sambroadcaster

  29. K|Ke Dice:

    Hola Paco, la verdad es que respecto a lo que consultas no conozco el programa que estás utilizando, por lo que no podría ayudarte con ello. Ahora bien, con ices y ices2 puedes utilizar cualquier programa que reproduzca archivos de audio y crear playlist muy fácilmente, por ejemplo xmms, rhythmbox, amarok, etc, lo importante es la captura que se hace de la tarjeta de sonido para efectuar el streaming.

    Saludos.

  30. manuel alvarado Dice:

    hola ya intente pues tengo el mismo problema

    unable to open log /var/log/ices/ices.log

    hice lo siguiente

    $ sudo touch /var/log/ices/ices.log

    y me arroja el siguiente mensaje :

    $ sudo touch /var/log/ices/ices.log
    touch: no se puede efectuar `touch’ sobre «/var/log/ices/ices.log»: No existe el fichero ó directorio
    espero alguien sepa la solucion

  31. EDUARDO Dice:

    hola tengo un problema lo logro transmitir musica de mi reproducto sin embargo cuando conecto un microfono si se escucha lo ke digo a ver si mme puedes ayudar

  32. Matias Dice:

    Manuel: me sucedio lo mismo ,pero la solucion es esta:

    $ sudo mkdir /var/log/ices

    y luego

    $ sudo touch /var/log/ices/ices.log

  33. Jaumee Dice:

    Buenas, mira yo tengo el problema que ha mencionado un compañero, cuando transmito via playlist no tengo ningu problema para reproducir, pero el caso es que para mi proyecto no me interesa reproducir via playlist, necesito hacerlo con lo que capture la tar.sonido, es possible por ejemplo estar reproduciendo una cancion con rythmbox y que ices la pille?

    Aqui te dejo mi ices-alsa.xml (tambien he visto configuraciones con OSS), para lo que busco yo que crees que es lo mas apropiado.

    Muchas gracias, por adelantado.

    0
    /var/log/ices
    ices.log
    2048
    4
    0

    Musix pruebas
    De nuestra gente
    Musix Libre
    http://www.musix.org.ar

    alsa
    44100
    2
    hw:0,0
    0
    /dev/adsp

    localhost
    8000
    hackme
    /onair.ogg
    1

    5
    22050
    2

    1

    44100
    22050

  34. Aty Dice:

    buenas.. una pregunta yo lo instale y lo guarde con un nombre que eleji en la carpeta personal..

    despues puse:
    $ sudo ices2 archivo.xml (con el nombre de mi archivo) y me tiro
    unable to open log /var/log/ices/ices.log

    puse esta
    $ sudo touch /var/log/ices/ices.log
    y mando un error

    probe con esta
    $ sudo mkdir /var/log/ices
    y no la consola no responde me tira el usuario para ke escriba otra kosa
    le doy otra opcion y vuelve a hacer lo mismo

    hay ke hacer alguna otra cosa para ke funcione ademas de configurar el archivo ese?
    no hay ke configurar nada en el reproductor? yo uso el adacious

    bueno si me pueden ayudar muchas gracias :)

  35. chaloween Dice:

    hola amigo realize todos los paso tube problemas cuando el log pero ya lo repare en algunos comentarios dicen la solucion y ya lo logre pero ahora q kiero trasmitir no me deja el giss.tv me manda con mi url the file you requested could not be found y eso de darme de alta lo hice a las 9 de la noche de ayer y no me reproduce nada segun en el correo q manda giss dice q en una hora pero nada y en el de confirmacion dice q en 24 horas kisiera saber si al reproductor se le tiene que modificar algo para trasmitir o a las configuraciiones del giss aki te dejo mi url

    http://giss.tv:8000/mataditos.mp3

    espero y me ayudes esq es por algo de mi escuela gracias

  36. chaloween Dice:

    amigo he hecho todos los pasos y cuando empieso a reproducir no trasmite nose q pase ya revise si mi punto de montaje esta bien me meto y me manda esto en la pagina en mi punto de montaje The file you requested could not be found y no se que hacer ya q es algo para la escuela jojjo me puedes ayudar q onda q puedo hacer estoy ocupando el programa audacious en ubunutu mira mi punto de montaje es

    http://giss.tv:8000/mataditos.mp3

    porfavor ayudame

  37. Murru Dice:

    Buenas

    >$ sudo ices2 archivo.xml (con el nombre de mi archivo) y me tiro
    >unable to open log /var/log/ices/ices.log

    es facil, te faltan permisos en esa carpeta:

    $sudo chown usuario:icecast /var/log/ices

  38. AleXfile Dice:

    Cuando corro el programa en terminal me manda esto, espero puedan ayudarme

    root@alexfile-UpKeep:/home/alexfile# tail -f /var/log/ices/ices.log
    [2010-07-08 13:06:09] INFO audio/downmix_initialise Enabling stereo->mono downmixing
    [2010-07-08 13:06:09] INFO audio/resample_initialise Initialised resampler for 1 channels, from 44100 Hz to 22050 Hz
    [2010-07-08 13:06:09] INFO encode/encode_initialise Encoder initialising in VBR mode: 1 channel(s), 22050 Hz, quality 0.000000
    [2010-07-08 13:06:10] EROR stream/ices_instance_stream Failed initial connect to giss.tv:8000 (Login failed: Success)
    [2010-07-08 13:06:10] DBUG encode/encode_clear Clearing encoder engine
    [2010-07-08 13:06:10] DBUG input/input_loop An instance died, removing it
    [2010-07-08 13:06:10] DBUG input/input_flush_queue Input queue flush requested
    [2010-07-08 13:06:10] INFO input/input_loop All instances removed, shutting down…
    [2010-07-08 13:06:10] INFO metadata/metadata_thread_signal metadata thread shutting down
    [2010-07-08 13:06:10] INFO ices-core/main Shutdown complete

  39. Murru Dice:

    > [2010-07-08 13:06:10] EROR stream/ices_instance_stream Failed initial connect to giss.tv:8000 (Login failed: Success)

    No se está conectando el cliente ices al servidor icecast, fijate la contraseña

  40. AleXfile Dice:

    como checo si giss.tv ya creo mi canal, me mando un mail que en 24 horas lo creaba, pero como checo eso?????

  41. Darknoa Dice:

    Hola pues realize todo bien y me sali errores como a todos pero los arregle.

    Yo trabajo con ubuntu 10.04 y no me ubo muchos problemas,

    ahora bien al meterme a la ruta que me dan http://giss.tv:8000/UltraIstpa.mp3 pues me sale the dile you requested could not be found

    no se que ise mal ya que pues segun yo todo va bien ya que no se que deba salir en la terminal al meter el comando

    sudo ices2 archivo.xml

    meto esto y empiesa a pensar y luego solo me manda otra ves una linea en blanco

    osea algo asi:

    root@MiPc:/home/mi_usuario# sudo ices2 pn.xml
    root@MiPc:/home/mi_usuario#

    asi es como debe salir?¿

    y si es asi tons por que la pag me sigue saliendo el mensaje de que nomas no XD

    espero respuesta pornto porfa seria chido no ya que si kiero trasmitir xD y no me quiero cambiar a winbug ottra vez

    please¡¡¡¡ HELPME¡¡¡

  42. Murru Dice:

    Darknoa, depende como hallas puesto el xml, hay una opcion para que corra en background.

    podes verlo con un:

    ps -e | grep ice

    tengo un manual para otra distro, pero es lo mismo, en http://www.sectorunsam.com.ar

  43. Darknoa Dice:

    Si pero si me ya puedo trasmitir ?

    osea aunque al meter en link que me mandaron me aparesca : The file you requested could not be found

    o como para empesar a trasmitir soy nob en esto bueno no mucho XD pero no quiero aserlo por winbug…

    se supone que solo le doy el run al xtml y ya empiesa o tengo que aser otra cosa aparte para empesar a trasmitir.

    lo de la tarjeta no le entendi muy bien pero active la de microfono fue lo que ise unicament

    pero pues para eso quiero saber si ya esta bien o por que o si es normal que salga:

    The file you requested could not be found

    xD
    espero respuesta y muchisimas gracias.

Deje una respuesta

XHTML: Usted puede usar estos tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>