Guía rápida para instalar Icecast 2 en Ubuntu (y Debian, supongo)
Actualizado para Ubuntu 8.10
A petición de los interesados, una guía rápida para hacer funcionar un icecast 2 en ubuntu
Antes que nada, unas explicaciones:
Icecast es un servidor de flujos de media (media streaming) que soporta Ogg y Mp3. Con programas tales como Winamp o Xmms, cualquier usuario se puede conectar a tu computador y escuchar contenidos de audio en tiempo real, o en otras palabras, puedes tener tu radio por internet.
Ahora bien, Icecast por si solo no hace mucho, ya que a lo sumo permite entregar archivos ogg o mp3 de forma directa, tal cual como lo haría Apache. Para hacer que funcione como una radio, necesitamos lo que se llama un cliente de streaming, que entregue contenidos a Icecast para que funcione. Haciendo una analogía con la radio, Icecast es la antena, en tanto que el cliente es la consola que tiene conectados los micrófonos y el reproductor de CD.
El cliente "oficial" de Icecast es Ices. La versión 1 permite usar Mp3, en tanto que la 2, más poderosa, permite ocupar Ogg. A mi me encantan los ogg, así que me quedo con esta última.
Como esta guía esta dedicada a los debianistas de turno, tenemos que hacer un clásico apt-get
$ sudo apt-get install icecast2 ices2 vorbis-tools
Icecast2 viene con los archivos de configuración necesarios en /etc/icecast2 y con un servicio montado en /etc/init.d/icecast2, así que lo primero que debemos hacer es modificar /etc/icecast2/icecast.xml para definir los password para las fuentes y del administrador, así como el nombre del servidor. Para ello, busquen en el archivo nombrado las siguientes secciones
- <authentication>
- <!-- Sources log in with username 'source' -->
- <source-password>PASSWORD_FUENTES</source-password>
- <!-- Relays log in username 'relay' -->
- <relay-password>PASSWORD_RELAY</relay-password>
- <!-- Admin logs in with the username given below -->
- <admin-user>ADMINISTRADOR</admin-user>
- <admin-password>PASSWORD_ADMINISTRADOR</admin-password>
- </authentication>
y después
- <!-- This is the hostname other people will use to connect to your server.
- It affects mainly the urls generated by Icecast for playlists and yp
- listings. -->
- <hostname>www.miservidor.com</hostname>
En segundo lugar, debemos modificar /etc/default/icecast2 para habilitar el servicio poniendo la variable ENABLE a true. Por defecto viene inhabilitado, para que leamos este archivo y cambiemos la password del administrador. Así, la sección final quedaría así:
# 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
Finalmente, debemos activar el servicio con:
$ sudo /etc/init.d/icecast2 start
Si todo sale bien, al ir a http://www.miservidor.com:8000 deberíamos ver la página de icecast.
Ahora toca lo complicado. Ices2 no viene con archivos de configuración por defecto. En /usr/share/doc/ices2/examples se encuentran ejemplos para configuraciones de alsa, ogg y playlist. Como lo más probable es que utilicen esta última, creemos una carpeta en etc llamada ices y copiemos el archivo allí
$ sudo mkdir /etc/ices2 $ sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/
Ahora, modifiquen el archivo /etc/ices2/ices-playlist.xml para alterar los valores que abajo aparecen en mayúscula. Los valores más importantes son la ruta al listado de canciones, que está en /ices/stream/input/param[@file], y el password de las fuentes, que está en /ices/stream/instance/password, que debe ser el mismo password que utilizaron en /etc/icecast2/icecast.xml.
- <?xml version="1.0" ?>
- <ices>
- <background>1</background>
- <logpath>/var/log/icecast2</logpath>
- <logfile>ices.log</logfile>
- <loglevel>4</loglevel>
- <consolelog>0</consolelog>
- <pidfile>/tmp/ices.pid</pidfile>
- <stream>
- <metadata>
- <name>NOMBRE ESTACION</name>
- <genre>GENERO ESTACION</genre>
- <description>DESCRIPCION ESTACION</description>
- </metadata>
- <input>
- <module>playlist</module>
- <param name="type">basic</param>
- <param name="file">/PATH/DE/MI/LISTADO.TXT</param>
- <param name="random">1</param>
- <param name="restart-after-reread">0</param>
- <param name="once">0</param>
- </input>
- <instance>
- <hostname>localhost</hostname>
- <port>8000</port>
- <password>PASSWORD_FUENTES</password>
- <mount>/playlist.ogg</mount>
- <reconnectdelay>2</reconnectdelay>
- <reconnectattempts>5</reconnectattempts>
- <maxqueuelength>80</maxqueuelength>
- <encode>
- <nominal-bitrate>64000</nominal-bitrate>
- <samplerate>44100</samplerate>
- <channels>2</channels>
- </encode>
- </instance>
- </stream>
- </ices>
Para crear la ruta hacia un archivo con el listado de canciones a tocar, basta hacer algo como
find /PATH/MIS/CANCIONES -iname "*.ogg" > /PATH/DE/MI/LISTADO.TXT
Lo segundo es utilizar el password que definimos en icecast2 para las fuentes en la sección de instance/password.
Una vez definido estos datos, tenemos que echar a andar nuestro ices2. Para ello, ingresemos:
$ices2 /etc/ices2/ices-playlist.xml &
Si todo va bien, al ingresar a la página del icecast veremos que aparece en la mitad de la página un link a http://www.miservidor.com:8000/playlist.ogg.m3u, el cual nos permite conectarnos a la radio. 
Hasta aquí, todo bien. Pero, ¿que pasa si queremos que el computador se inicie con el icecast2 y ices2?. Debemos crear una entrada en /etc/init.d con las instrucciones necesarias para iniciar ices2. Copiando casi literalmente el archivo de configuración de icecast2, aquí les presento una versión funcional de /etc/init.d/ices2
#! /bin/sh
#
# ices2
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/ices2
NAME=ices2
DESC=ices2
test -x $DAEMON || exit 0
# Defaults
CONFIGFILE="/etc/ices2/ices-playlist.xml"
USERID=icecast2
GROUPID=icecast
# Reads config file (will override defaults above)
set -e
case "$1" in
start)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--exec $DAEMON $CONFIGFILE
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
echo "$NAME."
;;
reload|force-reload)
echo "Reloading $DESC configuration files."
start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --oknodo --quiet --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
--exec $DAEMON $CONFIGFILE
echo "$NAME."
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
Una vez creado el archivo, debemos hacer update-rc.d ices2 defaults, para que nuestro archivo se agregue como un servicio a ser iniciado junto con el computador
Recuerden que para codificar ogg basta hacer oggenc miarchivo.wav en los ficheros que corresponda. Ices2 se encargará de recodificar los archivos para que icecast reciba un flujo uniforme de bytes
Y eso sería todo. Cualquier duda o consulta, cosa de avisar :)
Actualización: Pueden ver otro how-to, pero con Muse, en linuzeros.org
- 32581 lecturas

Hola Claudio, buen tema, me intereso sobre
todo por la posibilidad de hacer radio. Me gustaría más info
para usuarios de Ubuntu. Saludos..
No problema. ¿Me podrías decir que información en particular te interesaría?
Hola, te agradesco por esta importante ayuda que nos das con este tutorial, hay muchas cosas que no comprendo por que soy nuevo en esto del stream pero quiero aprender, entre a la pagina de Icecast pero no se cual tengo que bajar me podrian dar el enlace directo para asi descargar el que Icecast que corresponde por favor, desde ya muchas gracias
Es muy sencillo. Si tienes una distribución de linux, te conviene ocupar el paquete diseñado para tu bicho. Por ejemplo, en Debian deberían usar
apt-get install icecast2y en gentooemerge icecast2.Si ocupas Windows, descarga el archivo que dice "Windows Setup".
Eso sería.
Hola Claudio. una maravilla tu articulo, pero necesitaria saber como hago lo mismo pero con darkice+icecast2. Sabes como hacerlo? es para un a emision en vivo y en directo. Gracias
El único problema conmigo es que me halagan y caigo como imbécil.
Yap, veremos que puedo hacer.
Oye, a todo esto, probaste con ices2? Se supone que también puedes mandar una señal en vivo, con alsa, oss o incluso vía pipe
He seguido el tutorial, pero cuando llega a
ices2 /etc/icecast2/ices2.xml
no pasa nada de nada, ningún mensaje, nada....
necesito saber si se puede aplicar en SUSE, ya he intentado con SHOUT CAST pero no lo he logrado
hola me llamo silvio me gustaria saber si el mismo servidor (icecast2)sirve para stream de video y audio a la vez y que cliente se debe utilizar en debian, y como puedo conmfigurarlo para hacer video conferencia y si hay otro servidor mucho mejor para la misma pudieras decirmo donde descargarlo espero respuesta
Y en el archivo "LISTADO.TXT" que debo poner?
El listado con rutas absolutas a tus canciones en formato .ogg. La forma más rápida es usando la instrucción que puse en el texto, con find.
hola tengo una emisora en am en pueblo y quisiera colocarla en internet. hago los mismos pasos? cuaantas personas me pueden escuchar?
Si, puedes seguir la misma guía que está expuesta aquí. Si tienes problemas nos avisas y trataremos de ver como arreglamos tu lío.
Recuerda que si alojas la radio en tu computador, necesitaras un servicio de ip dinámico para que tus oyentes puedan encontrar tu servicio de forma rápida.
El número de personas que te pueden escuchar dependerá del ancho de banda de tu servicio. Lo más rápido es que dividas el ancho total de salida, que en Chile será en promedio de 500kbps, con el ancho de banda de tu radio, que debería rondar los 32kbps.
Gracias por la guia, la he seguido tal y como dices, pero me surje un problema. Cuando lanzo el servidor, se intenta descargar el lista de canciones y cuando entran en el reproductor me dice que playlist.ogg no encuentra la direccion. ¿Donde debo crear la lista de canciones *.ogg?
gracias
En la línea 20 del ices.xml está la instrucción específica.
Ahora, por lo que me cuentas, parece que el problema es otro. Si entiendo bien, el reproductor, no el icecast ni el ices, te dice que no encuentra la dirección donde escuchar la música. Te diría que verificaras con el navegador, por el puerto 8000, que todo estuviera ok.
HOLA ESPERO Y ME PUEDAS ALLUDAR
MI PROBLEMA ES CON EL AUDIO. LO QUE PASa eSQUE CUANDO ESTOY ESCUCHANDO EL AUDIO EN OTRA COMPUTADORA EL AUDIO SE ESCHUCHA DISTORCIONADO Y CON RUIDO.
OJALA Y ME PUDIERAS ALLUDAR
Muchas gracias por tu tutorial, fijate que cuando pongo
la instruccion ices2 /etc/icecast2/ices2.xml &
me aparece
root@paco-laptop:/# /etc/icecast2/ices2.xml:1: parser error : Start tag expected, '<' not found
1.
^
Failed to read config file "/etc/icecast2/ices2.xml"
y de ali en adelante ya no se que debo hacer, muchas gracias por tu tiempo.
El archivo de configuración( /etc/icecast2/ices2.xml) no está bien. Parece que pegaste tal cual las líneas que puse en el artículo. Tienes que eliminar todos los números de línea, que sólo están para propósitos de claridad (los 1., 2. etc)
una pregunta ya lo tengo instalado y corriendo pero no puedo ver el numero de coneccions entrantes ya que cuando le doy a la pagina local no me aparece nada.
agradeceria tu ayuda
si es cierto con el IceS2 se puede en vivo.
http://www.icecast.org/docs/ices-2.0.0/config.html
Excelente tutorial, solo agregaria el chmod al archivo de inicio del ices2 para que sea perfecto. Y fue apenas en un rato que estuvo todo listo.
No tuve buenos resultados con reproductores en plataformas Windows de la notebook, ni el iTunes ni el MPlayer reprodujeron nada. En cambio en la pc con linux donde esta el servidor icecast y el cliente iceS funciono bastante bien. Lo unico extraño es que entre cancion y cancion tenia que reiniciar el reproductor.
Entonces, como puedo tener play continuo ?
Tips para reproductores windows ? Si no me equivoco vi reproductores tipo applet con Flash, a vos que te parecen ?
gracias por tu tiempo, el tutorial como te digo es excelente.
jorge
Me parece que, en estos días, lo mejor es usar un reproductor flash. Son rápidos de instalar y la gente está acostumbrada a usarlos.
Puedes ver dos artículos en mi sitio de música en:
me parece que usted sabe esto muy bien
me puedes ayudar?
quiero hacer un radio en internet
dengo un ubuntu server
dengo installado icecast2 y idjc
no dengo idea como configurar esto
http://www.radiosanher.com.mx
ahi ves que no puedo
no jalla mi radio solo laos otros
garacias lo agradesco mucho la ayuda de usted
herbert_grahammer2002@yahoo.com.mx
Hola, muchas gracias por la ayuda. tengo un problema y una duda
al entrar ices2 /etc/icecast2/ices2.xml & en la terminal, me dice lo siguiente:
I/O warning : failed to load external entity "/etc/icecast2/ices2.xml"
Failed to read config file "/etc/icecast2/ices2.xml"
[4] 11672
[3] Done ices2 /etc/icecast2/ices2.xml
[4]+ Done ices2 /etc/icecast2/ices2.xml
no sé qué he hecho mal.
Ahora, tú dices que al poner el campo hostname de icecast2.xml como www.loquesea.com; luego al poner en mi navegador www.loquesea.com:8000 me envía a la página de icecast, por sólo me dice que no encuentra el sitio.
Gracias.
Hola Claudio si me pudieras colaborar en algo nosotros ya tenemos montado un sitio web con una emisora ONLINE en la que solo rodamos musica con el Winamp todo el dia pero quisieramos colocar pisapistas y hacer programas en Vivo ya que hemos tenido una acogida de casi 800 visitas en menos de una semana y ya nos estan pidiendo entrevistas ey en fin nos quieren como una emisora del FM o AM
si me pudieras colaborar estaria muy agradecido
Dos cosas:
1) Copia en un comentario todo tu archivo de icecast2.xml para ver si hay algo evidentemente malo.
2) No te entendí al final. ¿Viste la página de icecast, pero no tiene ninguna emisora? ¿O simplemente te da un error de no existe servidor?
una pregunta prodria ser una lista de mp3 en vez de ogg
Con Ices2 solo puedes usar ogg. Ocupa Ices1 para mp3
disculpa que haga dos preguntas pero ya funciona con ogg abro la pagina con el icecas2 y si funciona localmente pero cuando estoy fuera de red no reproduce se queda detenido me podrias ayudar por favor
Hola, Claudio.
Al correr el ices2 lo único que obtengo en pantalla es, por ejemplo,
[1] 6875
Done
Más nada.
Al escribir en el navegador la dirección www.elnombrequeledoy.com:8000 me sale el mensaje 'Dirección no encontrada' 'Firefox no puede encontrar la dirección www.elnombrequeledoy.com'
¿Dónde habré metido la pata? ¿Podrías darme algunas pistas?.
Gracias por tu atención
Quede metido. Lo primero es verificar que este operando el servido icecast. Lo segundo, es ver si al activar ices está funcionando el cliente ices. Para ver las dos cosas, basta con hacer
$ ps -e | grep ice
Deberían aparecer dos líneas, demostrando que están corriendo ambos procesos. Si falta una, tienes uno o dos problemas :)
hola claudio no me has respondido a la pregunta si puedo difundir video por icecast2
Por lo que dice el sitio, NO.
Amigo esta bien el manual, como hago para configurar que sea Mi Servidor el que recibe la musica de otro pc. es decir tengo el PC Server, pero el pc que esta en otro punto de la ciudad se conecta via Winamp y le manda datos a mi server como haria la config.
Iniciar ices2 al encender el ordenador
Hola tengo montada una radio con icecast e ices2 en ubuntu 7.10 desde hace tiempo. Quería que ices2 se iniciara al encender el pc, (icecast ya lo hace). He creado una entrada en /etc/init.d como dices en el tutorial pero no se carga.
Hasta ahora sigo iniciandolo desde consola con:
sudo ices2 /etc/ices2/ices-playlist.xml
Me puedes orientar porqué no funciona, Gracias
la radio está en www.radioactividad.net
Salud
Prueba a reemplazar en /etc/init.d/ices2
CONFIGFILE="/etc/icecast2/ices2.xml"
Por
CONFIGFILE="/etc/ices2/ices-playlist.xml"
Trata de probarlo a mano con
$ sudo /etc/init.d/ices2 start
Cuando funcione, también recuerda incluir el script en el boot con
$ sudo update-rc.d ices2 defaults
Gracias por tu rapidez en responder
Ya había cambiado CONFIGFILE="/etc/ices2/ices-playlist.xml"
En consola sudo /etc/init.d/ices2 start" me responde así
xxx@emision:~$ sudo /etc/init.d/ices2 start
sudo: /etc/init.d/ices2: command not found
xxx@emision:~$ sudo update-rc.d ices2 defaults
System startup links for /etc/init.d/ices2 already exist.
Que puede ser?
Ya funciona. No había activado la casilla de permitir ejecutar el archivo como un programa en el script.
Aprovecho para preguntar si es compatiple los dos modulos (live y playlist) en el mismo archivo de configuración xml
Os dejo la dirección de la radio y el streaming
www.radioactividad.net
http://www.radioactividad.net:8000/radioactividad.ogg
Gracias de nuevo.
Me da la impresión que sí. En peor de los casos, se podrían tener dos servidores icecast corriendo al mismo tiempo.
trabajo en una radio, ya tengo instalado icecast2, lo que necesito es informacion sobre como transmitir o como configurar ices2 para que transmita desde la linea de entrada de audio de la pc.
Gracias
Att: Carlos Larios
carloslarios0509@yahoo.es
QUIERO CREAR UNA RADIO EN INTERNET PASO APASO PQ NOENTIENDO NADA DE ESTE programa ayudaaaaaa
Hola me parecio super buena la guia la segui paso a paso y me funciono a la primera, y hasta ahi estamos bien pero bueno probe la estacion en mi red local y funciona pero ahora que tengo que hacer si la quiero subir a Internet?
Espero me puedas ayudar
Atte:Ricardo B.
He seguido al pie de la letra tu tutorial pero cuando quiero entrar a la página de IceCast2 simplemente me aparece en blanco. Ni siquiera me dice que no existe. La tengo como localhost:8000
Si logro hacer funcionar esto, serías mi héroe. :P Gracias.
He llegado hasta aqui via google... y te compadezco por lo que te toca aguantar xD
Ya que estoy, te dejo una pregunta (aunque no creo que lo leas): conoces alguna aplicacion que permita, digamos, editar "al vuelo" el playlist, de forma que podamos elegir entre todo nustro repertorio musical e ir aniadiendo/quitando segun lo necesitemos? Y si es grafica, mejor xD
Pensaba escribirlo yo mismo, pero GTK es un poco... infernal, y si ya existe algo, mejor.
Un saludo!!
me gustaria mas ayuda para poder sacar mi programa de radio por la web...
yo estoy usando el shoutcast y la verdad venia muy bien asta que pise un router y se descontrolo todo...
hola me gustaria que me explicaras mas a fondo sobre esta parte en la que dices "Lo segundo es utilizar el password que definimos en icecast2 para las fuentes en la sección de instance/password." ya que cuando llego aqui no se que hacer todo lo anterior esta perfecto pero me quede aqui seria de gran ayuda gracias.
Mis Bendiciones!
hola:
quisiera saber, 1) donde va lo del "find".... 2)la lista donde ingreso mis canciones q archivo es?... 3)con esta version puedo ocupar mp3 o solo el q dice ahi? gracias!!
1) Si utilizar linux, find es un comando que te permite en la consola, buscar archivos de acuerdo a su nombre u otras características. Si estás en Windows, es mejor hacer la lista a mano
2)El archivo que tú quieras. Revisa en el archivo de configuración, la línea 20
3)Con Ices 2, sólo ogg. Con Ices 1 puede ocupar mp3.
disculpa, /PATH/MIS/CANCIONES y /PATH/DE/MI/LISTADO.TXT donde los coloco? puede ser "mi musica y ahi meter mis canciones" y en esa misma carpeta el archivo de listado.txt? o como funciona!! solo me falla eso, por lo que no me sale la ultima pantalla :(.. gracias!!!
Hola que tal un saudo desde mexico esta muy bueno el tutorial pero tengo un problema...
ya esta funcioando mi icecast bien bien lo puedo reproducir el problema es que cuando termina mi cancion ya no pasa a la siguiente y en el .txt tengo varias canciones... que es lo que esta pasando?
me estoy saltando un paso? me falta agregarle algo? espero tu ayuda compañero.. gracias mi msn es abraham 1688@hotmail.com
Gracias
espero una respuesta favorable.
ñ_ñ
Que tal Angel yo creo que es tu reproductor utiliza vlc es muy bueno, funciona en GNU / Linux, Mac o Windows
Danos la dirección de tu streamin, para ver si es un problema del servidor o del cliente.
Primero que todo muchas gracias por sacar el tiempo para crear tan buen post. Seguidamente te pediré un favor serias tan amable de explicarme esta parte del tutorial """ Los valores más importantes son la ruta al listado de canciones, que está en /ices/stream/input/param[@file], y el password de las fuentes, que está en /ices/stream/instance/password, que debe ser el mismo password que utilizaron en /etc/icecast2/icecast.xml. """
Nota: Mi problema es que sigo el tutorial al pie de la letra pero cuando llego a la parte antes citada no se donde se encuentra las rutas mencionadas.
De antemano gracias por la ayuda que me puedas brindar.
usa antes de eso sudo gedit>comando basico para modificar archivos
Enviar un comentario nuevo