Servidor de Straming ICECAST en Ubntu

download Servidor de Straming ICECAST en Ubntu

of 12

Transcript of Servidor de Straming ICECAST en Ubntu

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    1/12

    SERVIDOR DE STRAMING

    El repositurios con el quese configurar streaming ser icast

    Introduccin

    Icecast2Es un servidor media streaming que soporta los formatos ogg y mp3. Es accesible desde unnavegador web por lo que cualquier usuario se puede conectar a nuestro PC y escuchar loscontenidos que emitamos en tiempo real, es decir que podemos tener nuestra propia radio porinternet.

    Icecast2 necesita lo que se denomina un cliente streaming que le entregue contenidos para quefuncione. Estos contenidos pueden ser archivos ubicados en una carpeta en el PC, un reproductorde CD, un micrfono conectado a la tarjeta de sonido.El cliente oficial de Icecast2 es Ices2, aunque existen otros como por ejemplo Muse. Existen dosversiones, una le suministra archivos en formato mp3, la otra versin le suministra archivos en

    formato ogg.

    PASOS A SEGUIR

    1.- INSTALACIN DE icecast2 , ices2

    2.- CONFIGURACIN DE icecast2

    3.- HABILITAR EL SERVICIO

    4.- CONFIGURACIN DEL CLIENTE ices2 PARA icecast2

    5.- CONFIGURACIN DEL ARCHIVO DE CANCIONES A REPRODUCIR

    6.- ARRANCAR EL CLIENTE ices2

    7.- DETENER icecast2 , ices2

    8.- INICIAR icecast2 , ices2 AL INICIAR UBUNTU

    1.- INSTALACIN DE icecast2Instalamos icecast2, ices2 y herramientas vorbis para manejo de formatos de audio libres (ogg).Nos vamos a una terminal y tecleamos

    apt-get install icecast2 ices2 vorbis-tools

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    2/12

    2.- CONFIGURACIN DE icecast2Icecast2 viene con los archivos de configuracin ubicados en /etc/icecast2. Debemos configurarlos password para las fuentes y para el administrador, as como el nombre del servidor, editandoel archivo /etc/icecast2/icecast.xml

    sudo gedit /etc/icecast2/icecast.xml

    Buscamos la seccin y configuramos los siguientes parmetros

    PASSWORD_FUENTES , PASSWORD_RELAY , ADMINISTRADOR, PASSWORD_ADMINISTRADOR

    PASSWORD_FUENTESPASSWORD_RELAYADMINISTRADORPASSWORD_ADMINISTRADOR

    Buscamos la seccin Indicamos el nombre del servidor que vamos a utilizar. Siemitimos desde nuestro equipo en local ponemos localhost

    www.miservidor.com

    Buscamos la seccin Indicamos el puerto desde el que emitimos. Si emitimosdesde nuestro equipo en local podemos dejar el 8000

    8000

    3.- HABILITAR EL SERVICIO.

    Nos vamos a una terminal y editamos el archivo /etc/default/icecast2 poniendo la

    variable ENABLE a true que por defecto viene inhabilitada.

    sudo gedit /etc/default/icecast2

    # Edit /etc/icecast2/icecast.xml and change at least the passwords.# Change this to true when done to enable the init.d scriptENABLE=true

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    3/12

    icecast2 viene con un servicio montado en /etc/init.d/icecast2 (el cual acabamos de habilitar),ahora lo activamos

    sudo /etc/init.d/icecast2 start

    En consola nos mostrar

    Starting icecast2:

    Si ahora nos vamos a la barra de direcciones del navegador web y tecleamoshttp://localhost:8000 , si todo fue correcto veremos la pgina de icecast , desde la cual tenemos

    acceso a administracin, listas de reproduccin, conexiones clientes

    Como vemos an no tenemos ningnActive Mountpoints, lo cual conseguiremos tras instalar elcliente ices2 y establezcamos las "lista de canciones"

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    4/12

    4.- CONFIGURACIN DEL CLIENTE ices2 PARA icecast2

    Ices2 no viene con archivos de configuracin por defecto. Lo que si traeen /usr/share/doc/ices2/examples son archivos de ejemplo para configuraciones de alsa (ices-alsa.xml), oss (ices-oss.xml) y playlist (ices-playlist.xml).

    Vamos a utilizar esta ltima: creamos una carpeta en /etc llamada ices2 ,copiamos all el archivo y

    le otorgamos permisos

    sudo mkdir /etc/ices2

    sudo cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/

    sudo chmod +x /etc/ices2/ices-playlist.xml

    A continuacin editamos el archivo y lo configuramos

    sudo gedit /etc/ices2/ices-playlist.xml

    Es muy sencillo, vamos a ir vindolo por secciones:

    http://lavidaestux.files.wordpress.com/2011/12/icecast-streaming-media-server-3.png
  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    5/12

    En la seccin cambiamos el 0 por 1, de esta forma evitaremos que se mantenga laterminal abierta hasta que lo cerremos.

    1

    En la seccin configuramos:

    NOMBRE ESTACIONGENERO ESTACIONDESCRIPCION ESTACION

    En la seccin configuramos:

    /miruta/playlist.txt10

    Establecemos la ruta al archivo que contiene la lista de canciones:/miruta/playlist.txt

    Random: indicamos si queremos que la reproduccin de los archivos sea secuencial (0) o aleatoria(1).

    Once: Indicamos si queremos que la emisora deje de emitir al terminar la lista de reproduccin (1)o que contine emitiendo sin interrupcin (0).

    En la seccin configuramos:

    localhost8000PASSWORD_FUENTES/lista_de_reproduccion.ogg

    La direccin del servidor: localhost (porque lo tengo en local, si lo instalsemos en un hostingpondramos la direccin)El puerto: por defecto trae 8000 (lo dejamos tal cual)El password de las fuentes: PASSWORD_FUENTES (es el mismo password que hemos puesto en/etc/icecast2/icecast.xml)

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    6/12

    En debemos escojer el mount point que queramos para emitir. Podemosponer algo descriptivo (sin espacios y acabado en .ogg), por ejemplolista_de_reproduccion.ogg

    Y aqu est el archivo completo:

    1/var/log/icesices.log4

    0

    Radio La Vida es TUXLinux Ubuntu RadioMsica para relajarse

    playlistbasic/home/greiscool/musicaradio/playlist.txt100

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    7/12

    localhost8000PASSWORD_FUENTES/lista_de_reproduccion.ogg

    25

    80

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    8/12

    -->

    64000441002

    Creamos la carpeta para el archivo log para ices

    sudo mkdir /var/log/ices

    y le damos permisos, si no lo hacemos al arrancar ices2 nos lanzar un ERROR

    sudo chmod 777 /var/log/ices

    5.- CONFIGURACIN DEL ARCHIVO DE CANCIONES A REPRODUCIR

    Para ello tenemos dos opciones:

    Opcin a) Creamos la ruta hacia un archivo con la lista de canciones con el comando siguiente

    sudo find /RUTA_DONDE_ESTAN_LAS_CANCIONES -iname "*.ogg" >/RUTA_DONDE_TENGO_EL_ARCHIVO_LISTA/LISTA.TXT

    Opcin b) Editamos el archivo y tecleamos la ruta completa para cada cancin

    sudo gedit /RUTA_DONDE_TENGO_EL_ARCHIVO_LISTA/LISTA.TXT

    /RUTA_DONDE_ESTAN_LAS_CANCIONES/nombre_cancion1.ogg

    /RUTA_DONDE_ESTAN_LAS_CANCIONES/nombre_cancion2.ogg..

    6.- ARRANCAR ices2

    Tecleando en consola

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    9/12

    sudo ices2 /etc/ices2/ices-playlist.xml &

    Si ahora nos vamos a la pgina (en este caso http://localhost:8000 veremos que aparece elenlace http://localhost:8000/lista_de_reproduccion.ogg , con el que podemos conectarnos a laradio.

    7.- DETENER icecast2 , ices2

    Si deseamos detener icecast2 tecleamos en una terminal

    sudo /etc/init.d/icecast2 stop

    nos responder

    http://lavidaestux.files.wordpress.com/2011/12/icecast-streaming-media-server-4.png
  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    10/12

    Stopping icecast2: icecast2.

    Si deseamos detener ices2 tecleamos en una terminal

    ps ax | grep ices2

    nos responder dandonos el pid del proceso, algo como lo siguiente

    23242 pts/0 S+ 0:00 grepcolor=auto ices2

    (23242 es el pid que me ha dado, debemos comprobarlo en el momento que deseemos)

    Este nmero nos permitir detener el ices2 (la emisin) cuando deseemos, tecleando en consola

    sudo kill -9 23242

    8.- INICIAR icecast2 , ices2 al iniciar Ubuntu

    Creamos un archivo icecast2 y lo colocamos en /etc/init.d , tecleando en consola

    sudo gedit /etc/init.d/icecast2

    con las siguientes lneas de cdigo (aunque tiene una cabecera que identifica al autor original, hasido modificado posteriormente en varias ocasiones, incluso yo mismo lo he modificado) esfuncional si se han seguido los pasos anteriores.

    #!/bin/sh###BEGIN INIT INFO# Provides: icecast2

    # Required-Start: $remote_fs $network# Required-Stop: $remote_fs# Default-Start: 2 3 4 5# Default-Stop: 0 1 6# Short-Description: Starts the icecast audio streaming server daemon### END INIT INFO## icecast2

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    11/12

    ## Written by Miquel van Smoorenburg .# Modified for Debian# by Ian Murdock .## Further modified by Keegan Quinn # for use with Icecast 2#

    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/binDAEMON=/usr/bin/icecast2NAME=icecast2DESC=icecast2ICES=/usr/bin/ices2ICES_CONFIGFILE=/etc/ices2/ices-playlist.xml

    test -x $DAEMON || exit 0

    # DefaultsCONFIGFILE="/etc/icecast2/icecast.xml"CONFIGDEFAULTFILE="/etc/default/icecast2"USERID=icecast2GROUPID=icecastENABLE="false"

    # Reads config file (will override defaults above)[ -r "$CONFIGDEFAULTFILE" ] && . $CONFIGDEFAULTFILE

    if [ "$ENABLE" != "true" ]; thenecho "$NAME daemon disabled - read $CONFIGDEFAULTFILE."exit 0

    fi

    set -e

    case "$1" instart)

    echo -n "Starting $DESC: "start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \

    --exec $DAEMON -- -b -c $CONFIGFILE

    sleep 3start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILEecho "$NAME.";;

    stop)echo -n "Stopping $DESC: "start-stop-daemon --stop --oknodo --quiet --exec $ICES

  • 7/31/2019 Servidor de Straming ICECAST en Ubntu

    12/12

    start-stop-daemon --stop --oknodo --quiet --exec $DAEMONecho "$NAME.";;

    reload|force-reload)echo "Reloading $DESC configuration files."start-stop-daemon --stop --oknodo --quiet --exec $ICESstart-stop-daemon --stop --signal 1 --quiet --exec $DAEMONsleep 3start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILE;;

    restart)echo -n "Restarting $DESC: "start-stop-daemon --stop --oknodo --quiet --exec $ICES

    start-stop-daemon --stop --oknodo --quiet --exec $DAEMONsleep 3start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \

    --exec $DAEMON -- -b -c $CONFIGFILEsleep 3start-stop-daemon --start --quiet --exec $ICES $ICES_CONFIGFILEecho "$NAME.";;

    *)echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2exit 1;;

    esac

    exit 0

    Una vez creado el archivo hacemos que se agregue como servicio y as ser iniciado durante elarranque de Ubuntu.

    sudo update-rc.d icecast2 defaults

    Listo cada vez que arranquemos Ubuntu ya tendremos el icecast2 y su cliente ices2 operativos.