Вы находитесь на странице: 1из 8

Servicios de Streaming de Audio/V í deo.

1. STREAMING DE AUDIO Y DE VÍ DEO.

Streaming.

El streaming 1 es un t érmino que en telem á tica asociamos al audio y al v ídeo. En ingl és significa corriente o flujo.

Si queremos que un cliente muestre una imagen jpg alojada en un servidor, est á claro que el cliente debe bajarse el fichero completo antes de poder abrirlo. Pero en el caso del audio o

Para ver un v ídeo, el ordenador va decodificando los datos

y mostrando las sucesivas im ágenes que lo componen, una detr ás de otra.

Es decir, en cada instante el ordenador s ó lo necesita el fragmento de v ídeo que debe reproducir en ese preciso instante. Por lo tanto, si conectamos un cliente al servidor de v ídeo y éste le va facilitando sobre la marcha un flujo de datos con el v ídeo, el cliente podr á ver el contenido completo sin problemas, siempre que el flujo de datos le llegue a cliente con la suficiente continuidad como para que no se produzcan saltos o parones. A esta t écnica la llamamos streaming.

Para que el streaming funcione correctamente, el cliente dispone de un buffer donde va almacenando los datos que debe reproducir. Y los datos deben llegar con una velocidad mínima para que no se vacíe el buffer y no se produzcan pausas en la reproducció n.

Hacer streaming por LAN es bastante fiable y suele dar muy buenos resultados, pues se trata de redes r ápidas, sin grandes retardos y con una continuidad de servicio impecable. Sin embargo, cuando se trata de streaming a trav és de Internet o de redes WAN, las condiciones de la red pueden no ser lo suficientemente buenas. Entonces, juega un papel muy importante la QoS 2 (calidad de servicio), que etiqueta las tramas de red por tipos de contenido y les asigna prioridades distintas, e incluso puede llegar a garantizar un ancho de banda para determinado tipo de tr áfico.

del v ídeo, esto no es necesario

1 http://es.wikipedia.org/wiki/Streaming

2 http://es.wikipedia.org/wiki/QoS

Servicios de Streaming de Audio/V í deo.

2. LOS CODECS.

El audio y el v ídeo, al igual que las im ágenes, se pueden codificar en un fichero binario. Por ejemplo, si grabamos sonido en formato CD (48KHz, st éreo, 16 bits de resoluci ó n), esto da un flujo de 48000 x 2 x 16 = 1.536.000 bits por segundo. Por lo tanto, un fichero de audio de un minuto de duració n ocupar í a 92.160.000 bits (11.250 Kilobytes 11 Mb). De hecho, este es el sistema de los ficheros “wav”, que almacenan el sonido sin compresi ó n alguna.

Sin embargo, es evidente que de esta manera el audio ocupa mucho (un album de m ú sica de

una hora 700Mb)

¡Y el v ídeo necesita mucha m ás informaci ó n! Esto hace que tanto el

audio como el v ídeo se simplifiquen y compriman para convertirlo en ficheros que ocupen mucho menos espacio.

De esta manera, se aplican CODECS 3 a los contenidos multimedia, que no son sino algoritmos que convierten un flujo de audio/v ídeo que ocupa mucho espacio, en un flujo de audio/v ídeo comprimido, que ocupa muy poco espacio en relació n con el original.

De esta forma, un flujo de audio comprimido en mp3 de alta calidad, con una velocidad de 320Kbps, ocupa 2,3 Mb por cada minuto, en lugar de los 11,2Mb que ocupar ía sin comprimir. (320 Kb por cada segundo, m ás los bits de control que son muy pocos).

Por lo tanto, podemos definir un CODEC como un algoritmo de dos sentidos que codifica y decodifica un flujo multimedia en un fichero binario comprimido. El codec utilizado influir á enormemente en la calidad de nuestro servicio, pues dependiendo del CODEC tendremos que transportar un flujo de bits mayor o menor.

El problema de los CODECS

Los CODECS generalmente son algoritmos patentados, que no se incluyen en los sistemas operativos. Es el usuario el que debe instalar los CODECS que necesite. Adem ás, es habitual que existan diversas implementaciones para un mismo CODEC, por lo que el usuario tiene más posibilidades donde elegir.

Si bien normalmente poder elegir es bueno, en este caso genera bastante confusi ó n. Hay implementaciones que funcionan bien en determinados sistemas, o distribuciones, y otras que no. Otro problema es que el CODEC debe integrarse bien con los programas que lo vayan a utilizar (reproductores, navegadores, etc.), lo que provoca que en la pr áctica, saber qué CODECS debemos instalar es bastante complicado.

Para agravar todo esto, en distribuciones de Linux tenemos el problema a ñ adido de que muchos de los CODECS que podemos necesitar NO son software libre, est án protegidos por patentes 4 , por lo que no se encuentran por defecto en los repositorios de las distribuciones.

Si bien este panorama puede resultar desalentador, he de decir que con un poco de paciencia y bastante tiempo, el usuario que se introduzca en el mundo del v ídeo digital, acabar á por resolver todos estos problemas y podr á sacarle mucho partido.

3 http://es.wikipedia.org/wiki/C%C3%B3dec

4 Sólo en el año 2006, la patente del CODEC mp3 , generó 26,1 millones de euros en derechos para sus autores.

Servicios de Streaming de Audio/V í deo.

3. TIPOS DE SERVICIO DE AUDIO/V Í DEO

Podemos diferenciar entre dos tipos de servicio multimedia bien distintos: Bajo demanda y por difusi ó n. En ambos casos, tendremos un conjunto de usuarios conectados a un servicio multimedia a trav és de una red basada en TCP/IP. Vamos a ver en qu é consiste cada uno y cuáles son sus usos, ventajas y desventajas.

Audio/V ídeo Bajo Demanda (On Demand).

En este caso cada cliente se conectar á al servidor, acceder á al cat álogo on­line de audio/v ídeo, seleccionar á qu é material desea ver, y ordenar á su visionado. En ese momento, se establece una conexió n de streaming de audio/v ídeo entre el servidor y el cliente.

Como es ló gico, en cada momento habr á una serie de clientes conectados al servidor y cada uno de ellos estar á accediendo a contenidos distintos con temporizaciones diferentes.

Este servicio est á teniendo mucho auge entre los usuarios, que ya no est án supeditados a la programació n de una u otra cadena, sino que eligen a qu é contenidos acceden en cada momento. Por ahora se est án utilizando redes de cable y redes basadas en ADSL para dar este servicio.

La desventaja de este sistema es que necesita muchos recursos, tanto de potencia de servidores que deben servir los flujos multimedia, como de ancho de banda para las comunicaciones de dichos flujos.

Hoy por hoy, la mayor limitaci ó n para dar este servicio radica en la escasa implementaci ó n de redes de alta velocidad hasta el hogar que tenemos en Espa ñ a 5 . En pa íses más evolucionados tecnoló gicamente, como EE.UU. o Jap ó n, donde son habituales las redes de cable de alta velocidad (más de 32Mbps), este servicio est á ya muy implementado.

Aú n as í este tipo de servicio ya est á disponible en Espa ñ a, aunque con poca implantaci ó n. Si bien, seguro que en los pr ó ximos añ os veremos c ó mo se extiende su uso, ya que se trata de

un nicho de mercado por explotar

De hecho, Apple TV acaba de empezar a dar servicios

Audio/V ídeo por Difusi ó n (Broadcasting).

En este caso los servidores de audio/v ídeo actú an como emisoras tradicionales, a las que los clientes se conectan, si lo desean, pero que emiten una programaci ó n fija donde el cliente no puede elegir.

Se est á usando mucho en redes internas, para reproducciones controladas y seguidas por varios clientes remotos. Es muy t ípico su uso como paneles informativos o publicitarios.

Tambi én existe una gran variedad de “emisoras de radio” por Internet, ya que no se necesita

5 En Españ a, las redes de fibra ó ptica hasta el hogar son el 1,5% del total, frente a la media de la OCDE del 16,9% o el

Servicios de Streaming de Audio/V í deo.

ninguna licencia para su instalaci ó n y uso

derechos de autor emitiendo contenidos protegidos de forma ilegal.

Si buscamos por Internet, encontraremos todas las emisoras conocidas (KissFM, M80, Cadena SER, etc.). De esta manera no limitan su ámbito de actuaci ó n a un ámbito geogr áfico.

Otra cosa es que la emisora no vulnere los

4. INSTALACIÓ N DE UN SERVICIO DE AUDIO/V Í DEO, BAJO DEMANDA, CON GNUMP3D.

Gnump3d.

/V Í DEO , B AJO D EMANDA , CON G NU MP3D. Gnump3d. Vamos a

Vamos a instalar un servicio multimedia bajo demanda en Linux. Para ello utilizaremos el servidor de streaming gnump3d, alojado en http://www.gnu.org/software/gnump3d/

Gnump3d es un servidor streaming de audio y v ídeo, bajo demanda, multiplataforma. Sus caracter ísticas principales son estas:

1. Es capaz de trabajar con una amplia variedad de formatos, tanto de audio como de v ídeo. La lista es la siguiente:

Formatos de audio: 669, aac, ape 6 , m4a, dsm, far, flac, it , mid, mod, mp3, mtm, ogg 7 , ra , rm , s3m, stm, ult, wav, xm , wma, m4p, mpc, aif, aiff, shn.

Formatos de v ídeo: mov, mpg, mpeg, avi, wmv.

Formatos de listas de reproducci ó n: m3u, ram, pls.

2. Es peque ñ o, estable, autocontenido (incorpora todo lo que necesita, hasta un peque ñ o servidor web) y seguro.

3. Es simple de instalar, configurar y usar.

4. Es

y

multiplataforma:

Es

portable

entre

diferentes

variedades

de

UNIX,

Linux

plataformas Windows.

5. Incluye un servidor web (independiente de Apache y compatible con él) donde se conectan los clientes para consultar el cat á logo y ordenar las reproducciones.

6. Incluye un sistema autom á tico de gesti ó n de contenidos multimedia configurable, capaz de indexar automá ticamente todos los contenidos multimedia y de montar autom áticamente el cat álogo con funciones de b ú squeda por mú ltiples criterios.

6 El formato ape , comprime el audio pero sin modificar el original, es decir, sin pérdida de calidad alguna. Un fichero de audio comprimido en ape y luego descomprimido, es exactamente igual que el original. Como contrapartida, su relación de compresión es pequeña, en torno al 1:0,55 (http://www.monkeysaudio.com/)

7 Ogg Vorbis es una tecnología de compresión y codificación de streaming profesional de audio, abierta, no patentada, que se beneficia de las ventajas de ser Software Libre. (http://www.vorbis.com/)

Servicios de Streaming de Audio/V í deo.

Instalació n de gnump3d. (http://www.gnu.org/software/gnump3d/install.html#Install)

1. Acudimos a la p ágina oficial del proyecto gnump3d:

2. Pinchamos en Download y elegimos bajar el fichero de la última versión estable (actualmente es gnump3d-3.0.tar.gz).

3. Una vez obtenido el fichero, lo movemos a una carpeta de nuestra elección y lo descomprimimos allí. Al hacerlo se creará una carpeta llamada gnump3d-3.0 .

4. En modo consola, como root, nos desplazamos hasta dentro de dicha carpeta y ejecutamos:

# make install

5. Ya habremos instalado el programa.

Configuración de gnump3d . (http://www.gnu.org/software/gnump3d/config.html#Config)

1. La

configuraci ó n

de

gnump3d,

/etc/gnump3d/gnump3d.conf.

se

realiza

a

trav és

del

fichero

2. Las opciones a configurar se muestran en la siguiente tabla:

allowed_clients

Permite seleccionar las Ips de los clientes a los ue siempre se les permite conectarse. Es la directiva opuesta a denied_clients.

 

=0

 

No funcionará como streaming, cuando se reproduzca un fichero, el cliente se lo bajar á entero y luego lo reproducir á

always_stream

=1

 

Funcionará como Streaming, cuando se reproduzca un fichero, el cliente se conectar á a un flujo multimedia y comenzar á a reproducirlo inmediatamente. No guardará el fichero.

binding_host

En el caso de que el servidor tenga m ás de una direcci ó n IP, esta directiva indica a trav és de cu ál de ellas escuchar á gnump3d.

directory_format

This is a format string which is documented within the configuration file itself; it allows you to specify a template which will be used in the output file for each directory name which is found.

enable_browsing

Esta directiva permite deshabilitar la navegaci ó n por el cat álogo a trav és de l ainterfaz gr áfica. Se usa cuando se desea que los clientes est én restringidos a una reproducci ó n aleatoria de los ficheros.

errorlog

Esta directiva determina el nombre del fichero log de errores. Si el servidor se est á ejecutando en modo debug, esta directiva no tiene efecto, pues los errores se mostrar án por consola. El modo debug se arranca a ñ adiendo la opci ó n ­­debug a la orden de arranque, es decir, arrancando el servidor mediante la orden: #gnump3d ­­debug

file_format

This is a format string which is documented within the configuration file itself; it allows you to specify a template which will be used to generate the output for each file which is found.

Servicios de Streaming de Audio/V í deo.

hostname

logfile

maximum_connectio

ns

mime_file

play_all_text

play_recursively_text

plugin_directory

port

recursive_randomize

read_time

root

shoutcast_streaming

song_format

sort_order

stats_program

stats_arguments

theme

Cuando un cliente reproduce un fichero multimedia de un servidor gnump3d, en modo streaming, éste lo conecta con una URL donde se encuentra el flujo multimedia que debe reproducir. Con esta directiva, definiremos el nombre del servidor que se usar á para construir dicha URL. Es muy ú til en el caso de que nuestro servidor tenga m ás de un mobre DNS, as í podremos elegir con cu ál se mostrar á.

Con esta directiva podemos especificar qu é fichero implementar á el log completo de todas las conexiones y accesos que hagan los usuarios. El fichero se produce en el formato de Apache commons logfile.

Con esta directiva se pueden limitar el n ú mero m áximo de conexiones simult áneas que el servidor atender á. Se debe ajustar en funci ó n de la potencia de la m áquina y, sobre todo, del ancho de banda disponible. Cualquier intento de conexi ó n por encima de ese n ú mero, será rechazada, y se responderá con una p ágina de error al cliente.

Como parte de su rol de servidor, gnump3d es un servidor HTTP capaz de servir los ficheros multimedia en descarga, o en streaming, adem ás de la web para navegar por el cat álogo. Para seleccionar el tipo de fichero a la hora de servirlo (s ó lo sirve en streaming los ficheros multimedia), usa un registro en forma de fichero de texto. Por defecto, es el

fichero /etc/gnump3d/mime.types

Con esta directiva lo podemos cambiar.

Permite definir el texto que ser á mostrado en los enlaces “play all”.

Permite definir el texto que ser á mostrado en los enlaces “recursivos”

El servidor gnump3d se instala junto con un conjunto de plugins. Esta directiva indica

d ó nde se han instalado. No conviene modificarlo

Define el puerto donde escucha el servidor.

Permite definir si las listas de reproducci ó n recursivas son aleatorias, o por orden alfab ético.

Controla el tiempo m áximo de escucha despu és de una petici ó n de un cliente. El valor por defecto, 10 segunods, deber í a ser suficiente.

Especifica el directorio a partir del cu ál cuelgan los archivos multimedia que sirve gnump3d. El dueñ o debe ser root, el grupo dueñ o debe ser root y los permisos deben ser 775.

Si esta directiva est á habilitada, se habilita el streaming usando el protocolo Shoutcast. Entonces, los metadatos de la canci ó n (t í tulo, autor, etc.) se env í an mezcladas junto con el streaming del fichero a trav és de dicho protocolo (http://en.wikipedia.org/wiki/SHOUTcast)

Define una plantilla para interpretar el nombre de fichero de las canciones, indicando el autor, álbum, t í tulo, fecha, etc.

Controla el orden en que se listan las canciones en las p áginas del cat álogo. Es especialmente ú til cuando los directorios contienen una gran cantidad de ficheros.

Especifica cu ál es el fichero script que ejecuta las estad í sticas. Por defecto, es el fichero /usr/bin/gnump3d­top, hecho en Perl.

Permite especificar par ámetros adicionales que pasarle al script de las estad í sticas (gnump3d­top). Para consultar sobre el tema, acudir al manual de linux: man

gnump3d­top

La apariencia del servidor web multimedia puede modificarse usando una colecci ó n de plantillas o “temas”.

Servicios de Streaming de Audio/V í deo.

theme_directory truncate_log_files use_client_host user Esta directiva indica qu é tema se est á usando.

theme_directory

truncate_log_files

use_client_host

user

Esta directiva indica qu é tema se est á usando. Incluye s ó lo el nombre del tema.

Esta directiva permite indicar cu ál es el directorio base donde se ubican los temas. Por

defecto, es /usr/share/gnump3d/

Cada tema se alojar á en una carpeta con su nombre, ubicada dentro de este directorio base.

Esta directiva permite borrar los ficheros log antiguos al iniciar una nueva sesi ó n del servidor, para que s ólo contengan los datos de esa ú ltima sesi ó n.

Esta directiva controla si el servidor usar á la cabecera “Host: nombre” en sus transmisiones. Esto puede ser ú til cuando se implementan operaciones de tunelling SSH, o cuando se trabaja en un servidor que tenga m ás de un nombre de host.

Si se especifica esta directiva, entonces el servidor se ejecutar á con el usuario indicado, despu és de crear los sockets de escucha. Esto es importante por razones de seguridad. Por defecto, se usa el usuario nobody. Es importante recordar que el usuario que se especifique debe tener acceso de lectura a los archivos muiltimedia, y de lectura a los ficheros log.

Uso de gnump3d . (http://www.gnu.org/software/gnump3d/screenshots.html#Screenshots)

Una vez que hemos hecho los ajustes necesarios en el fichero de configuraci ó n, ejecutaremos GNUMP3d accediendo al terminal y escribiendo:

# sudo gnump3d &

Si todo ha ido bien, podremos acceder a nuestro servidor de streaming desde cualquier ordenador escribiendo lo siguiente en cualquier navegador de Internet:

http://direcci ón_ip_del_servidor:8888

La primera vez que accedamos al servidor veremos una p ágina como la siguiente, en la que se nos mostrar án un listado con los ficheros multimedia, ordenados en ficheros de m ú sica y de vídeo.

con los ficheros multimedia, ordenados en ficheros de m ú sica y de v í deo.

Servicios de Streaming de Audio/V í deo.

Si queremos reproducir las canciones de un directorio particular tendremos que hacer clic sobre el enlace “Play”. Tambi én podremos ir navegando por los directorios para ver las canciones que contiene.

La pesta ñ a “Browse by tag” nos permite navegar por ir seleccionando canciones por artistas, álbume, añ os o g éneros. Obviamente para poder hacer esto tendremos que tener bien organizada nuestra biblioteca musical.

La pesta ñ a “Random Selection” permite hacer una selecci ó n al azar de las canciones de la biblioteca, selecció n que por supuesto podremos reproducir v ía streaming.

Tambi én disponemos de una opci ó n para buscar canciones por artista, á lbum, nombre de canció n, g éneros, etc.

Se puede incluso obtener estad ísticas de las canciones m ás escuchadas o usuarios que m ás veces se han conectado al servidor. Tambi én podemos obtener un listado de los usuarios que están actualmente conectados al servidor.

obtener un listado de los usuarios que est á n actualmente conectados al servidor. I.E.S. Julio