Ciudad de la Habana, Junio 2009
“Año del 50 aniversario del triunfo de la Revolución”
TRABAJO DE DIPLOMA PARA OPTAR POR EL TÍTULO DE INGENIERO EN INFORMÁTICA
Propuesta de Servidor Streaming de software libre para la captura y transmisión de video y sonido digital.
AUTOR: Angel Laguna Torres.
TUTOR: Ing. José Andrés Hernández Bustio.
I DEDICATORIA
A Angel…
A mi mamá…
A mi papá…
A mi hermana…
A toda mi familia…
A los amigos de toda la vida…
II AGRADECIMIENTOS
A mis padres por ser mi fuente de inspiración, por el apoyo y la confianza que depositan en mí, por sus sabios consejos y su preocupación.
A mi hermana por su ejemplo y apoyo.
A mis abuelos Melecio y Juana por ser un ejemplo de esfuerzo y sacrificio.
A todos los profesores que he tenido a lo largo de mi vida estudiantil, que de una forma u otra me han formado e influido en todos los logros que he obtenido en ella.
A mis amigos Frank, Ivanni y Yoangel que han estado presente en el momento que los he necesitado.
A mis compañeros de grupo por enseñarme como se puede ser mejor persona.
A los amigos del barrio que tanto se preocupan.
A José Andrés mi tutor, por su importante ayuda en todo momento y por confiar siempre en mi y brindarme su apoyo.
A los que me ayudaron a realizar las pruebas en el laboratorio, Felix, Many, El mello, Geo, Rafa...
A Yanet por su apoyo y por soportarme en todo momento.
III DECLARACIÓN DE AUTORÍA
Yo: Angel Laguna Torres declaro que soy el único autor del trabajo titilado: “Propuesta de Servidor Streaming de software libre para la captura y transmisión de video y sonido digital”, y autorizo a la Universidad de las Ciencias Informáticas a hacer uso del mismo en su beneficio.
Para que así conste firmo la presente a los ____ días del mes de ________ del año 2009.
Angel Laguna Torres Ing. José Andrés Hernández Bustio _____________________ _______________________________
Autor Tutor
IV OPINIONES Y AVALES
V RESUMEN
El presente trabajo surge de la necesidad de contar con un servidor streaming en software libre que implemente todas las funcionalidades necesarias, para su utilización en los proyectos que se desarrollen en el Polo de Video y Sonido Digital de la Facultad 9 de la Universidad de las Ciencias Informáticas o para cualquier otro sistema que se desee implementar por parte de otras instituciones y que requieran de los servicios del streaming. Dentro de las principales funcionalidades con que debe contar dicho servidor resulta indispensable el poder realizar streaming en VoD o en directo y el atender múltiples peticiones concurrentemente.
En la estructura de este trabajo se realiza un estudio de los principales servidores streaming sobre plataforma libre, detallando las características distintivas de cada uno de ellos. Aborda además las licencias bajo las cuales se protege o se publican la mayoría de estos servidores y los protocolos de transmisión de datos más utilizados en strimeo de archivos multimedia. Como parte de las temáticas tratadas a lo largo de la investigación y recogidas en este documento se encuentran el estudio de la evolución en la Tecnología Streaming, el establecimiento de comparaciones entre los servidores VLC, Darwin Streaming Server, Mp4live y el Ffserver, siendo estas el principal punto de partida para llegar a la solución del problema planteado.
PALABRAS CLAVES: Streaming, VoD, servidor streaming.
VI INDICE
INTRODUCCIÓN ... 1
CAPÍTULO 1: Fundamentación Teórica... 4
1.1 Introducción... 4
1.2 Conceptos asociados al dominio del problema. ... ...4
1.2.1 Licencia para software Libre... 4
1.2.1.1 Licencia Pública General (GPL). ... 5
1.2.1.2 Licencia Pública General Menor (LGPL)... 7
1.2.1.3 Distribución de Software Berkeley (BSD). ... 9
1.2.2 Streaming... 9
1.2.2.1 ¿Cómo funciona el Streaming? ... 10
1.2.2.2 ¿Cómo se puede realizar la Transmisión? ... 12
1.2.2.3 Los servidores pueden proporcionar dos tipos de contenido. ... 15
1.2.3 Protocolos de Transmisión. ... 16
1.2.3.1 Protocolo de transporte en tiempo real (RTP). ... 17
1.2.3.2 Protocolo de datagramas de usuario (UDP). ... 18
1.2.3.3 Protocolo de streaming en tiempo real (RTSP). ... 20
1.2.3.4 Protocolo de Control de Transmisión (TCP). ... 22
1.2.3.5 Protocolo de Transferencia de Archivos (FTP)... 22
1.2.3.6 Servicio de Mensajería Multimedia (MMS). ... 22
1.3 Objeto de Estudio. ... 23
1.3.1 Descripción General. ... 23
1.3.1.1 Video Digital. ... 23
1.3.1.2 Sonido Digital... 24
1.3.1.3 Transmisión de contenido audiovisual. ... 25
1.3.1.4 Proceso de captura de video y audio. ... 26
1.3.2 Descripción actual del dominio del problema. ... 26
1.3.3 Situación Problemática. ... 27
1.4 Análisis de otras soluciones existentes... 27
VII
1.4.1Inter-Nos. ... 28
1.4.2 YouTube... 29
1.4.3 Canal de televisión SergioTV. ... 30
1.4.4 PRIMICIA. ... 32
Conclusiones... 34
CAPÍTULO 2: Solución Propuesta. ... 35
2.1 Introducción... 35
2.2 Aplicaciones de Streaming. ... 35
2.2.1 VLC. ... 37
2.2.2 FFserver. ... 39
2.2.3 Mp4live. ... 40
2.2.4 Darwin Streaming Server (DSS) ... 41
2.2.5 Helix Universal Server. ... 42
2.3 Decisión ... 45
Conclusiones... 47
CAPÍTULO 3: Resultados Obtenidos. ... 48
3.1 Introducción... 48
3.2 Metodología. ... 48
3.2.1 PCs Clientes. ... 48
3.2.2 PCs Servidora. ... 48
3.2.3 Aspectos a medir. ... 49
3.3 Descripción del desarrollo de las pruebas. ... 49
3.3.1 Transmisión bajo demanda (VOD) con el VLC. ... 49
3.3.2 Transmisión en directo (Broadcast) con el VLC. ... 51
3.3.3 Transmisión bajo demanda (VOD) con el Darwin... 52
3.3.4 Transmisión en directo (Broadcast) con el Darwin y el Mp4live. ... 54
3.4 Resultados Obtenidos. ... 56
Conclusiones... 61
CONCLUSIONES ... 62
RECOMENDACIONES... 63
REFERENCIAS BIBLIOGRÁFICAS ... 64
VIII
BIBLIOGRAFÍA ... 65
ANEXOS ... 68
Anexo 1: Historial del acceso a los recursos del servidor Darwin. ... 68
Anexo 2: Interfaz de gestión de archivos. ... 69
Anexo 3: Datos del Procesamiento de las Pruebas Realizadas. ... 71
Anexo 4: Gráficos de las Pruebas Realizadas. ... 75
GLOSARIO ... 96
IX Tabla 1: Comparación de los Servidores ... 44 Tabla 2: Detalle de las mediciones realizadas. ... 58
X
Figura 1: Esquema Básico de una Retransmisión por Internet con Tecnología Streaming. ... 10
Figura 2: Reproducción de contenido almacenado en el buffer de recepción. ... 11
Figura 3: Etapas Conceptuales dentro del Proceso de Streaming... 11
Figura 4: Ejemplo de Transmisión Unicast... 13
Figura 5: Ejemplo de Transmisión Multicast. ... 14
Figura 6 : Ejemplo de Transmisión Broadcast. ... 15
Figura 7: Señal Analógica... 24
Figura 8: Señal Digital... 24
Figura 9: Distribución de la Arquitectura del Canal SergioTv. ... 31
Figura 10: Interfaz del cliente (VLC)... 50
Figura 11: Reproducción VoD de un video por un cliente. ... 51
Figura 12: Captura del VLC de un archivo en directo por el servidor VLC. ... 52
Figura 13: Interfaz de administración del Darwin... 53
Figura 14: Captura del cliente (VLC) proporcionado por el servidor Darwin. ... 54
Figura 15: Interfaz de captura del servidor Mp4live. ... 55
Figura 16: Promedio de Utilización del CPU. ... 60
Figura 17: Historial de Acceso del Darwin. ... 68
Figura 18: Interfaz de gestión de medias y archivos de audio. ... 69
Figura 19: Interfaz de especificación de la ruta de captura. ... 69
Figura 20: Interfaz del perfil del video. ... 70
Figura 21: Interfaz donde se especifica el IP para donde se va a transmitir. ... 70
1 INTRODUCCIÓN
Durante mucho tiempo la radio y la televisión han sido los principales medios de comunicación en todo el mundo, ya que permiten llevar al espectador una variada gama de contenidos audiovisuales de manera ágil, con los cuales se busca entretener, informar y educar a la tele audiencia. Desde su inicio se utilizó tecnología analógica para su captura, transmisión, almacenamiento y reproducción; esta tecnología está presente desde hace muchos años, y ha crecido con la televisión convencional. Un sucesor natural de esta ha sido la tecnología digital que junto a la masificación de los computadores han permitido la trasmisión digital de contenido multimedia.
Con el transcurso de los años se ha experimentado un considerado avance en la velocidad de transmisión de las redes de computadoras, lo cual, apoyado en las actuales capacidades de procesamiento de los ordenadores, permite que las aplicaciones de video y sonido sobre redes IP sean más populares y más fáciles de implementar que hace algunos años atrás.
Un elemento que ha influido en el incremento de este tipo de aplicaciones es la aparición de la tecnología streaming, permitiendo la transferencia de contenido audiovisual por la red desde un servidor hacia sus clientes, con la característica de que es posible visualizar el contenido en la medida que el flujo es recibido. Antes de que la tecnología "streaming" apareciera, la difusión de contenido multimedia a través de internet necesariamente implicaba tener que descargar completamente el archivo contenedor al disco duro local. Como los archivos de audio y especialmente los de video tienden a ser enormes, su descarga y acceso como paquetes completos se vuelve una operación muy lenta, sin embargo, con la tecnología del streaming, el tiempo de espera es mínimo.
Para poder poner a disposición de los clientes aplicaciones que usen el flujo de datos (Streaming), es necesario un servidor streaming, los que se encargan de realizar una serie de operaciones sobre los datos que se van a transmitir. Estos servidores capaces de enviar información audiovisual a través de una red de datos han evolucionado con mucha rapidez. En la actualidad existen muchas aplicaciones que hacen uso de este recurso, por ejemplo: el sitio web http://www.youtube.com que permite a los usuarios compartir vídeos digitales a través de Internet. En nuestro país se han desarrollado aplicaciones con características similares a las antes mencionada como es el caso de http://www.Cubasi.cu, y http://www.inter-nos.uci.cu, desarrollada en la Universidad de las Ciencias Informáticas.
2 Actualmente se cuenta con una gran variedad de servidores streaming tanto de software libre como propietario, donde estos últimos presentan un buen prestigio dentro de los desarrolladores, además de una mayor cantidad de funcionalidades que garantizan la calidad en el servicio que brindan, siendo lo contrario en los de software libre, donde no se tiene definido un servidor que permita la captura y transmisión de video y sonido digital para los sistemas informáticos que requieran de ello, constituyendo esto una necesidad para poder alcanzar la soberanía tecnológica que defiende el país para el desarrollo de aplicaciones que hagan uso de este recurso.
En este trabajo es Objeto de Estudio los procesos de captura y transmisión de video y sonido digital. El Campo de Acción está centrado en los procesos de captura y transmisión de video y sonido digital sobre plataformas libres.
Se propone como Objetivo General conceptualizar una propuesta de Servidor Streaming de software libre para la captura y transmisión de video y sonido.
Para cumplir el objetivo general del trabajo se trazan los siguientes Objetivos Específicos:
Analizar los servidores Streaming existentes en software libre.
Identificar el servidor streaming más factible y estable, y proponer las mejoras.
Para dar cumplimiento a los objetivos planteados anteriormente se deben cumplir las siguientes tareas:
Identificar los Servidores Streaming de software libre existentes.
Describir las características que presentan los servidores que fueron identificados.
Analizar el Hardware que requieren los Servidores Streaming para un funcionamiento estable.
Describir la propuesta de Servidor Streaming.
Proponer las mejoras que pueden ser realizadas al Servidor Streaming seleccionado.
Validar el Servidor Streaming propuesto para la captura y transmisión de video y sonido digital.
- Selección de los Servidores e indicadores para comparar.
- Aplicar pruebas de estrés.
- Evaluar los resultados obtenidos.
3 Validar la factibilidad de la solución propuesta.
El resultado de la investigación del presente trabajo tendrá una gran repercusión para todos los sistemas informáticos que requieran de este servicio ya que se espera obtener el hardware necesario para el funcionamiento estable del servidor de Streaming, el servidor Streaming de software libre para la captura y transmisión de video y sonido digital, un resumen de mejoras para el Servidor de Streaming seleccionado y las herramientas y descripción de procedimientos que dan respuesta a las mejoras que fueron identificadas.
Para el presente trabajo se realizó una investigación en la que se utilizaron algunos de los métodos de investigación. Los métodos teóricos permiten estudiar las características del objeto de investigación que no son observadas directamente, dentro de ellos se identificaron el Analítico - Sintético para el análisis de los servidores streaming existentes en software libre e identificar los más factibles. Otro método presente es el (Análisis Histórico – Lógico) para el estudio de la evolución de los servidores streaming en software libre a través del tiempo, y la valoración de las funcionalidades que presentan.
Para obtener una visión real de la situación existente, en la problemática planteada, la Observación juega un papel muy importante ya que después de identificados los servidores es necesario hacerle pruebas para observar su comportamiento en determinados entornos de Hardware, además surge la necesidad de realizar Entrevistas a las personas que tienen dominio del tema para tener más información respecto al uso y funcionamiento de los servidores.
4 CAPÍTULO 1: Fundamentación Teórica.
1.1 Introducción
El objetivo fundamental de este capítulo, es abordar aspectos teóricos que se tienen en cuenta a la hora de realizar la transmisión de contenido multimedia con tecnología streaming. Se realizará un análisis de las licencias existentes en software libre así como una breve descripción de las principales etapas por las que transcurre el proceso de streaming.
Dentro de la temática de redes, es importante el estudio de los protocolos de transmisión de datos señalando las principales características, además de analizar soluciones existentes en plataformas propietarias y libres que dan la posibilidad de difundir contenido multimedia.
1.2 Conceptos asociados al dominio del problema.
1.2.1 Licencia para software Libre.
El mundo del software está lleno de licencias, especialmente comerciales, que pretenden controlar el uso que se da a las aplicaciones mientras protege los derechos del fabricante. La mayoría de ellas son un instrumento de privatización que persigue obligar al usuario a seguir los designios del fabricante y someterse a los caprichos particulares que éste quiera imponerle. Por ejemplo:
"El software solo puede ser utilizado en una máquina".
"Está prohibida la reproducción".
"El des ensamblaje y cualquier otra técnica de ingeniería de reverso está prohibida".
"Está prohibido publicar resultados de pruebas de rendimiento".
"Está prohibido utilizar el producto para desarrollar una aplicación que compita con nosotros".
Estas son solo algunas de las frases que pueden encontrarse en las licencias de uso de las empresas de software más prominentes.
5 En la comunidad del software libre las cosas son muy diferentes. Existen varias licencias que aseguran no solamente la continuidad de la existencia del software y la garantía de acceso a la fuente, sino que permiten al usuario ejercer enteramente su libertad de uso y aprovechamiento de las herramientas mientras que protegen los deseos del autor de que el software permanezca libre.
La licencia protege al usuario tanto como protege al autor, otorgándole a ambos poder sobre la evolución de la aplicación particular.
Es posible dividir las licencias de software libre en dos grandes familias. Una de ellas está compuesta por las licencias que no imponen condiciones especiales en la segunda redistribución (esto es, que s ólo especifican que el software se puede redistribuir o modificar, pero no imponen condiciones especiales si se hace, lo que permite, por ejemplo, que alguien que reciba el programa pueda después redistribuirlo como software propietario): son las que se llaman licencias permisivas.
La otra familia, son las licencias robustas (o licencias copyleft1 incluye las que, al estilo de la GNU GPL, imponen condiciones en caso de que se quiera redistribuir el software, condiciones que van en la línea de forzar a que se sigan cumpliendo las condiciones de la licencia después de la primera redistribución.
Mientras que el primer grupo hace énfasis en la libertad de quien recibe un programa, ya que le permite hacer prácticamente lo que quiera con él (en términos de condiciones de futuras redistribuciones), el segundo lo hace en la libertad de cualquiera que potencialmente pueda recibir algún día un trabajo derivado del programa (ya que obliga a que las sucesivas modificaciones y redistribuciones respeten los términos de la licencia original).
1.2.1.1 Licencia Pública General (GPL).
La Licencia Pública General de GNU (General Public License, GPL), es una licencia creada por la Fundación para el Software Libre (Free Software Foundation, FSF)2 a mediados de los 80, y está
1Ver Glosario de Términos.
2 (Free Software Foundation) Fundación para el Software Libre (FSF) es una organización creada en Octubre de 1985 por Richard Matthew Stallman y otros entusiastas del Software Libre con el propósito de difundir este movimiento.
6 orientada principalmente a proteger la libre distribución, modificación y uso de software. Su propósito es declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios. La licencia GPL no solamente protege la libertad del usuario como usuario y la libertad del autor como dueño de la idea, sino que además respeta el deseo de este último de que su idea sea pública, que la mayor cantidad posible de usuarios tenga acceso a la misma y que se garantice que eso se perpetúe en el tiempo y en cualquier otro trabajo derivado de su idea.
Al utilizar software protegido con la GPL es completamente libre de aprovecharlo y literalmente puede hacer "cualquier cosa" con el software excepto quitarle su libertad.
Actos Permitidos.
- Distribuir copias de software libre.
- Modificar software libre y redistribuirlo.
- Cobrar por el acto de transferir una copia.
- No publicar las modificaciones mientras se usen en forma privada.
Actos No Permitidos.
- Imponer nuevas restricciones a la licencia.
- Copiar, modificar o distribuir el programa de una manera distinta de la expresamente utilizada por la licencia.
Detalles Importantes.
- No se ofrece garantía sobre el funcionamiento correcto del software cubierto por la licencia.
- Si se modifica el software y se lo redistribuye, se debe expresar que es una modificación del original para no afectar la reputación del creador.
- El mero agregado de otro trabajo no basado en el programa en un medio de almacenamiento para su distribución, no implica que el otro trabajo deba ser lanzado bajo la GPL.
7 - La distribución del código fuente del programa debe ser a través de un medio físico, no es
suficiente con publicarlo en un servidor FTP3.
1.2.1.2 Licencia Pública General Menor (LGPL).
La Licencia Publica General Menor (Lesser General Public License, LGPL) es una licencia de software libre creada por la FSF, está diseñada específicamente para librerías, permitiendo vincular éstas con productos propietarios. Pensada en sus inicios para su uso en bibliotecas (la L en sus comienzos venía de library, biblioteca) fue modificada recientemente para ser considerada la hermana menor ( lesser, menor) de la GPL. Lesser (menor) proviene del hecho de que hace menos para proteger la libertad de los usuarios que la GPL, así como da menos ventaja a los productos de software libre por sobre los propietarios. Como toda licencia de software libre se le concede las siguientes cuatro libertades:
La libertad de ejecutar el programa para cualquier propósito.
La libertad de estudiar cómo funciona el programa y adaptarlo a sus necesidades.
La libertad de distribuir copias, con lo que puede ayudar a su vecino.
La libertad de mejorar el programa y poner sus mejoras a disposición del público, para beneficio de toda la comunidad.
El objetivo de la LGPL, es garantizar la libertad de uso del producto. Para ello, se establecen restricciones destinadas a impedir que el distribuidor obligue al receptor a desistir de sus derechos y establecer responsabilidades sobre quienes distribuyen y modifican el código de la librería. De este modo, se asegura que la persona que ocupa una librería pueda usar una versión modificada de ésta en su software.
Para garantizar estos derechos, primero el autor de la librería establece el copyright4 sobre su obra y le
3Un servidor FTP es un programa especial que se ejecuta en un servidor conectado normalmente en Internet (aunque puede estar conectado en otros tipos de redes, LAN, MAN, etc.). La función del m ismo es permitir el desplazamiento de datos entre diferentes servidores / ordenadores.
4Copyright:Derecho que tiene un autor, incluido el autor de un programa informático, sobre todas y cada una de sus obras y q ue le permite decidir en qué condiciones han ser éstas reproducidas y distribuidas. Aunque este derecho es legalmente irrenunciable puede ser ejercido de forma tan restrictiva o tan generosa como el autor decida. El símbolo de este derecho es ©.
8 entrega al receptor los derechos para copiar, distribuir y modificar. Ahora bien, no se establece ninguna garantía sobre el código y se deben registrar todos los cambios realizados por terceros, de manera tal de no afectar la reputación del autor original del software.
Es conveniente utilizar la LGPL en lugar de la GPL cuando:
Se pretende difundir al máximo una librería.
Una librería libre hace lo mismo que una librería no libre de gran uso.
El uso de la librería en software propietario permite el acceso al software libre de muchos usuarios.
Detalles Importantes.
Permite copiar y/o distribuir copias de la biblioteca.
Se puede modificar la biblioteca o una porción de ella y formar un trabajo basado en la misma si:
-
El trabajo modificado es una biblioteca de software.-
Los archivos modificados indican en qué fecha se modificaron.-
El trabajo se licencia bajo LGPL.-
Una funcionalidad en la biblioteca modificada hace referencia a una función o tabla de datos que es provista por un programa que usa esta facilidad, la misma debe mantenerse operativa aunque el programa no lo provea alguna vez.Una biblioteca licenciada bajo LGPL puede convertirse a GPL en cualquier momento. Cuando esto sucede, no hay posibilidad de volver atrás.
Un programa que no contenga ninguna porción de la biblioteca, pero que ha sido diseñado para trabajar con la biblioteca al ser enlazado o compilado con ella, se lo considera un trabajo que usa la biblioteca. Este trabajo no es derivado de la misma por lo que escapa a los alcances de la licencia. El programa binario/ejecutable queda cubierto por la L GPL, pero el código fuente del programa original no se ve afectado y conserva su licencia.
9 1.2.1.3 Di stribución de Software Berkeley (BSD).
Una de las principales licencias de software libre. Resultó del proyecto llamado Distribución de software Berkeley (Berkeley Software Distribution, BSD) en la universidad del mismo nombre en California en la década de los 70s. También llamada licencia BSD modificada, es la versión que fue emitida por la Oficina de Transferencia de Tecnología de la Universidad de Berkeley en 1991. Está es recomendada para su uso hoy en día, y la FSF la considera compatible con la GPL. Es una licencia permisiva sin copyleft, por lo que es posible hacer versiones modificadas no libres. Esto se ha dado mucho en la práctica, por ejemplo, Microsoft uso código de BSD en el sistema de red de Windows. Esta licencia tiene menos restricciones en comparación con otras como la GPL estando muy cercana al dominio público.
La licencia BSD al contrario que la GPL permite el uso del código fuente en software no libre. El código fuente que se comparte con la licencia BSD puede combinarse y enlazarse con código compartido con la licencia GPL; deberá siempre incluirse el código fuente. Este código fuente que se comparte con la licencia BSD puede combinarse y enlazarse con código propietario; pero puede incluirse solamente el código objeto.
Detalles Importantes.
La principal diferencia de las licencias estilo BSD y las de la familia de la GPL es que los cambios efectuados pueden publicarse en forma binaria/ejecutable sin distribuir el código fuente.
No se entrega ninguna garantía sobre el correcto funcionamiento del software.
Redistribuciones del código fuente deben mantener los avisos de derecho de autor, la lista de condiciones y la negación de garantía.
1.2.2 Streaming.
Se entiende por Streaming la transferencia de contenido audiovisual por la red desde un servidor hacia sus clientes. Es una tecnología que se utiliza para aligerar la descarga y ejecución de audio y vídeo en la web, ya que permite escuchar y visualizar los archivos mientras se están descargando (Hernán Venegas Morales, y otros, 2005) .Si no se utiliza streaming, para mostrar un contenido multimedia en la red, se
10 tiene que descargar primero el archivo entero en nuestro ordenador y más tarde ejecutarlo, para finalmente ver y oír lo que el archivo contenía, por lo tanto las emisiones en directo no se podían realizar.
La siguiente figura muestra el esquema básico de una retransmisión por internet con tecnología streaming, consiste en un equipo emisor, una línea de transmisión, un servidor de streaming y una línea de difusión conectada a Internet. En este proceso son importantes los tres elementos, ya que la calidad de la emisión radica en una buena señal (equipo emisor), una transmisión de datos estable (línea de transmisión) y una difusión amplia y con caudal adecuado para asegurar usuarios sin limitaciones de acceso (servidor streaming y caudal de difusión).
Figura 1: Esquema Básico de una Retransmisión por Internet con Tecnología Streaming.
1.2.2.1 ¿Cómo funciona el Streaming?
Primero el ordenador (el cliente) conecta con el servidor y éste le empieza a mandar el fichero. El cliente comienza a recibir el fichero y construye un buffer5 donde empieza a guardar la información. Cuando se ha
5Buffer: Es una porción de memoria dedicada a almacenar datos, para posteriormente enviarlos hacia un dispositivo externo o recibirlos desde un dispositivo externo.
11 llenado el buffer con una pequeña parte del archivo, el cliente lo empieza a mostrar y a la vez continúa con la descarga. El sistema está sincronizado para que el archivo se pueda ver mientras que el archivo se descarga, de modo que cuando el archivo acaba de descargarse el fichero también ha acabado de visualizarse. Si en algún momento la conexión sufre descensos de velocidad se utiliza la información que hay en el buffer, de modo que se puede aguantar un poco ese descenso. Si la c omunicación se corta demasiado tiempo, el buffer se vacía y la ejecución el archivo se cortaría también hasta que se restaurase la señal (Quintero Ortiz, y otros, 2006) (ver Figura 2).
Figura 2: Reproducción de cont enido almacena do en el buffer de recepción.
Las principales etapas conceptuales dentro del proceso de streaming son:
Figura 3: Etapas Conceptuales dentro del Proceso de Streaming.
12 Captura: El contenido audiovisual es capturado y convertido en datos digitales “crudos”, aún sin codificación y compresión.
Encodificador: Antes de transmitir la información multimedia por la red como streaming, es necesario codificarla y comprimirla a un formato apropiado ya que contienen gran cantidad de redundancia espacial y temporal. Para ello se debe recurrir a herramientas denominadas genéricamente como encoders6, los cuales poseen los algoritmos suficientes para permitir disminuir el tamaño de la información y as í optimizar el consumo de ancho de banda.
Servidor: El servidor procesa los datos multimedia en cortos espacios de tiempo y soporta funciones de control interactivas siendo además el responsable de suministrar los servicios de audio y video en modo sincronizado. Espera de la petición del usuario y cuando recibe una petición, busca en el directorio apropiado el archivo solicitado. El flujo continuo de datos es distribuido por la red a los diferentes clientes ya sea a través de unicast, multicast o broadcast.
Cliente: En esta etapa se reciben los datos desde la red y se envían como un flujo a la etapa de decodificación.
Decodificador: En esta etapa los datos son descodificados y descomprimidos de acuerdo al formato contenedor y a los codecs usados en el proceso de en codificación.
Reproductor: Esta es la etapa en que el contenido multimedia regenerado a partir de los datos es desplegado en pantalla y reproducido por la tarjeta de sonido del receptor.
1.2.2.2 ¿Cómo se puede realizar la Transmi sión?
Unidifusión (Unicast): Se basa en un proceso de envío de una información en una o más unidades de datos (datagramas IP) desde una máquina origen a una única máquina destinataria o receptor final. Por tanto, es una transmisión punto a punto con cada destinatario. Si se desea enviar la misma
6Encoder: Es un dispositivo que convierte una señal RGB (red, green and blue) en una señal NTSC. Es utilizado para grabar clips de video digital a un videocasete.
13 información y hay “n” destinatarios, habrá “n” comunicaciones punto a punto independiente o “n”
copias de la misma información enviadas desde la máquina origen. (YÁGÜEZ, 2005).
Figura 4: Ejemplo de Transmisión Unicast.
En el ejemplo de la anterior Figura 4, se desean realizar dos transmisiones de unidifusión basadas en el envío de una misma unidad de datos (datagrama IP) desde M1 a M2 y M4. Por consiguiente, hay que enviar una copia de la misma información desde M1 a M2 y otra más desde M1 a M4; tod o ello, a través de los pertinentes routers7 R1-R2 y R1-R3-R5. Los dos datagramas IP son diferentes en su cabecera de control aunque con el mismo contenido en el campo de datos. Cada enlace entre máquinas suele ser una línea punto a punto o una red de área local.
Multidifusión (Multicast): Cuando la información es distribuida a un grupo determinado de usuarios simultáneamente, se está usando el esquema de distribución Multicast. El servidor envía un solo
7 Routers: Es un dispositivo hardware o software de interconexión de redes de computadoras que opera en la capa tres (nivel de red) del modelo OSI. Este dispositivo interconecta segmentos de red o redes enteras. Hace pasar paquetes de datos entre redes tomando como base la información de la capa de red.
14 flujo para todos los miembros del grupo, esto significa que se usa el mismo ancho de banda para enviar el contenido a uno o a 100 clientes. El flujo enviado está dirigido a una dirección de grupo, cada cliente debe estar configurado de forma tal que escuche la información enviada a tal grupo.
Para hacer Multicast, sin embargo, todos los Routers en el trayecto entre el servidor y el grupo Multicast, deben estar habilitados para esta distribución, debido a esto se realiza en redes privadas, intranets y en general en redes de área local (LAN)8 (Quintero Ortiz, y otros, 2006).
Figura 5: Ejemplo de Transmisión Multicast.
En el ejemplo de la Figura 5, se desea realizar una transmisión de multidifusión basada en el envío de una única unidad de datos (datagrama IP) desde M1 a todas las máquinas (M2 y M4) que forman el grupo de multidifusión G1. En este tipo de transmisiones sólo se envían los datagramas originales sin copias.
Consecuentemente, en el ejemplo sólo se transmite el datagrama IP original sin copias desde M1 al grupo G1. Cada enlace entre máquinas suele ser una línea punto a punto o una red de área local. R2 no transmite una copia a R5 porque tiene constancia de que existe otro envío de la misma información por otro camino (R1-R3-R5).
8Ver Glosario de Términos.
15 Difusión (Broadcast): Se basa en un único proceso de envío, independientemente del número de potenciales máquinas receptoras, de una misma información en una o más unidades de datos (datagramas IP) desde un origen a todas las máquinas de una red de área local. (Pérez Agüera, y otros, 2004). Todo ello, sin necesidad de transmitir desde el origen una copia de la misma información, por separado, a cada una de dichas máquinas. Se resalta el hecho de que desde la máquina origen sólo se envía una vez la pertinente información y no se transmiten “n” copias de la misma aunque haya “n” destinatarios.
Figura 6 : Ejemplo de Transmisión Broadc ast.
En el ejemplo de la anterior Figura 6, se desea realizar una transmisión a todas las máquinas (M1, M2, M3, M4, M5 y M6) del escenario planteado. Al igual que con la multidifusión, pero de una forma menos selectiva, sólo se envía un datagrama IP desde M1 al resto de las máquinas.
1.2.2.3 Los servidore s pueden proporcionar dos tipos de contenido.
Bajo demanda (Video on Demand, VOD): La tecnología de Streaming multimedia permite la visualización del contenido en el momento que uno desee. Cuando el video está disponible para la
16 transmisión, este es almacenado en un servidor de Streaming, en este momento el servidor está en la capacidad de manejar conexiones individuales provenientes de maquinas cliente que hagan la petición de visualización del contenido, en este momento el servidor comienza la entrega del flujo de bits para ser visualizado en el reproductor del cliente al otro lado de la conexión, en este punto el usuario tiene la posibilidad de controlar el flujo debido a que en cualquier momento puede detener su ejecución, realizar un retroceso, una pausa, pasar a otra escena y demás funciones.
Una de las propiedades del video bajo demanda es que este puede permanecer en el servidor indefinidamente hasta que alguien desee verlo, no es necesario tener una programación de emisión establecida, esto también trae implicaciones en el uso del ancho de banda ya que cada cliente que realice la petición de visualización del contenido tiene un flujo independiente desde el servidor por lo que el número posible de clientes conectados en un mismo instante depende directamente del ancho de banda disponible en la red.
En Directo : Streaming en directo se refiere al flujo de contenido multimedia en tiempo real. En este caso es necesario el uso de un software de producción que permita codificar y editar el contenido y que tenga la capacidad de transmitirlo a un servidor desde el cual generar el flujo hacia los clientes. La diferencia con la distribución bajo demanda es que en este caso el cliente debe escuchar el canal por el cual fluye el contenido, en este caso es común el uso de grupos Multicast como destino, siendo el cliente el que demuestra la intención de recibir el flujo.
1.2.3 Protocolos de Transmisión.
Un protocolo es un método estándar que permite la comunicación entre procesos (que potencialmente se ejecutan en diferentes equipos), es un conjunto de reglas y procedimientos que están obligadas a cumplir todas las maquinas y programas que intervienen en una comunicación de datos , las cuales deben respetarse para el envío y la recepción de datos a través de una red, ya que sin estas la comunicación resultaría caótica y por lo tanto imposible (Kioskea.net, 2008),(Suyama, 2004).
Los protocolos se clasifican en dos categorías según el nivel de control de datos requerido:
Protocolos orientados a conexión: Estos protocolos controlan la transmisión de datos durante una comunicación establecida entre dos máquinas. El equipo receptor envía acuses de recepción durante la
17 comunicación, por lo cual el equipo remitente es responsable de la validez de los datos que está enviando.
Los datos se envían entonces como flujo de datos.
Protocolos no orientados a conexión: Este es un método de comunicación en el cual el equipo remitente envía datos sin avisarle al equipo receptor, y éste recibe los datos sin enviar una notificación de recepción al remitente. Los datos se envían entonces como bloques (datagramas).
A pesar de que los ficheros multimedia son enormes, normalmente son enviados en flujos de datos a través de la red. Los flujos de datos se fragmentan en paquetes con un determinado tamaño para la transmisión entre los servidores y los clientes. Un cliente puede escuchar el primer paquete, descomprimir el segundo mientras recibe el tercero. De esta forma los usuarios pueden empezar a disfrutar de la multimedia sin esperar al final de la transmisión. Existen varios protocolos que han sido normalizados para permitir la comunicación entre los servidores streaming y los ordenadores cliente. Los protocolos implementan las funcionalidades siguientes:
Direccionamiento de red, para lo que se utiliza el Protocolo Internet (IP).
Transporte, utilizando UDP o TCP.
Control de sesión, suministrado por protocolos como: Real Time Streaming Protocol (RTSP), Microsoft Media Service Protocol (MMS) y (RTP) Real-Time Transport Protocol.
1.2.3.1 Protocolo de transporte en tiempo real (RTP).
RTP es un protocolo doble basado en IP que proporciona soporte para el transporte de datos en tiempo real (flujos de vídeo y de audio) formado por RTP y Protocolo de control en tiempo real (Real time control Protocol, RTCP). Este último es un protocolo de comunicación que proporciona información de control que está asociado con un flujo de datos para una aplicación multimedia (flujo RTP). Trabaja junto con RTP en el transporte y empaquetado de datos multimedia, pero no transporta ningún dato por sí mismo. Se usa habitualmente para transmitir paquetes de control a los participantes de una sesión multimedia de streaming. La función principal de RTCP es informar de la calidad de servicio proporcionada por RTP.
Este protocolo recoge estadísticas de la conexión y también información como por ejemplo bytes enviados, paquetes enviados, paquetes perdidos entre otros. Una aplicación puede usar esta información
18 para incrementar la calidad de servicio, ya sea limitando el flujo o usando un códec de compresión más baja. En resumen RTCP se usa para informar de la calidad del servicio.
Por otra parte el protocolo RTP se creó específicamente para la transmisión de audio y vídeo, gracias a que incluye en su cabecera informaciones que sincronizan imagen y sonido, al tiempo que es capaz de determinar si se han perdido paquetes y si éstos han llegado en el orden correcto. Trabaja sobre UDP, tiene características especiales para el trabajo con sistemas en tiempo real. En un principio fue diseñado para emisiones multicast de tráfico en tiempo real (aunque también se puede utilizar en emisiones unicast) y puede ser utilizado para el video bajo demanda y servicios interactivos. En su contra, tiene que no asegura ni la entrega continua de información, ni la de todos los paquetes y no puede evitar la entrega desordenada de los mismos, aunque sí los controla.
RTP permite:
Identificar el tipo de información transportada.
Añadir marcas temporales y números de secuencia de la información de transporte.
Controlar la llegada de los paquetes.
1.2.3.2 Protocolo de datagramas de usuario (UDP ).
UDP es un protocolo del nivel de transporte basado en el intercambio de datagramas que proporciona una sencilla interfaz entre la capa de red y la capa de aplicación. Sirve como multiplexor9 y demultiplexor10 para enviar y recibir datagramas, usando puertos para dirigir los datagramas además que permite el envío de estos a través de la red sin que se haya establecido previamente una conexión, ya que el propio datagrama incorpora suficiente información de direccionamiento en su cabecera. No tiene confirmac ión, ni
9Se utiliza como dispositivo que puede recibir varias entradas y transmitirlas por un medio de transmisión compartido (Gomez Marulanda, 2008).
10Es un dispositivo que puede recibir a través de un medio de transmisión compartido una señal analógica o digital multiplexada y separar las distintas señales integrantes de la misma encaminándolas a las salidas correspondientes.
19 control de flujo, por lo que los paquetes pueden adelantarse unos a otros; y tampoco se sabe si ha llegado correctamente, ya que no hay confirmación de entrega o de recepción.
Este protocolo se utiliza principalmente cuando el orden en que se reciben los mismos no es un factor fundamental, o también cuando se quiere enviar información de poco tamaño que cabe en un único datagrama.
Es un protocolo no orientado a conexión. Cuando una maquina A envía paquetes a una maquina B, el flujo es unidireccional. La transferencia de datos es realizada sin haber ejecutado previamente una conexión con la máquina de destino (maquina B), y el destinatario recibirá los datos sin enviar una confirmación al emisor (la maquina A). Esto es debido a que la encapsulación de datos enviada por el protocolo UDP no permite transmitir la información relacionada al emisor. Por ello el destinatario no conocerá al emisor de los datos excepto su IP.
No introduce ningún retardo para establecer una conexión, no añade ninguna mejora en la calidad de la transferencia; aunque si incorpora los puertos origen y destino en su formato de mensaje, no mantiene estado de conexión alguno y no realiza seguimiento de estos parámetros. As í, un servidor dedicado a una aplicación particular puede soportar más clientes activos cuando la aplicación corre sobre UDP.
Es utilizado por aplicaciones como RCP (comando para copiar ficheros entre ordenadores remotos), pero sobre todo se emplea en tareas de control y en la transmisión de audio y video a través de una red ya que no hay tiempo para enviar de nuevo paquetes perdidos cuando se está escuchando a alguien o viendo un vídeo en tiempo real.
Características del protocolo UDP:
- Transferencia de datos muy rápida.
- Muy flexible, bueno para utilizarse con sistemas ajenos.
- Con capacidad de Broadcast / Multicast.
- Adecuado para la transferencia de cantidades de datos medianas o pequeñas (menor o igual a 2048 Bytes).
Desventajas del protocolo UDP:
Los paquetes de datos perdidos no se envían de nuevo.
20 Se eliminan los paquetes de datos con suma de comprobación errónea y no se solicitan de nuevo.
Es posible la asignación múltiple de paquetes individuales.
La secuencia de llegada de los paquetes en el receptor no se puede predecir.
Los datos se transfieren orientados a paquetes (no orientado a flujo).
La función de Broadcast sólo se puede utilizar en la dirección de envío.
No es un protocolo fiable.
- No envía acuses de recibo.
- No ordena los mensajes.
- No controla la velocidad a la que fluye la información.
1.2.3.3 Protocolo de streaming en tiempo real (RTSP).
RTSP es un protocolo no orientado a conexión y si orientado a corrección, en lugar de esto el servidor mantiene una sesión asociada a un identificador, en la mayoría de los casos RTSP usa TCP para datos de control del reproductor y UDP para los datos de audio y vídeo aunque también puede usar TCP en caso de que sea necesario. Este protocolo de presentación multimedia cliente / servidor permite controlar el flujo de datos multimedia sobre la red IP. Proporciona una funcionalidad de control remoto para audio y video como pause, ir hacia delante, atrás y posición absoluta entre el servidor y el cliente.
Además es un protocolo de nivel de aplicación diseñado para funcionar con protocolos de bajo nivel como RTP, funciona tanto para grandes audiencias multicast como para unicast. Este resulta bastante eficaz debido a que permite una comunicación bidireccional de alta calidad, aporta un cierto nivel de seguridad y, lo mejor, es fácilmente adaptable a distintas plataformas como Windows, Unix o Macintosh. Para hacer llegar a cada usuario la información, hace falta, aparte del propio protocolo de transmisión que es el que indica cómo se enviará la información a nivel lógico por la red, un formato determinado que aplique o no compresión y que será el que almacenará la información en un fichero. Un protocolo que opera junto a RTSP es: RTP (El Protocolo de Transporte de tiempo Real).
RTSP tiene las siguientes propiedades:
21 Extensible: Nuevos métodos y parámetros pueden ser fácilmente añadidos al RTSP.
Seguro: RTSP reutiliza mecanismos de seguridad web ya sea a los protocolos de transporte (TLS)11 o dentro del mismo protocolo. Todas las formas de autentificación HTTP12 ya sea básica o basada en resumen son directamente aplicables.
Capacidad multi-servidor: Cada flujo multimedia dentro de una presentación puede residir en servidores diferentes, el cliente automáticamente establece varías sesiones concurrentes de control con los diferentes servidores, la sincronización la lleva a término la capa de transporte.
Control de dispositivos de grabación: El protocolo puede controlar dispositivos de grabación y reproducción (ej. cámaras IP RTSP).
Se caracteriza por:
- Protocolo de nivel de aplicación.
- Independiente de la capa de transporte (TCP o UDP).
- No es el encargado de transportar los contenidos.
- Necesita mantener el estado de la conexión.
- Compatible tanto con unicast como con multicast.
- Capacidad multi-servidor: Cada flujo multimedia dentro de una presentación puede residir en servidores diferentes.
11Transport Layer Security -Seguridad de la Capa de Transporte- (TLS) protocolo criptográfico que proporciona comunicaciones seguras por una red.
12HTTP (Protocolo de transferencia de hipertexto): Protocolo de Internet que se utiliza para proporcionar información mediante la World Wide Web.
22 1.2.3.4 Protocolo de Control de Transmi sión (TCP ).
Protocolo orientado a conexión, localizado sobre la capa IP (Internet Protocol): Es un protocolo confiable, los datos siempre llegarán de forma ordenada, ya que implementa mecanismos de retransmisión en caso de que el receptor no confirme la recepción de los datos. También implementa mecanismos de control de congestión y control de flujo. Lo que implica, que TCP es más lento que UDP. Normalmente TCP se utiliza para mensajes de control, y no se recomienda para la transmisión de vídeo aunque a pesar de ello se utiliza en algunas aplicaciones de vídeo. TCP no permite envío de mensajes multicast o broadcast.
1.2.3.5 Protocolo de Transferencia de Archivos (FTP).
El protocolo de transferencia de ficheros se encuentra sobre el protocolo TCP, al igual que el HTTP, permite obtener cualquier bloque de un fichero alojado en el servidor FTP. Algunos clientes, permiten reproducir directamente un vídeo mediante este protocolo. No se recomienda el uso de es te sistema ya que es muy ineficiente.
1.2.3.6 Servicio de Mensajería Multimedia (MMS).
Protocolo propietario13, es un estándar de mensajería (sistema de mensajería instantánea) que permite enviar y recibir mensajes con imágenes, sonido, video. Algunos servidores y clientes lo soportan debido a la disponibilidad de información obtenida por ingeniería inversa. El protocolo MMS es el método predeterminado al configurar el servidor Streaming de Microsoft (Windows Media Server) para conectarse con el servicio de unidifusión de Windows Media.
Los principales problemas de esta tecnología son la pérdida de calidad del servicio si el canal de emisión se satura y la complicada administración de los servidores encargados de realizarla.
13 Propietario: Todo aquel formato que no sigue un estándar, no existe documentación al respecto, y nadie excepto sus creadores sabe cómo funciona.
23 1.3 Objeto de Estudio.
A continuación se describen los procesos que constituyen el objeto de estudio de la investigación:
proceso de captura y transmisión de video y sonido digital. Se abunda también sobre conceptos asociados a estos procesos: video, sonido digital as í como la captura y transmisión de contenido multimedia.
1.3.1 Descripción General.
1.3.1.1 Video Digital.
El video hace referencia a la captación, procesamiento, transmisión y reconstrucción de una secuencia de imágenes y sonidos que representan escenas en movimiento (Fortis, 2005).
Surge como una tecnología íntimamente ligada a la televisión, pues nació como auxiliar de ésta para evitar que la programación fuera en directo, facilitando el trabajo de grabación, la planeación de horarios, el almacenaje de programas y la reproducción de los mismos.
El vídeo digital se puede definir como la representación digital de la señal de vídeo analógico, es una secuencia de imágenes y audio que son almacenadas y reproducidas en forma digital.
Para una buena calidad en el video es necesario un método eficiente de compresión y una línea rápida para la trasferencia. Este puede copiarse sin degradación en la calidad, no importa cuántas generaciones se copia una fuente digital, será tan claro como el original de primera generación del material digital, la calidad de imagen se encuentra totalmente independiente, solamente se ve afectada durante el proceso de digitalización de la misma. Además permite el sistema de edición no lineal, esto quiere decir que se pueden editar las imágenes y el sonido de forma más rápida sin seguir ningún orden. Por último en el video digital están presentes los tres colores primarios (RGB), permitiendo que los colores de la imagen original se definan de forma más exacta.
24 1.3.1.2 Sonido Digital.
Muy ligado al video se encuentra el sonido, que no es más que la vibración de las partículas del aire que son captadas por nuestro oído y crean una sensación en nuestro cerebro que es a la que se llama sonido (Sacco, 2003-2004).
La vibración del aire describe un movimiento ondulatorio (Figura 7) y se caracteriza por unas magnitudes físicas: la frecuencia, la amplitud, la longitud de onda y otros. Estas permiten definir distintos tonos, timbres y duraciones de los sonidos. Todas estas magnitudes son analógicas.
Figura 7: Señal Analógica.
Al hablar de sonido digital se establece que toda la información de la onda analógica se convierte y almacena como información binaria, es decir, en forma de 0 y 1 (Figura 8).
Figura 8: Señal Digital.
La calidad del sonido depende de la frecuencia del muestreo y a la resolución. Frecuencias de muestreo, se refiere al número de mediciones que se hacen por segundo. Cuanto mayor sea el numero de muestras mejor es la calidad del sonido, por ejemplo si la velocidad de muestreo es de una cada un segundo las variaciones del sonido que se produzcan en el intermedio no serán registradas. Según estudios realizados por investigadores de la Adobe Systems Incorporated, la frecuencia de muestreo debe ser el doble del
25 sonido más alto que se pueda escuchar, como el oído humano puede escuchar aproximadamente hasta los 20.000 Hercios, la frecuencia optima de muestreo será de 44,1 Khz. (44.100 hercios), esta la frecuencia que se usa en los CD de música.
1.3.1.3 Transmi sión de contenido audiovisual.
La transmisión digital y la distribución de información audiovisual permiten la comunicación multimedia sobre las redes que soportan la comunicación de datos, brindando la posibilidad de enviar imágenes en movimiento a lugares remotos. Los progresos de la tecnología informática en los últimos años han hecho posible que la tecnología digital llegue a todos los ámbitos de la comunicación: la escrita, la telefonía, la radio y la televisión. Pero no es todo tan bonito a la hora de transmitirlo por red, debido a que surgen sucesos como lentitud entre la reproducción de imágenes, errores de transmisión, o pérdidas de datos.
Existen dos formas de transmisión de datos, analógica y digital. Una de las características del vídeo es que está compuesto por señales analógicas, con lo que se pueden dar las dos formas de transmisión.
La transmisión de datos se ha volcado hacia el mundo digital ya que supone una serie de ventajas frente a la transmisión analógica. Al verse la información reducida a un flujo de bits, se consigue una mayor protección contra posibles fallos ya que se pueden introducir mecanismos de detección de errores, se elimina el problema de las interferencias, se puede disminuir el efecto del ruido en los canales de comunicación, conseguir codificaciones más óptimas y encriptado, mezclar con otros tipos de información a través de un mismo canal, y poder manipular los datos con ordenadores para comprimirlos, por ejemplo.
Si desea difundir el vídeo por vías digitales, lo primero será digitalizarlo, con lo que debe ser capturado en su formato analógico y almacenado digitalmente logrando as í que sea menos propenso a degradarse durante la transmisión. La digitalización puede realizarse en las diversas fases del proceso de producción:
la grabación, la edición y la difusión.
26 1.3.1.4 Proce so de captura de video y audio.
Para la captura de video/audio procedente de la TV14 o de una cinta de video se debe disponer de una tarjeta sintonizadora y algún software para la captura, como pudiera ser el desarrollado en la UCI específicamente en el polo de Video y Sonido Digital. Lo primero es instalar los códec que se van a usar para la compresión del video/audio, esto se realiza puesto que un video sin compresión ocupa mucho espacio. A medida que se está capturando el video este se almacena en el ordenador o en un dispositivo de almacenamiento, y es aquí donde finaliza la captura.
1.3.2 Descripción actual del dominio del problema.
El avance en la tecnología de las redes de datos en conjunto con el importante desarrollo de las herramientas de código abierto en este último tiempo, permiten que hoy en día no sea utópico pensar en entregar contenido multimedia de alta calidad de imagen y sonido por la red a un costo muy bajo comparado con otras soluciones más tradicionales de transmisión a distancia. Actualmente existen disímiles herramientas de código abierto que dan la posibilidad de difundir contenido multimedia de una manera muy eficiente, es así como la educación a distancia, la telemedicina, la distribución de TV utilizando Internet toman gran auge.
La transmisión de información multimedia, a través de la red, con contenido en vivo es posible gracias a que los servidores de medios hoy en día pueden manejar Streaming, es decir, el flujo puede reproducirse en la medida que es recibido. Hoy en día existen muchas aplicaciones que se apoyan en estos servidores de medios para poder difundir contenido multimedia, en ocasiones estas aplicaciones utilizan diferentes servidores ya que se tiene que tener en cuenta en el entorno en que se va a utilizar esta. Todos los servidores tienen sus ventajas y desventajas con respecto a otros, pues actualmente no se tiene definido un servidor streaming en software libre que funcione de forma estable y eficiente para cualquier sistema informático que requiera de este servicio.
14TV: Es un sistema de telecomunicación para la transmisión y recepción de imágenes en movimiento y sonido a d istancia.
27 1.3.3 Situación Problemática.
Con el transcurso de los años se ha experimentado un considerado avance en la velocidad de transmisión de las redes de computadoras, lo cual, apoyado en las actuales capacidades de procesamiento de los ordenadores, permite que las aplicaciones de video y sonido sobre redes IP sean más populares y más fáciles de implementar que hace algunos años atrás.
Otro de los elementos que ha influido en el incremento de este tipo de aplicaciones es la aparición de la tecnología Streaming, al dar la posibilidad de visualizar y escuchar un archivo mientras se está descargando, en otras palabras, permite ver y oír en tiempo real vídeos y audios. Para poder poner a disposición de los clientes (aplicaciones que usen los Streaming) el flujo de datos (Streaming) es necesario un servidor streaming, los que se encargan de realizar una serie de operaciones sobre los datos que se van a transmitir.
Actualmente se cuenta con una gran variedad de servidores streaming tanto de software libre como propietario, donde estos últimos presentan un buen prestigio dentro de los desarrolladores, además de una mayor cantidad de funcionalidades que garantizan la calidad en el servicio que brindan, siendo lo contrario en los de software libre donde no se tiene definido un servidor que permita la captura y transmisión de video y sonido digital para los sistemas informáticos que requieran de ello, constituyendo esto una necesidad para poder alcanzar la soberanía tecnológica que defiende el país a la hora del desarrollo de aplicaciones que hagan uso de este recurso.
1.4 Análisis de otras soluciones existentes.
Tanto en Cuba como en el mundo existen algunas soluciones que se apoyan en los servidores streaming para poder difundir el contenido audiovisual, a continuación se describen algunas de ellas:
28 1.4.1Inter-Nos.
Inter-Nos15 es un sitio WEB que nace de un trabajo de diploma de un estudiante de la Universidad de las Ciencias Informáticas (UCI), el cual surge por la necesidad de distribuir contenidos audiovisuales por la red en dicha Universidad, donde existe gran cantidad de computadoras distribuidas en diferentes áreas. El principal propósito que tiene este sitio es entretener, informar y educar a los usuarios que hagan uso de él.
En el portal se publican las teleclases docentes, permitiendo a los estudiantes y profesores acceder a ellas desde cualquier lugar dentro de la Universidad, en cualquier momento y cuantas veces estime necesario, permitiendo personalizar la actividad docente de los estudiantes y trabajadores. A diferencia de la transmisión por TV, que es el método común usado para este fin. Brinda los servicios de Video Streaming para la publicación de las teleclases docentes, se publican los canales de la Televisión en vivo las 24 horas del día, con posibilidad de grabar los programas televisivos más demandados por los usuarios, además de variadas propuestas cinematográficas para el disfrute de la comunidad universitaria. Almacena conocidos materiales audiovisuales que posibilitan el debate y la reflexión oportuna, variados materiales de corte científico técnico que aportan a nuestra cultura general integral, permite escuchar la radio en vivo de 6 emisoras nacionales, y algunas otras funcionalidades que a medida que pasa el tiempo se le van incorporando.
Para este sitio poder brindarle a los usuarios el servicio que ellos soliciten, se apoya en el servidor de streaming de la Microsoft el Windows Media Server 9, el cual brinda la posibilidad de acceder a los recursos multimedia en el momento en el que se está transmitiendo (broadcasting) o a la información que se encuentra digitalizada y almacenada en el servidor (VOD). Este servidor necesita para un buen funcionamiento un ancho de banda superior a 28,8 Kbps, para tener una reproducción de calidad alta o media. Debe disponer de un software servidor de ficheros y otro cliente de la misma naturaleza para obtener una buena calidad en las transmisiones y en la reproducción. Para poder transmitir en vivo
15 Disponible en http://inter-nos.uci.cu.
29 necesitara instalar Windows Media Encoder en su ordenador, además que no permite transmitir en vivo ficheros mp3 aunque si puede emitir streaming bajo demanda, en este formato. Este servidor completamente privativo es una de las soluciones más completas en cuanto a servidor de streaming.
1.4.2 YouTube.
YouTube17 es un sitio web que permite a los usuarios subir, bajar, ver y compartir vídeos digitales a través de internet. Es fácil de usar y, además, gratuito. Para ver los vídeos o enviarlos a otras personas no es necesario registrarse, aunque sí para colocarlos en la página. Es uno de los servicios popularmente más conocido y usado por la comunidad social de Internet. Fue fundado en febrero de 2005, aunque actualmente es propiedad de Google, desde su compra, el 10 de octubre de 2006 por 1.650 millones de dólares. El servicio que brinda YouTube presenta las siguientes características: incorpora buscador, un sistema de calificación de los vídeos. Permite a los usuarios calificar los vídeos de 1 a 5 estrellas; el sistema guarda, genera y muestra estadísticas del uso del vídeo (número de visualizaciones, comentarios, añadido a favoritos, y relación de sitios que enlazan el vídeo), además de otras funcionalidades que se le han ido incorporando a media que pasa el tiempo.
El sitio aloja una variedad de video clips de películas y programas de televisión, videos musicales, y vídeos caseros por lo que ha presentado algunos problemas con productoras y cadenas de televisión ya que una de las políticas del sitio es que está prohibido subir videos con derecho de autor.
YouTube se apoya en el reproductor en línea basado en Adobe Flash para servir su contenido. Es muy popular gracias a la posibilidad de alojar vídeos personales de manera sencilla. Los servidores durante el proceso de “subida” (unpload) del video se encargan de convertir este en dicho formato. Los formatos en
16Windows Media Encoder: Compresor para el formato Windows Media. Permite capturar audio, video y pantallas tanto en vivo como pregrabadas, y codificar esta información para su distribución en vivo o bajo demanda. Este producto está limitado al entorno Windows. También ofrece una capacidad limitada como servidor.
17 Disponible en http://www.youtube.com.
30 los que se envía el vídeo son: MPEG, AVI , MOV , los utilizados por videocámaras y cámaras integrada en los teléfonos móviles y algunos otros. Para poder difundir toda la información que se encuentra alojada en el sitio, utiliza muchos servidores, dentro de ellos se puede destacar el uso del Darwin Streaming Server que lo utiliza para transmitir videos a móviles.
1.4.3 Canal de televisión SergioTV.
El proyecto SergioTv19, concebido desde el Departamento de Sistemas de la Universidad Sergio Arboleda en Colombia, se consolida en 2007 como el primer canal de televisión por Internet universitario en ese país, siendo así uno de los primeros servicios universitarios de entrega de video por demanda a través de Internet. Esta solución está compuesta por varios componentes:
Canal de televisión.
El canal está en capacidad de manejar transmisiones en diferido y también transmisiones en vivo, p or cuanto el motor encargado de hacer el streaming puede tomar como fuente un conjunto de archivos almacenados en el servidor (transmisión en diferido), una señal audiovisual proveniente de dispositivos de grabación conectados al equipo (transmisión en vivo), o una señal de streaming transmitida por otro servidor a través de la red (retransmisión). Utilizan como servidor de streaming la solución que brinda el proyecto VideoLan (VLC) en conjunto con el servidor Red5. El canal ha sido utilizado para la transmisión en vivo por Internet de eventos de interés realizados por la Universidad, tales como simposios, conferencias, seminarios y conciertos.
18 Ver Glosario de Términos.
19 Disponible en http://www.usa.edu.co/sergiotv.