el servidor icecast2

12
Carlos Puig Navarro y Andreu Rossell Alvarez SXI SERVIDOR DE VIDEO

Upload: carlospuignavarro

Post on 28-Sep-2015

23 views

Category:

Documents


1 download

DESCRIPTION

Configuración de un servidor streaming

TRANSCRIPT

  • Carlos Puig Navarro y Andreu Rossell Alvarez

    SXI

    SERVIDOR DE VIDEO

  • El servidor Icecast (Streaming en directo)

    Introduccin Los servidores de streaming de vdeo y audio suelen trabajar de la misma forma, una fuente emisora de datos, que pueden ser vdeo o audio, enva el flujo de datos hacia un servidor de streaming, que se encarga de distribuir ese flujo de datos entre los clientes. Los clientes pueden ser reproductores multimedia instalados en el sistema operativo o en la web. El servidor de streaming que vamos a usar es Icecast, en su versin 2, que distribuir el flujo de datos a los clientes que lo soliciten.

    ste servidor es un proyecto de software libre mantenido por Xiph.org. Es capaz de distribuir contenido tanto de audio como de vdeo, aunque al principio fue exclusivamente de audio, siendo muy utilizado para crear radios en Internet.

    Actualmente Icecast soporta los streams Ogg Vorbis, MP3, Ogg Speex, Ogg FLAC, Ogg Theora y AAC. Podemos ver ms detalles del proyecto y su documentacin en su sitio oficial.

    Los servidores de streaming distribuyen el flujo en puntos de montaje, que son configurados en el mismo fichero de configuracin.

  • Programario utilizado En esta prctica hemos utilizado :

    - Icecast2

    - VLC

    - Ffmpeg2theora

    - Oggfwd

  • Instalacin de Icecast2 Vamos a usar un programa que tomar los datos ofrecidos por los dispositivos y se los enviar al servidor de streaming Icecast2. Para empezar instalamos Icecast2:

    #aptitude install icecast2

    Una vez instalado, accedemos al fichero de configuracin de Icecast2, que se encuentra en /etc/icecast2/icecast.xml. Nos encontramos con un fichero XML con multitud de opciones para configurar Icecast. Se comentan algunas interesantes:

    Entre estas dos etiquetas podemos configurar una serie de lmites que podemos establecer en nuestro servidor:

    n_clientes Aqu definimos el nmero mximo de clientes que van a usar el servidor para descargar el contenido multimedia.

    n_de_conexiones Se define el nmero mximo de fuentes. Son el mximo nmero de flujos de datos desde el origen (desde un dispositivo hacia Icecast).

    segundos

    Aqu se indica el tiempo mximo en segundos que un cliente debe esperar para poder conectarse al servidor.

    Usuarios y contraseas para la configuracin del servidor. Tambin se configuran usuario y contrasea para iniciar las conexiones con las fuentes de datos (para que se puedan crear las conexiones entre los dispositivos y el servidor).

    contrasea

    Aqu se indica la contrasea que debern usar las fuentes de datos para enviar el flujo de datos al servidor. source es el nombre de usuario. Para mandar los datos al servidor, se debe usar el usuario source y la contrasea que se indique aqu.

    contrasea

    Los servidores Icecast pueden enviar los datos a otro servidor Icecast, actuando este como maestro o relay. Esta opcin se define en el servidor maestro, donde se establece la contrasea que debern usar los servidores esclavos. Como usuario se usa relay.

    usuario

    Usuario administrador. Se puede usar en el interfaz web. contrasea

    Contrasea del administrador. Se puede usar en la interfaz web.

  • servidor Nombre o IP del servidor.

    n_puerto

    Puerto usado para que los usuarios puedan descargar el flujo de datos, por ejemplo, un reproductor multimedia.

    nombre_del_punto_de_montaje

    Aqu se establece un punto de montaje donde se va a volcar el flujo de datos desde la fuente.

    Existen ms opciones para incluir dentro del bloque . Estas opciones seran solo para este punto de acceso, a diferencia de las opciones de fuera del bloque que seran globales. Algunas aqu:

    nombre

    Nombre de usuario para este punto de montaje especfico.

    pass

    Contrasea para este punto de montaje especfico.

    n

    Nmero de usuarios para acceder al punto de montaje.

    Es importante activar un parmentro en /etc/default/icecast2. El parmetro a modificar es ENABLE y lo tenemos que activar para que el servidor pueda ejecutar el script de inicio. Lo dejamos as:

    ENABLE=true

    Para asegurarnos de que funciona todo correctamente, cambiaremos el propietario de /etc/icecast2 y de /var/log/icecast2 por blado (nuestro usuario) mediante el comando chown.

  • Interfaz web de administracin Icecast posee una interfaz web de administracin donde podemos ver estadsticas del uso del servidor por clientes, los puntos de montaje que se estn retransmitiendo, eliminar una conexin de un cliente concreto o un flujo de datos concreto. Para entrar, depender de cmo tengamos configurado el fichero de configuracin. En l tendremos que indicar un nombre de usuario y contrasea para administrador. Eso se indica entre las etiquetas y , siendo la primera para el nombre del usuario y la segunda para la contrasea.

    Para entrar va web al interfaz de administracin, escribimos en el navegador la URL referente a la direccin IP del servidor y el puerto que tengamos configurado en Icecast (direccinIP:puerto). En este ejemplo, usamos 10.0.0.1:8000, siendo el puerto 8000 el usado por defecto del servidor. Accederemos a una pantalla con estas opciones:

    Al pulsar en alguno de los enlaces nos pedir el usuario y contrasea que indicamos en el fichero de configuracin ( y ). Al entrar, en Administration nos aparecern unas estadsticas globales del servidor, indicando por ejemplo el nmero de clientes, que seran los flujos de datos en uso, los usuarios que estn usando el servicio (listeners), direccin IP del servidor, etc, adems de mostrar otras estadsticas de los puntos de montaje en uso.

    En Move mountpoints tenemos la posibilidad de pasar los usuarios que estn conectador en un punto de montaje a otro punto de montaje.

  • Nuestros ficheros de configuracin

    /etc/icecast/icecast2.xml

  • Prueba de funcionamiento Primero realizamos una pequea prctica sencilla, usando los valores por defecto que trae Icecast. Lo nico que se aadir al fichero de configuracin ser el punto de montaje. Aadimos lo siguiente:

    prueba.ogg

    El punto de montaje se llamar prueba.ogg.

    No nos olvidemos de activar el servicio en /etc/default/icecast2.

    Reiniciamos el servicio con:

    #/etc/init.d/icecast2 restart

    Ahora instalamos un par de aplicaciones, que son ffmpeg2theora y oggfwd:

    #aptitude install ffmpeg2theora

    #aptitude install oggfwd

    Una vez instalados, y con un vdeo de prueba alojado en el mismo equipo donde est el Icecast, ejecutamos este comando:

    ffmpeg2theora diamante.mp4 -o /dev/stdout | oggfwd localhost 8000 mario /prueba.ogg

    Con esto, ffmpeg2theora reproduce el vdeo, lo convierte a formato theora y lo enva al dispositivo estndar /dev/stdout. El programa oggfwd toma el flujo de datos de /dev/stdout, lo enva a localhost por el puerto 8000, con la contrasea mario al punto de montaje prueba.ogg. El pueto 8000 est establecido en el fichero de configuracin de Icecast, as como la contrasea mario del usuario source y el punto de montaje prueba.ogg.

    Ahora podemos reproducir el stream desde un reproductor cualquiera como por ejemplo el reproductor de pelculas que viene instalado por defecto en Debian. Abrimos el programa y seleccionamos Pelcula/Abrir direccin. Despus introducimos la URL del punto de montaje del Icecast, que sera http://10.33.1.2:8000/prueba.ogg:

  • Una vez que se cargue el buffer, podremos ver el vdeo en streaming desde la red local.

  • El reproductor VLC

    Introduccin

    El reproductor VLC es un reproductor multimedia de cdigo abierto y mantenido por el proyecto VideoLAN. Puede reproducir multitud de codecs de audio y vdeo. Adems le han aadido la posibilidad de hacer streaming de vdeo, y adems poder enviarlo a un servidor Icecast. Puede ser manejado tanto por interfaz grfica como por comandos. Abrimos el programa y realizar estos pasos: Desplegar Medio y pulsar sobre Emitir. Podemos seleccionar qu elemento queremos emitir, si desde un archivo, desde el lector DVD, desde otro flujo de datos de la red o desde un dispositivo como por ejemplo una webcam. En el caso de que sea un archivo, seleccionamos el archivo a reproducir:

    Despus pulsamos en Emitir. Esto nos lleva a otra ventana donde tendremos que indicar la fuente, que aparecer ya indicada, y pulsando en siguiente configuraremos otros aspectos:

    Podemos indicar en Nuevo destino si lo queremos enviar a otro fichero para que se guarde en disco o al Icecast, entre otras opciones. Seleccionamos Icecast y pulsamos en Aadir. Aqu instroducimos los datos del servidor Icecast como su direccin IP, el puerto, el punto de

  • montaje, en este caso prueba.ogg, y el usuario y contrasea, en este caso admin:mario. Es importante que entre el usuario y la contrasea aparezca los dos puntos (:).

    Dejamos Habilitar transcodificar, que se encargar de realizar la conversin. Esta conversin se indica en Perfil donde seleccionaremos Video Theora + Vorbis (OGG). Pulsamos sobre siguiente.

    En la ltima ventana activamos Emitir todas las emisiones elementales. Veremos un cuadro de texto donde podemos ver una cadena de salida con los parmetros establecidos, que podemos modificar. En cuanto pulsemos sobre Emitir, comenzar la emisin del flujo de datos hacia Icecast.

    Ya solo quedara que los clientes se conectaran al servidor bien por un reproductor multimedia o un reproductor de vdeo en la web.