Guía rápida para instalar Icecast 2 en Ubuntu (y Debian, supongo)

Enviado por clbustos el Jue, 13/10/2005 - 00:58.
Clasificado en:

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

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 único 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

  1.  <authentication>
  2.   <!-- Sources log in with username 'source' -->
  3.   <source-password>PASSWORD_FUENTES</source-password>
  4.   <!-- Relays log in username 'relay' -->
  5.   <relay-password>PASSWORD_RELAY</relay-password>
  6.  
  7.   <!-- Admin logs in with the username given below -->
  8.   <admin-user>ADMINISTRADOR</admin-user>
  9.   <admin-password>PASSWORD_ADMINISTRADOR</admin-password>
  10.   </authentication>

y después

  1.  <!-- This is the hostname other people will use to connect to your server.
  2.   It affects mainly the urls generated by Icecast for playlists and yp
  3.   listings. -->
  4.   <hostname>www.miservidor.com</hostname>

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, así que tenemos que hacer algunos malabares extraños. Para mantener el orden, creemos un archivo llamado ices2.xml dentro de /etc/icecast2, el cual debe contener la siguiente información (cambien todo aquello que esté en mayúsculas)

  1.  <?xml version="1.0" ?>
  2.  <ices>
  3.   <background>1</background>
  4.   <logpath>/var/log/icecast2</logpath>
  5.   <logfile>ices.log</logfile>
  6.   <loglevel>4</loglevel>
  7.   <consolelog>0</consolelog>
  8.   <pidfile>/tmp/ices.pid</pidfile>
  9.  
  10.   <stream>
  11.   <metadata>
  12.   <name>NOMBRE ESTACION</name>
  13.   <genre>GENERO ESTACION</genre>
  14.   <description>DESCRIPCION ESTACION</description>
  15.   </metadata>
  16.  
  17.   <input>
  18.   <module>playlist</module>
  19.   <param name="type">basic</param>
  20.   <param name="file">/PATH/DE/MI/LISTADO.TXT</param>
  21.   <param name="random">1</param>
  22.   <param name="restart-after-reread">0</param>
  23.   <param name="once">0</param>
  24.   </input>
  25.  
  26.   <instance>
  27.   <hostname>localhost</hostname>
  28.   <port>8000</port>
  29.   <password>PASSWORD_FUENTES</password>
  30.   <mount>/playlist.ogg</mount>
  31.  
  32.   <reconnectdelay>2</reconnectdelay>
  33.   <reconnectattempts>5</reconnectattempts>
  34.   <maxqueuelength>80</maxqueuelength>
  35.   <encode>
  36.   <nominal-bitrate>64000</nominal-bitrate>
  37.   <samplerate>44100</samplerate>
  38.   <channels>2</channels>
  39.   </encode>
  40.   </instance>
  41.   </stream>
  42.  </ices>

Como se habrán dado cuenta, hay dos datos con los cuales hay que tener cuidado. El primero, es el la ruta hacia un archivo con el listado de canciones a tocar. Para crearlo, 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 como root

ices2 /etc/icecast2/ices2.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/icecast2/ices2.xml"
#CONFIGDEFAULTFILE="/etc/default/icecast2"
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

Imagen de danilo ulloa

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..

Enviado por danilo ulloa (no verificado) el Mié, 09/11/2005 - 01:17.
Imagen de clbustos

No problema. ¿Me podrías decir que información en particular te interesaría?

Enviado por clbustos el Mié, 09/11/2005 - 10:15.
Imagen de Braum

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

Enviado por Braum (no verificado) el Dom, 09/04/2006 - 08:24.
Imagen de clbustos

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 icecast2 y en gentoo emerge icecast2.
Si ocupas Windows, descarga el archivo que dice "Windows Setup".
Eso sería.

Enviado por clbustos el Lun, 10/04/2006 - 13:58.
Imagen de Verbaton

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

Enviado por Verbaton (no verificado) el Mié, 10/05/2006 - 18:57.
Imagen de clbustos

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

Enviado por clbustos el Mié, 10/05/2006 - 22:17.
Imagen de tuxídides

He seguido el tutorial, pero cuando llega a
ices2 /etc/icecast2/ices2.xml

no pasa nada de nada, ningún mensaje, nada....

Enviado por tuxídides (no verificado) el Sáb, 03/02/2007 - 15:19.
Imagen de Sound-dj-

necesito saber si se puede aplicar en SUSE, ya he intentado con SHOUT CAST pero no lo he logrado

Enviado por Sound-dj- (no verificado) el Sáb, 17/02/2007 - 00:25.
Imagen de silvio

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

Enviado por silvio (no verificado) el Jue, 29/03/2007 - 09:07.
Imagen de Perejilillo desconocido

Y en el archivo "LISTADO.TXT" que debo poner?

Enviado por Perejilillo desconocido el Mié, 05/09/2007 - 12:12.
Imagen de clbustos

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.

Enviado por clbustos el Mié, 05/09/2007 - 12:21.
Imagen de Perejilillo desconocido

hola tengo una emisora en am en pueblo y quisiera colocarla en internet. hago los mismos pasos? cuaantas personas me pueden escuchar?

Enviado por Perejilillo desconocido el Jue, 20/09/2007 - 14:27.
Imagen de clbustos

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.

Enviado por clbustos el Jue, 20/09/2007 - 15:37.
Imagen de uPPer

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

Enviado por uPPer (no verificado) el Vie, 26/10/2007 - 06:50.
Imagen de clbustos

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.

Enviado por clbustos el Vie, 26/10/2007 - 12:20.
Imagen de URGENTE

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

Enviado por URGENTE (no verificado) el Lun, 29/10/2007 - 16:44.
Imagen de paco

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.

Enviado por paco (no verificado) el Sáb, 17/11/2007 - 01:23.
Imagen de clbustos

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)

Enviado por clbustos el Sáb, 17/11/2007 - 18:28.
Imagen de edmundo

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

Enviado por edmundo (no verificado) el Mar, 19/02/2008 - 22:52.
Imagen de Zokratez

si es cierto con el IceS2 se puede en vivo.
http://www.icecast.org/docs/ices-2.0.0/config.html

Enviado por Zokratez (no verificado) el Mar, 08/04/2008 - 10:57.
Imagen de Jorge Carrizo

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

Enviado por Jorge Carrizo (no verificado) el Jue, 26/06/2008 - 23:40.
Imagen de clbustos

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:

Enviado por clbustos el Vie, 27/06/2008 - 11:50.
Imagen de Herbert

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

Enviado por Herbert (no verificado) el Mié, 23/07/2008 - 18:53.
Imagen de victor ruiz

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.

Enviado por victor ruiz (no verificado) el Jue, 18/09/2008 - 16:21.
Imagen de juan diego

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

Enviado por juan diego (no verificado) el Jue, 18/09/2008 - 17:26.
Imagen de clbustos

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?

Enviado por clbustos el Vie, 19/09/2008 - 03:46.
Imagen de linkan

una pregunta prodria ser una lista de mp3 en vez de ogg

Enviado por linkan (no verificado) el Dom, 28/09/2008 - 00:47.
Imagen de clbustos

Con Ices2 solo puedes usar ogg. Ocupa Ices1 para mp3

Enviado por clbustos el Dom, 28/09/2008 - 00:51.
Imagen de linkan

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

Enviado por linkan (no verificado) el Dom, 28/09/2008 - 02:23.
Imagen de Omar

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

Enviado por Omar (no verificado) el Mar, 14/10/2008 - 17:50.
Imagen de clbustos

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 :)

Enviado por clbustos el Mié, 15/10/2008 - 22:26.
Imagen de silvio

hola claudio no me has respondido a la pregunta si puedo difundir video por icecast2

Enviado por silvio (no verificado) el Mié, 05/11/2008 - 11:55.
Imagen de clbustos

Por lo que dice el sitio, NO.

Enviado por clbustos el Mié, 05/11/2008 - 12:53.
Imagen de adalbeca

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.

Enviado por adalbeca (no verificado) el Mar, 18/11/2008 - 17:57.
Imagen de mac

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

Enviado por mac (no verificado) el Mié, 19/11/2008 - 22:24.
Imagen de clbustos

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

Enviado por clbustos el Mié, 19/11/2008 - 22:36.
Imagen de mac

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?

Enviado por mac (no verificado) el Mié, 19/11/2008 - 23:31.
Imagen de mac

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.

Enviado por mac (no verificado) el Jue, 20/11/2008 - 00:12.
Imagen de clbustos

Me da la impresión que sí. En peor de los casos, se podrían tener dos servidores icecast corriendo al mismo tiempo.

Enviado por clbustos el Jue, 20/11/2008 - 09:28.

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
If you have a Gravatar account, used to display your avatar.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato