fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
En las redes sociales...
Sobre mi...
Claudio Concepción Certad
Ver todo mi perfil
Artículos que deberías leer
El Software Libre como ventaja competitiva
para las pymes
El Software Libre y la Educación
Realidad del Software Libre en la República
Dominicana
Artículos más leídos
5 Aplicaciones Libres para
Monitoreo de Redes y
Servidores
El administrador de un sitio web
o de una red se basa software
de monitorización red/servidor
que continuamente se puede mantener un ojo
en ...
7 Distribuciones GNU/Linux para
Hacking y Seguridad
Las 7 mejores distribuciones
GNU/Linux para Seguridad de
Redes: Anteriormente vimos
algunas distros especialmente
diseñadas para recupera...
Instalando y configurando
Asterisk PBX en CentOS 6
En un post anterior les
compartía el e-book Asterisk:
The Future of the Telephony.
Hoy vamos a tener un pequeño
instructivo de cómo insta...
Cómo configurar un servidor DNS dinámico
con named y dhcpd en CentOS 6
DHCP y DNS son los servicios más básicos (y
1 de 9 10/08/2015 09:06 p.m.
fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
por qué no los más importantes)
en una red local y en Internet.
Hemos trabajado con ellos
ante...
Cómo instalar y configurar
Zimbra 8.5 en CentOS 6.6
Hace poco presentamos a
Zimbra, una suite colaborativa y
de correo electrónico de pago
pero que tiene su versión libre
mantenida por la co...
Cómo filtrar el tráfico https en
Squid en modo transparente
Squid es un proxy muy potente y
aquí hemos trabajado con él.
Hoy veremos cómo usar la
técnica SSL Bump para poner a
Squid "en el medi...
Conectarse desde GNU/Linux a
una carpeta Windows
compartida (Samba)
Samba es una implementación
libre del protocolo de archivos
compartidos de Microsoft
Windows (antiguamente llamado SMB,
renombrado recientem...
Mi escritorio este mes, gracias a
@linuxformat @numixproject
Conky
Cambiar idioma de LibreOffice a
Español (Interfaz y diccionario)
LibreOffice es la suite ofimática
por defecto en la mayoría de
distribuciones GNU/Linux.
Cuando instalamos una
distribución en español, L...
7 aplicaciones libres para
proyectar alabanzas en tu
iglesia local
Si existe alguna institución que
no se puede dar el lujo de
malgastar dinero, lo es la iglesia.
Debido a que la misma depende de la provis...
Comentarios recientes
Archivo del blog
► 2015 (27)
► 2014 (113)
▼ 2013 (102)
► diciembre (18)
► noviembre (10)
► octubre (3)
► septiembre (5)
► agosto (15)
► julio (7)
► junio (13)
► mayo (4)
► abril (6)
► marzo (6)
► febrero (7)
▼ enero (8)
Cómo configurar un servidor de
streaming con Iceca...
Gestores de Paquetes: RPM y YUM
Icecast, un simple, completo y libre
servidor de s...
2 de 9 10/08/2015 09:06 p.m.
fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
<paths> Gestores de Paquetes: Los paquetes
<basedir>/opt/icecast/latest/share/icecast</basedir> DEB
<webroot>/opt/icecast/latest/share/icecast/web</webroot>
Personaje del mes: Linus Torvalds,
<adminroot>/opt/icecast/latest/share/icecast/admin</adminroot> creador del núc...
<logdir>/var/log/icecast</logdir>
<pidfile>/var/run/icecast/[Link]</pidfile> Gestores de Paquetes: APT
<alias source="/" dest="/[Link]"/> Descarga el Raspberry Pi Education
</paths> Manual 1.0
Guía Samba4 como Controlador de
<!-- LOG --> Dominio (ebook)
<logging>
<accesslog>[Link]</accesslog>
► 2012 (144)
<errorlog>[Link]</errorlog>
<playlistlog>[Link]</playlistlog> ► 2011 (398)
<loglevel>1</loglevel>
► 2010 (283)
<logsize>10000</logsize>
<logarchive>1</logarchive> ► 2009 (52)
</logging> ► 2008 (17)
<!-- SECURITY --> ► 2007 (5)
<security>
<chroot>0</chroot>
<changeowner> MuyLinux » Claudio
<user>icecast</user> Concepcion
<group>icecast</group>
14 terminales en Linux para los fans del
</changeowner>
intérprete de comandos - 3/1/2011 - Claudio
</security> Concepcion
</icecast>
Fedora también apuesta por Wayland para
futuras versiones - 14/11/2010 - Claudio
Concepcion
Viendo el fichero [Link] en detalle, tenemos:
Se retrasa la lista
La sección LIMITS define el máximo de estaciones de radio a proveer [Link] - 11/11/2010 - Claudio
Concepcion
(sources=10), cuántos clientes pueden conectarse (clients=100), etc.
La sección GENERIC define el usuario, IP y puerto del servidor mismo. Cómo compilar el kernel Linux en Ubuntu,
Fedora, y otras - 10/11/2010 - Claudio
La sección PATHES define las rutas a la interfaz web que es muy simple. Concepcion
La sección LOGGING define dónde escribirá los logs de Icecast y qué se
almacenará en los mismos.
Estadísticas del blog
La sección SECURITY define el usuario y grupo que ejecutará Icecast.
Generalmente se usa el usuario icecast, el cual crearemos más adelante.
Para que Icecast funcione correctamente solo nos faltan algunos ajustes.
Ahora vamos a crear el usuario y grupo que figuran en [Link]. Crearemos también los
directorios para los log y el PID del proceso.
[root@icecastsrv01 ~]# groupadd -g 200 icecast
[root@icecastsrv01 ~]# useradd -d /var/log/icecast -m -g icecast -s /bin/bash -u 200 icecast
[root@icecastsrv01 ~]# mkdir -p /var/run/icecast
[root@icecastsrv01 ~]# chown -R icecast:icecast /var/run/icecast
Finalmente probamos Icecast
[root@icecastsrv01 ~]# /opt/icecast/latest/bin/icecast -c /opt/icecast/latest/etc/[Link] -b
Starting icecast2
Detaching from the console
Changed groupid to 200.
Changed userid to 200.
En este punto podemos confirmar que los ficheros para los logs se han creado correctamente. Todo el material de este blog
tiene licenciamento bajo Creative Commons
[root@icecastsrv01 ~]# ls /var/log/icecast/ Attribution-NonCommercial-ShareAlike 3.0
[Link] [Link] [Link] Unported License, excepto aquellos en los que
se indica la fuente o autor original.
Y verificamos que realmente se está ejecutando el servicio:
[root@icecastsrv01 ~]# pgrep -fl icecast
4874 /opt/icecast/latest/bin/icecast -c /opt/icecast/latest/etc/[Link] -b
Además Icecast es accesible desde su interfaz web en la dirección IP del servidor
[Link] la cual podemos administrar entrando con el usuario y
contraseña definidos en el fichero [Link].
3 de 9 10/08/2015 09:06 p.m.
fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
Configurando los clientes de streaming
Tener el servidor funcionando no es suficiente. Es necesario además un cliente de streaming
en algún formato de audio.
Ahora veremos cómo dejar funcionando Ices, un cliente de streaming en formato
OGG/Vorbis, el cual también necesita la ayuda de la librería libshout.
Configurando Libshout
[root@icecastsrv01 ~]# cd /usr/src/icecast
[root@icecastsrv01 icecast]# wget [Link]
[root@icecastsrv01 icecast]# tar xf [Link]
[root@icecastsrv01 icecast]# cd libshout-2.3.1
[root@icecastsrv01 libshout-2.3.1]# ./configure --prefix=/opt/icecast/latest
[root@icecastsrv01 libshout-2.3.1]# make
[root@icecastsrv01 libshout-2.3.1]# make install
Configurando Ices
[root@icecastsrv01 libshout-2.3.1]# cd /usr/src/icecast
[root@icecastsrv01 icecast]# wget [Link]
[root@icecastsrv01 icecast]# tar xf [Link].bz2
[root@icecastsrv01 icecast]# cd ices-2.0.2/
[root@icecastsrv01 ices-2.0.2]# export PKG_CONFIG_PATH=/opt/icecast/latest/lib/pkgconfig:$PKG_CONFIG_PAT
[root@icecastsrv01 ices-2.0.2]# ./configure --prefix=/opt/icecast/latest
[root@icecastsrv01 ices-2.0.2]# make
[root@icecastsrv01 ices-2.0.2]# make install
Revisamos que se haya instalado correctamente
[root@icecastsrv01 ~]# ls /opt/icecast/latest/bin/
icecast ices
Ahora procedemos a editar el fichero de configuración de Ices
[root@icecastsrv01 ~]# cd /opt/icecast/latest/etc/
[root@icecastsrv01 etc]# vi [Link]
<ices>
<!-- GENERIC -->
<background>1</background>
<pidfile>/var/run/icecast/[Link]</pidfile>
<!-- LOGGING -->
<logpath>/var/log/icecast</logpath>
<logfile>[Link]</logfile>
<logsize>2048</logsize>
<loglevel>3</loglevel>
<consolelog>0</consolelog>
<!-- STREAM -->
<stream>
<metadata>
<name>RadioStation 1: OGG</name>
<genre>Varios</genre>
<description>Test Radio 1</description>
<url>[Link]
</metadata>
<input>
<param name="type">basic</param>
<param name="file">/opt/icecast/latest/etc/[Link]</param>
<param name="random">1</param>
<param name="once">0</param>
<param name="restart-after-reread">1</param>
</input>
<instance>
<hostname>[Link]</hostname>
<port>8000</port>
<password>password</password>
<mount>/emisora1</mount>
4 de 9 10/08/2015 09:06 p.m.
fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
</instance>
</stream>
</ices>
Viendo el ficherho [Link] en detalle, tenemos:
La sección GENERIC define el modo de ejecución de Ices y dónde colocar el PID.
La sección LOGGING define todo lo referente a los logs.
La sección STREAM define la estación de radio en sí misma con su nombre, URL,
etc.
Ahora necesitamos algo vital: ¡La música! No hacemos nada si no tenemos un playlist de la
música que tenemos disponible en el sistema. Podemos crear una lista manualmente
editando un fichero texto plano.
[root@icecastsrv01 ~]# cd /opt/icecast/latest/etc/
[root@icecastsrv01 etc]# vi [Link]
/root/music/artist/album/[Link]
/root/music/artist/album/[Link]
O crear una lista en base a una búsqueda. Más rápido si se trata de mucha música.
[root@icecastsrv01 ~]# find /root/music/artist/album/ -name "*.ogg" > /opt/icecast/latest/etc/playlist1.
Finalmente iniciamos Ices para probar.
[root@icecastsrv01 ~]# /opt/icecast/latest/bin/ices /opt/icecast/latest/etc/[Link]
Veamos el log de Ices
[root@icecastsrv01 ~]# tailf /var/log/icecast/[Link]
[2013-01-28 [Link] INFO signals/signal_usr1_handler Metadata update requested
[2013-01-28 [Link] INFO playlist-basic/playlist_basic_get_next_filename Loading playlist from file "
[2013-01-28 [Link] INFO playlist-builtin/playlist_read Currently playing "/root/music/artist/album/s
[2013-01-28 [Link] INFO stream/ices_instance_stream Connected to server: [Link]:8000/emisora
Ahora podemos escuchar desde cualquier reproductor como VLC o Banshee nuestra estación
con la URL [Link]
Es posible tener varias estaciones con en la configuración de Ices, colocando en la sección
STREAM la configuración correspondiente a otra estación con su propio playlist.
Configurando Icegenerator
Icegeneretor es un cliente de streaming en formato MP3. Este cliente también necesita de
libshout, la cual fue instalada como prerequisito para el cliente Ices. Nos ahorraremos esos
pasos aquí.
[root@icecastsrv01 ~]# cd /usr/src/icecast
[root@icecastsrv01 icecast]# wget [Link]
[root@icecastsrv01 icecast]# tar xfz [Link]
[root@icecastsrv01 icecast]# cd icegenerator-0.5.5-pre2
[root@icecastsrv01 icegenerator-0.5.5-pre2]# ./configure
[root@icecastsrv01 icegenerator-0.5.5-pre2]# make
[root@icecastsrv01 icegenerator-0.5.5-pre2]# make install
Verificamos que se haya instalado correctamente.
[root@icecastsrv01 icegenerator-0.5.5-pre2]# ls -lah /usr/local/bin/ice*
-rwxr-xr-x 1 root root 55K 2013-01-28 12:41 /usr/local/bin/icegenerator*
Ahora procedemos a configurar nuestra estación de radio en MP3.
[root@icecastsrv01 icegenerator-0.5.5-pre2]# cd /usr/local/etc
[root@icecastsrv01 etc]# vi [Link]
IP=[Link]
PORT=8000
SERVER=2
5 de 9 10/08/2015 09:06 p.m.
fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
MOUNT=/emisora2
PASSWORD=password
FORMAT=1
MP3PATH=m3u:/usr/local/etc/playlist2.m3u
LOOP=1
SHUFFLE=1
NAME=RadioStation 2: MP3
DESCRIPTION=Test Radio
GENRE=Varios
URL=[Link]
LOG=2
LOGPATH=/var/log/icecast/[Link]
BITRATE=48000
SOURCE=source
Este fichero es ligeramente diferente en cuanto a formato pero la idea sigue siendo la misma,
parámetros y variables para el cliente Icegenerator: Dirección IP del servidor, puerto,
protocolo http, punto de montaje, contraseña, ubicación del playlist, formato: 1 para MP3, 2
para OGG, repetición de la lista, modo aleatorio, descripción, género, URL, log, calidad del
stream, etc.
Ahora creamos el playlist para esta emisora, de forma manual.
[root@icecastsrv01 ~]# vi /usr/local/etc/playlist2.m3u
/root/music/artist/album/track01.mp3
/root/music/artist/album/track02.mp3
O por lotes si se trata de mucha música.
[root@icecastsrv01 ~]# find /music/artist/album/ -name "*.mp3" > /usr/local/etc/playlist2.m3u
Iniciamos Icegenerator para probar su funcionamiento
[root@icecastsrv01 ~]# export LD_LIBRARY_PATH=/opt/icecast/latest/lib:$LD_LIBRARY_PATH; /usr/local/bin/i
[root@icecastsrv01 ~]# pgrep -fl icegen
31255 icegenerator -f /usr/local/etc/[Link]
[root@icecastsrv01 ~]# cat /var/log/icecast/[Link]
Mon Jan 28 [Link] 2011: Connected to stream server
Mon Jan 28 [Link] 2011: Now playing track02.mp3
Mon Jan 28 [Link] 2011: Wait for all child process to terminate......
Al igual que en el caso de la emisora1, podemos accesar emisora2 desde cualquier
reproductor que lo soporte o desde un navegador con la URL [Link]
/emisora2.
6 de 9 10/08/2015 09:06 p.m.
fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
Por ahora no se dispone de un InitScript para iniciar Icecast y los clientes, por lo que
crearemos un pequeño script de bash para al menos iniciarlos manualmente cuando
encendamos el equipo.
[root@icecastsrv01 ~]# vi [Link]
#!/bin/bash
/opt/icecast/latest/bin/icecast -c /opt/icecast/latest/etc/[Link] -b
/opt/icecast/latest/bin/ices /opt/icecast/latest/etc/[Link]
export LD_LIBRARY_PATH=/opt/icecast/latest/lib:$LD_LIBRARY_PATH; /usr/local/bin/icegenerator -f /usr/loc
Y probamos inmediatamente nuestro script.
[root@icecastsrv01 ~]# ./[Link]
Starting icecast2
Detaching from the console
Changed groupid to 200.
Changed userid to 200.
Artículos relacionados
cast
Cómo configurar un servidor de streaming con Icecast
Icecast, un simple, completo y libre servidor de streaming
¿Por qué Samba (el software) se llama así?
Cómo arreglar las Extensiones de Gnome Shell que no funcionan después de
actualizarlo
Guía de integración de RHEL 6 con Active Directory
Actualizar de Fedora 21 a 22 usando Yum
Cómo ejecutar virt-manager con usuario no root
Cómo instalar Qemu-KVM, libvirt y virt-manager en Fedora/CentOS
Samba 4.2 disponible en el repositorio SerNet
Nube de tags de GNU/Linux
ux
¿Por qué Samba (el software) se llama así?
Cómo arreglar las Extensiones de Gnome Shell que no funcionan después de
actualizarlo
Guía de integración de RHEL 6 con Active Directory
Actualizar de Fedora 21 a 22 usando Yum
Cómo ejecutar virt-manager con usuario no root
asciinema, una solución elegante y rápida para grabar y compartir el terminal
Cómo instalar Qemu-KVM, libvirt y virt-manager en Fedora/CentOS
Samba 4.2 disponible en el repositorio SerNet
eaming
Cómo configurar un servidor de streaming con MPD
Cómo configurar MPD (Music Player Daemon) en Fedora 19 y controlarlo desde
Android
Cómo configurar un servidor de streaming con Icecast
Icecast, un simple, completo y libre servidor de streaming
Widget by Hoctro | Jack Book
Me gusta 11 Tweet 0
Posted by Claudio Concepción Certad at 1/30/2013 [Link] p. m.
Labels: GNU, Icecast, Linux, streaming
11 comentarios:
7 de 9 10/08/2015 09:06 p.m.
fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
Sergio Martin 15 de mayo de 2013, 18:08
He seguido paso a paso todo este manual pero solo lo puedo escuchar yo, nadie mas de mi red
lo puede escuchar no se que puede pasarme, ¿podrias ayudarme? No se que decir tampoco
porque ices no arroja errores, el uico problema es que los demas equipos de la red no pueden
escucharlo en [Link]
Responder
Respuestas
Anónimo 15 de mayo de 2013, 19:34
Revisa el firewall y selinux por si estan impidiendo conexiones externas.
Responder
Javier Gutierrez 22 de junio de 2013, 15:56
HOla, gracias por este increible tuto, instale todo ok pero...
tengu un problema, necesito transmitir en aacplus, uso sambroadcaster para el encoder, pero no
puedo hacer que funcione el flash player...
te agradeceria si me orientares sobre este tema...
Saludos!
Responder
Respuestas
Claudio Concepción Certad 23 de junio de 2013, 7:29
Hola Javier.
Parece que has podido configurarlo bien pero el problema es del flash player.
Eso podría ser algo simple de verificar probando con otro navegador y procurando, si
es Chromium, que tenga todos sus codec internos instalados.
En el caso de otros navegadores debes hacer lo mismo también, ya que en Linux
muchas veces los navegadores no usan los codecs gstreamer del sistema, sino que
procuran sus propios.
Un saludo y gracias por seguir el blog...
Claudio Concepción Certad 23 de junio de 2013, 7:31
Ah y en Fedora, por ej, con Chromium debes instalar este paquete: chromium-
ffmpegsumo.i686, que es un media playback library.
Responder
Javier Antonio Gutiérrez Corea 4 de julio de 2013, 23:24
Hola Claudio.
Te comento que pude solucionar lo del flash player, por si le sirve a otra persona, el problema es
la version de icecast, hay que seguir todos los pasos de este fantastico tuto pero.. a la hora des
descargar icecast reemplazarlo por la version de icecastKH, este envia headers especiales flv a
los flash players aacplus para que suene el audio.
Solo una cosa... podrias darme algun comando para reiniciar y detener icecast y sus dos clientes
de streaming??
Gracias de antemano y un fantastico trabajo...
Responder
Respuestas
Claudio Concepción Certad 5 de julio de 2013, 0:22
Hola Javier.
Que bueno que investigaste y lo resolviste.
Con respecto a reiniciar los servicios, como en esta guía se compiló el código fuente
de icecast, este no crea los initscripts. Te recomiendo que hagas un script parecido al
que hice para iniciarlos, solo que para detenerlos y usa el comando killal. Busca como
se llaman los procesos con ps aux | grep "nombre-proceso", y en el script le pondrás
killall nombre-proceso.
8 de 9 10/08/2015 09:06 p.m.
fraterneo GNU/Linux: Cómo configurar un servidor de streaming con Ic... [Link]
Me parece que anda por ahí un initscript para icecast, yo no lo he probado. Pero tu
eres bueno investigando, así que espero por tí para ver cómo se hace eso.
Un abrazo.
Responder
Christian Fava 24 de agosto de 2013, 0:55
Muy bueno el tuto, tengo una pregunta, es posible (lei por ahi que si es posible) que el servidor
transmita audio automaticamente y solo se corte cuando se conecta un cliente Streaming y
vuelva a retomar cuando este ultimo se desconecte?
Gracias
Responder
UTM Radio 13 de septiembre de 2013, 13:20
Saludos cordiales , he cofigurado el icecast2 y funciona muy bien con el sambrocaster,en
windows, lo tengo alojado aqui [Link] y lo publique en tunein aqui
[Link] en las PC funciona muy bien, Pero hace una semana
no funciona en los smarphone, pues antes se entraba a la app de tunien y la sentonizaba , ahora
sale la radio pero no conecta, (UTM Radio),he revisado los encoders del sambrocaster y la
configuracion de icecast y es la misma no he cambiado nada... me puedes dar luces por donde
revizar o que sera ?
Responder
Anónimo 22 de octubre de 2013, 18:42
Buenas. He estado creando una aplicación para administrar un servidor con Icecast2 y EZStream
a través de una aplicación web al estilo de CentovaCast pero un poco más amateur. Lo tengo
casi funcionando y estoy en fase de depuración. Me gustaría ver si esto ha sido solo un hobby o
puede interesarle a alguien más. Si quereis más información sobre el software mandadme un
correo a info[arroba][Link]. También busco información sobre foros "activos" sobre Icecast en
español así que os agradecería cualquier información que pudieseis enviarme.
Saludos.
Responder
Escuchar radio 16 de noviembre de 2013, 6:01
Muchas gracias! No sabes como me haz ayudado!
Responder
Comentar como:
Publicar
Entrada más reciente Página principal Entrada antigua
Suscribirse a: Enviar comentarios (Atom)
Con la tecnología de Blogger.
9 de 9 10/08/2015 09:06 p.m.