Guía rápida para instalar Icecast 2 en Ubuntu (y Debian, supongo)
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
- <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>
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)
- <?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>
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
- 15857 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 icecast2
y 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.
Enviar un comentario nuevo