Evaluacion de Servidores de streaming.pdf

Embed Size (px)

Citation preview

  • EVALUACION DE SERVIDORES DE STREAMING DE VIDEO ORIENTADO A

    DISPOSITIVOS MOVILES

    JUAN PABLO QUINTERO ORTIZ

    CRISTIAN ANDREY CASTRO SERNA

    Proyecto de grado para optar al ttulo de Ingeniero Electrnico

    Asesor

    Ph.D Jos Edinson Aedo

    UNIVERSIDAD DE ANTIOQUIA

    FACULTAD DE INGENIERA

    DEPARATAMENTO DE INGENIERA ELECTRNICA

    MEDLLN

    2006

  • NOTA DE ACEPTACIN

    La Universidad de Antioquia, y en nombre el Departamento de Ingeniera

    Electrnica, decide aprobar el siguiente proyecto de grado como requisito para

    optar el ttulo de Ingeniero Electrnico.

    ________________________ ________________________

    Jurado 1

    Jurado 2

  • Agradecimientos

    Agradezco a Dios por brindarme todo

    lo que tengo, a mi Madre, a mi Padre,

    a mis Hermanos, por ser mi bastin y

    mi ejemplo, a mi novia y a mis

    amigos, que son los hermanos del

    alma.

    Juan Pablo Quintero Ortiz.

    No Hay palabras en este universo ni

    en ningn otro para agradecerles por

    todo lo maravilloso que me han dado

    mis padres, mi familia y mis amigos.

    Cristian Andrey Castro Serna

  • TABLA DE CONTENIDOS

    INTRODUCCIN .................................................................................................... 1 OBJETIVOS ............................................................................................................ 4 1. CARACTERISTICAS DE LAS COMUNICACIONES INALMBRICAS ............... 5

    1.1 Ondas de Radio............................................................................................. 5 1.2 Frecuencias y canales ................................................................................... 8 1.3 Fenmenos que afectan las transmisiones de radiofrecuencia ..................... 9

    1.3.1 Absorcin ................................................................................................ 9 1.3.2 Reflexin ............................................................................................... 10 1.3.3 Interferencia .......................................................................................... 11

    1.4 Estndares de Comunicaciones inalmbricas en redes WLAN................... 12 1.5 Esquemas de modulacin usados en 802.11 a/b/g ..................................... 13

    1.5.1 DSSS Espectro Ensanchado por Secuencia Directa ............................ 14 1.5.2 FHSS Espectro Ensanchado por Salto de Frecuencia.......................... 15

    1.6 Efectos de la movilidad en el desempeo de un servicio de streaming....... 15 2. CONCEPTOS DE VIDEO DIGITAL................................................................... 18

    2.1 Captura de video ......................................................................................... 18 2.2 Formatos de video ....................................................................................... 19 2.3 Codificacin de video................................................................................... 20 2.4 Estndares de codificacin de video ........................................................... 24

    2.4.1 Estndares desarrollados por la ITU..................................................... 25 2.4.2 Estndares desarrollados por la ISO/IEC.............................................. 28

    3. CONCEPTOS DE STREAMING ....................................................................... 33 3.1 Introduccin ................................................................................................. 33 3.2 Distribucin de video.................................................................................... 34

    3.2.1 Bajo demanda ....................................................................................... 34 3.2.2 En vivo .................................................................................................. 35

  • 3.3 Esquemas de distribucin............................................................................ 36 3.3.1 Broadcast .............................................................................................. 36 3.3.2 Unicast .................................................................................................. 37 3.3.3 Multicast ................................................................................................ 38

    3.4 Protocolos.................................................................................................... 39 3.4.1 ProtocoloTCP........................................................................................ 40 3.4.2 Protocolo UDP ...................................................................................... 41 3.4.3 Protocolo RTP....................................................................................... 42 3.4.4 Protocolo RTSP..................................................................................... 42 3.4.5 Protocolo SCTP..................................................................................... 43

    3.5 Funcionamiento de un servicio de Streaming .............................................. 44 4. SERVIDORES DE STREAMING....................................................................... 47

    4.1 VLS Descripcin general ............................................................................. 49 4.1.1 Componentes VLS ................................................................................ 50 4.1.2 Arquitectura General ............................................................................. 51 4.1.3 Descripcion de Clases Comunes .......................................................... 52 4.1.4 Como es el proceso de Broadcasting?.................................................. 55

    4.2 Darwin Streaming Server............................................................................. 56 4.2.1 Arquitectura del servidor ....................................................................... 56 4.2.2 Modulos................................................................................................. 58 4.2.3 Protocolos ............................................................................................. 59

    4.3 Helix Server ................................................................................................. 60 4.3.1 Cliente/Servidor Protocolos soportados ................................................ 61 4.3.2 Plug-ins ................................................................................................. 62 4.3.3 Streaming desde el Helix Universal Server ........................................... 63 4.3.4 Sirviendo mltiples Streams.................................................................. 65 4.3.5 Comunicacin mediante HTTP ............................................................. 65 4.3.6 Manejo de memoria............................................................................... 66 4.3.7 Manejo de Sesin.................................................................................. 67

  • 5. PLAN DE PRUEBAS......................................................................................... 69 5.1 Metodologa ................................................................................................. 69 5.2 Resultados................................................................................................... 73

    5.2.1 Diferentes ratas de compresin para cada servidor .............................. 73 5.2.2 Diferentes servidores para cada rata de compresin............................ 75 5.2.3 Comparacin de consumo de corriente con el radio a pagado y un stream determinado para cada servidor......................................................... 77 5.2.4 Graficas de trfico de red ...................................................................... 82

    CONCLUSIONES.................................................................................................. 87 ANEXO 1. ACPI .................................................................................................... 92 ANEXO 2. PORTAL DE GESTION DE CONTENIDO ........................................... 97 BIBLIOGRAFIA ................................................................................................... 103

  • LISTA DE FIGURAS

    Figura 1. Longitud de onda, Amplitud y Frecuencia de una onda de 2 ciclos por segundo............... 6

    Figura 2. Espectro electromagntico ........................................................................................... 7

    Figura 3. Canales y frecuencias centrales en el estndar 802.11b ................................................. 8

    Figura 4. Cobertura por celdas evitando superposicin de canales ................................................ 8

    Figura 5. ngulos de incidencia y reflexin ................................................................................ 10

    Figura 6. Fenmeno de reflexin en antenas parablicas............................................................ 11

    Figura 7. Interferencia constructiva y destructiva....................................................................... 11

    Figura 8. Transicin entre Celdas.............................................................................................. 16

    Figura 9. Proceso de captura de video ...................................................................................... 18

    Figura 10. Modelo de distribucin Bajo demanda ....................................................................... 35

    Figura 11. Modelo de distribucin en vivo.................................................................................. 36

    Figura 12. Modelo de distribucin Broadcast.............................................................................. 37

    Figura 13. Modelo de distribucin Unicast ................................................................................. 37

    Figura 14. Modelo de distribucin Multicast ............................................................................... 38

    Figura 15. Implementacin de servicio de streaming.................................................................. 44

    Figura 16. Reproduccin de contenido almacenado en el buffer de recepcin .............................. 46

    Figura 17. Estructura general de un servicio implementado con VideoLAN................................... 49

    Figura 18. Mdulos componentes de VLS .................................................................................. 50

    Figura 19. Arquitectura VLS...................................................................................................... 51

    Figura 20. Gestin de streaming en el VLS ................................................................................ 52

    Figura 21. Clases comunes en el VLS ........................................................................................ 54

    Figura 22. Diagrama de inicio de stream en el VLS ................................................................... 55

    Figura 23. Esquema de envio del paquete TS en el VLS ............................................................. 55

    Figura 24. Relacin Clientes, hilos del ncleo del servidor y modulos del Darwin Streaming Server 57

    Figura 25. Arquitectura del Helix Universal Server...................................................................... 61

    Figura 26. Streaming desde el Helix Server hacia el Real Player.................................................. 63

    Figura 27. Distribucin de mltiples streams en el Helix Server.................................................. 65

    Figura 28. Tunelamiento de Streaming sobre HTTP ................................................................... 66

    Figura 29. Control de sesin en el Helix Server .......................................................................... 68

    Figura 30. Plataforma de pruebas ............................................................................................. 70

  • Figura 31. Plataforma de pruebas en el laboratorio de Microelectrnica y control......................... 71

    Figura 32. Consumo de corriente [mA] en el cliente con diferentes stream servidos desde el VLS. 74

    Figura 33. Consumo de corriente [mA] en el cliente con diferentes stream servidos desde el Darwin

    Streaming Server..................................................................................................................... 74

    Figura 34. Consumo de corriente [mA] en el cliente con diferentes stream servidos desde el Helix

    Server..................................................................................................................................... 75

    Figura 35. Consumo de corriente [mA] en el cliente debido al stream de 112Kbit en cada uno de los

    servidores ............................................................................................................................... 76

    Figura 36. Consumo de corriente [mA] en el cliente debido al stream de 256Kbit en cada uno de los

    servidores ............................................................................................................................... 76

    Figura 37. Consumo de corriente [mA] en el cliente debido al stream de 512Kbit en cada uno de los

    servidores ............................................................................................................................... 77

    Figura 38. Comparacin de consumos de corriente [mA] Radio OFF Vs Darwin streaming Server con

    stream de 112Kbit ................................................................................................................... 78

    Figura 39. Comparacin de consumos de corriente [mA] Radio OFF Vs Helix Server con stream de

    112Kbit ................................................................................................................................... 78

    Figura 40. Comparacin de consumos de corriente [mA] Radio OFF Vs VLS con stream de 112Kbit

    .............................................................................................................................................. 79

    Figura 41. Comparacin de consumos de corriente [mA] Radio OFF Vs VLS con stream de 256Kbit

    .............................................................................................................................................. 79

    Figura 42. Comparacin de consumos de corriente [mA] Radio OFF Vs Darwin streaming Server con

    stream de 256Kbit ................................................................................................................... 80

    Figura 43. Comparacin de consumos de corriente [mA] Radio OFF Vs Helix Server con stream de

    256Kbit ................................................................................................................................... 80

    Figura 44. Comparacin de consumos de corriente [mA] Radio OFF Vs Helix Server con stream de

    512Kbit ................................................................................................................................... 81

    Figura 45. Comparacin de consumos de corriente [mA] Radio OFF Vs Darwin streaming Server con

    stream de 512Kbit ................................................................................................................... 81

    Figura 45. Comparacin de consumos de corriente [mA] Radio OFF Vs VLS con stream de 512Kbit

    .............................................................................................................................................. 82

    Figura 46. Trfico de datos con stream de 112Kbits servidos por el VLS...................................... 82

    Figura 47. Trfico de datos con stream de 256Kbits servidos por el VLS...................................... 83

    Figura 48. Trfico de datos con stream de 512Kbits servidos por el VLS...................................... 83

  • Figura 49. Trfico de datos con stream de 112Kbits servidos por el Darwin Streaming Server....... 84

    Figura 50. Trfico de datos con stream de 256Kbits servidos por el Darwin Streaming Server....... 84

    Figura 51. Trfico de datos con stream de 512Kbits servidos por el Darwin Streaming Server....... 85

    Figura 52. Trfico de datos con stream de 112Kbits servidos por el Helix Server.......................... 85

    Figura 53. Trfico de datos con stream de 256Kbits servidos por el Helix server .......................... 86

    Figura 54. Trfico de datos con stream de 512Kbits servidos por el Helix Server.......................... 86

    Figura 55. Bsqueda rpida...................................................................................................... 98

    Figura 56. Bsqueda por descripcin de campo ......................................................................... 99

    Figura 57. Bsqueda alfabtica................................................................................................101

    Figura 58. Grabacin de contenido...........................................................................................102

    LISTA DE TABLAS

    Tabla 1. Caractersticas de la familia de estndares inalmbricos 802.11 (Wi-Fi) .......................... 13

    Tabla 2. Caractersticas del estndar inalmbrico 802.11n.......................................................... 13

    Tabla 3. Formatos de video digital ............................................................................................ 20

    Tabla 4. Partes MPEG-1 ........................................................................................................... 29

    Tabla 5. Partes de MPEG-2....................................................................................................... 30

    Tabla 6. Partes de MPEG-4....................................................................................................... 32

    Tabla 7. Caractersticas de los servidores de streaming en evaluacin......................................... 89

    Tabla 8. Consumos de corriente [mA] promedio a diferentes ratas de compresin....................... 90

  • INTRODUCCIN

    Se puede pensar en la sociedad actual como la sociedad de las comunicaciones,

    donde todos y cada uno de nosotros ha tenido que adoptar nuevas y cada vez ms

    sofisticadas tecnologas que nos han llevado a un mundo donde el estar

    comunicados es prerrequisito indispensable para vivir en sociedad. Y es en este

    contexto que las nuevas tecnologas imprimen un cambio radical en la concepcin

    de las posibilidades de los servicios que hasta ahora se haban ofrecido. El auge

    cada vez mayor de los dispositivos mviles han hecho de las comunicaciones un

    escenario que aos atrs era casi impensado.

    En la actualidad no basta solo con poder comunicarnos de la manera tradicional,

    sino que la aparicin de nuevos y revolucionarios servicios han creado un entorno

    donde la interactividad y la comunicacin no solo por voz sino por video se

    convertir a futuro en la manera tradicional en la cual nos comunicaremos. Dentro

    de este nuevo entorno los dispositivos mviles juegan un papel ms que

    importante. Gracias a ellos el mundo ha sufrido un cambio realmente

    sorprendente, donde el estar en continuo contacto con el mundo dej de ser una

    utopa para pasar a convertirse en una realidad que cambi para siempre nuestras

    vidas.

    No obstante estas ventajas existen inconvenientes y la movilidad trae implcita

    retos que aun se estn afrontando como la limitada capacidad de almacenamiento,

    procesamiento, consumo eficiente de energa y otros que continuarn surgiendo a

    medida que se avance en la prestacin de diferentes tipos de servicios en

    dispositivos mviles, tales como el desarrollo de protocolos de transporte que sean

    sensibles a los cambios continuos en los niveles de seal inherentes a los sistemas

  • 2

    mviles, estas limitaciones imponen lineamientos claros en pro de suplir tales

    carencias o ayudar a sobrellevarlas mas fcilmente.

    Es as que han surgido muchas propuestas, no solo en lo que tiene que ver en la

    parte de hardware, tambin con el software, que han permitido que estos

    dispositivos tengan prestaciones cada vez mejores.

    El desarrollo de hardware y software basados en criterios de bajo consumo de

    energa, la implementaron de sistemas de hardware dinmicamente reconfigurable

    y la utilizacin de tcnicas de streaming para la optimizacin en el uso de los

    sistemas de almacenamiento, son soluciones que estn orientadas a dotar al

    dispositivo mvil de caractersticas que le permitan estar a la vanguardia de los

    esquemas de comunicaciones actuales; en los cuales la interactividad y la difusin

    de contenido multimedia ha adquirido una importancia cada vez mayor y se ha

    convertido en algo indispensable en la concepcin de un dispositivo mvil.

    De este entorno tan exigente surge el concepto de streaming de video en tiempo

    real, como un servicio que toma cada da mas fuerza y que posibilita la difusin de

    contenido multimedia en dispositivos mviles, que seria casi que imposible de otra

    manera.

    El concepto de streaming nace de la necesidad de difundir contenido multimedia a

    travs del Internet sin la necesidad de descargar todo el tamao del archivo, y

    permitir un grado de interactividad en tiempo real. Para difundir este tipo de

    contenido multimedia se hace necesario de un servidor de streaming, que permita

    gestionar las conexiones y anchos de banda que los usuarios conectados al

    sistema estn solicitando.

  • 3

    Aunque el surgimiento de los servidores de streaming ha solucionado en gran

    parte el problema de difusin de contenido multimedia en Internet, esta solucin

    fue orientada en un principio a equipos de escritorio, y no a dispositivos mviles

    por lo que aun son precarias las soluciones que se ofrecen en este aspecto.

    Es precisamente por dicha carencia que este trabajo se torna realmente

    importante, surge en la necesidad de orientar los esquemas actuales de los

    servidores de streaming hacia los dispositivos mviles. Primero haciendo una

    evaluacin de los servidores de streaming mas conocidos, en cuanto al desempeo

    que stos indirectamente le proporcionen al dispositivo y por ltimo haciendo una

    evaluacin de cules criterios cobran mayor importancia en el esquema de un

    servidor de streaming de contenido multimedia orientado a dispositivos mviles.

  • 4

    OBJETIVOS

    Objetivo general:

    Evaluar diferentes tipos de servidores de streaming con el fin de sugerir las

    caractersticas mas adecuadas para ofrecer un servicio orientado a clientes en

    dispositivos mviles.

    Objetivos especficos:

    Establecer criterios de evaluacin para los diferentes servidores de

    streaming.

    Definir un plan de pruebas.

    Montaje y puesta a punto de los servidores seleccionados para la

    evaluacin.

    Implementacin de un portal para el acceso de los clientes al material

    multimedia por medio de la red.

    Obtencin de los resultados mediante el desarrollo del plan de pruebas.

  • 5

    1. CARACTERISTICAS DE LAS COMUNICACIONES

    INALMBRICAS

    Las comunicaciones inalmbricas hacen uso de las ondas de radio para transmitir

    la informacin, hablando en trminos de los modelos de interconexin de sistemas

    abiertos como el modelo OSI [1] o el TCP/IP [1], nos estamos refiriendo al nivel

    mas bajo del modelo, el medio fsico y el de acceso al medio (MAC) por lo tanto

    desde el punto de vista de las aplicaciones no existe ninguna diferencia con una

    transmisin por un medio cableado. Pero las ondas de radio poseen propiedades

    determinantes en el momento de definir un buen enlace. No es posible saber la

    ruta que sigue una onda de radio o evitar total mente que haya interferencia con

    otras transmisiones en el entorno, algo que no sucede en una red cableada,

    debido al confinamiento de la seal que proporciona el cable, no sucede.

    1.1 Ondas de Radio

    Una onda es la vibracin peridica en el tiempo de un medio o material. Las ondas

    de radio son por lo tanto vibraciones del campo electromagntico que estn

    definidas por caractersticas tales como su longitud de onda, frecuencia y

    velocidad, una relacin matemtica de lo anterior est dada por:

    Velocidad = Frecuencia * Longitud de Onda

  • 6

    Adems de las propiedades anteriores, las ondas de radio poseen otra

    caracterstica, la amplitud, siendo sta la distancia desde el centro de la onda

    hasta el punto mximo.

    Figura 1. Longitud de onda, Amplitud y Frecuencia de una onda de 2 ciclos por segundo.

    Las ondas electromagnticas abarcan un amplio rango de frecuencias, es

    denominado espectro electromagntico, est compuesto por diferentes tipos de

    radiacin, Rayos-X, Ultravioleta, Luz visible, infrarrojo y otras ms. El espectro

    comprendido entre 3 Hz a 300 GHz, es llamado Radio frecuencias debido a que es

    la porcin del espectro en el que las ondas pueden ser transmitidas aplicando

    corriente alterna a una antena.

  • 7

    Figura 2. Espectro electromagntico

    Es muy popular el uso de frecuencias pertenecientes a la banda ISM [1], para la

    transmisin de datos mediante ondas de radio, existen estndares como el IEEE

    802.11 que hace uso de stas debido a que esta banda se mantiene abierta para

    uso general sin necesidad de licenciamiento, al contrario de la mayora del resto

    del espectro que se encuentran altamente controlados y el cual se usa para otro

    tipo de comunicaciones como radio y televisin u otras comunicaciones de voz y

    datos.

    Un concepto que se maneja en relacin con el uso de un rango de frecuencias

    especfico es el de ancho de banda, este es la parte del espectro que un dispositivo

    est en capacidad de manejar o para el cual tiene un funcionamiento apropiado. El

    ancho de banda est muy relacionado con la cantidad de datos que se pueden

    transmitir en un momento dado. Esto es, por una conexin de 1 Mbps es posible

    tener un flujo continuo de datos de 1 Mb cada segundo.

  • 8

    1.2 Frecuencias y canales

    Haciendo nfasis en la banda ISM podemos ejemplificar el uso del espectro en el

    estndar IEEE 802.11b, ste hace uso de las frecuencias cercanas a los 2,4 GHz y

    se hace una divisin del espectro en partes iguales canales, cada uno con un

    ancho de banda de 22 MHz pero separados solamente 5 MHz. Como consecuencia

    los canales adyacentes se superponen y pueden interferir unos con otros.

    Figura 3. Canales y frecuencias centrales en el estndar 802.11b

    Como se visualiza en la figura anterior, los canales 1, 6 y 11 no se superponen, por

    lo que son comnmente usados en los sistemas inalmbricos adyacentes o en

    sistemas de cobertura por celdas como se ilustra a continuacin.

    Figura 4. Cobertura por celdas evitando superposicin de canales

  • 9

    Hay un hecho claro con respecto a la frecuencia de la onda sobre la cual viaja la

    informacin, ya que afecta directamente la distancia de propagacin.

    Asumiendo niveles iguales de potencia en la transmisin, se tiene que las ondas de

    ms baja frecuencia viajan mayores distancias, o sea que un transmisor en los

    77MHz emite a distancias mayores que uno a 108MHz.

    Otro aspecto muy importante es que las ondas de menor frecuencia rodean los

    obstculos, esto es, si una onda de 4 metros de que viaja en el agua se encuentra

    con un obstculo en la superficie de unos cuantos milmetros sta no se detiene,

    pero si se topa con un barco la onda sufrir atenuacin. La distancia de

    propagacin de la onda depende tambin del tamao de los obstculos que sta

    se encuentra en su camino.

    La sondas electromagnticas no estn exentas de este tipo de fenmenos, por

    ejemplo, la radio FM comercial (88 MHz 108 MHz) puede atravesar edificaciones

    y obstculos de este tipo fcilmente pero los telfonos GSM (900 MHz),Na aunque

    esto tambin se debe a la diferencia en la potencia de los transmisores de FM y

    GSM. La gran ventaja que poseen las ondas radiadas a ms altas frecuencias es

    que mientras ms rpida sea la oscilacin, mayor cantidad de informacin puede

    transportar.

    1.3 Fenmenos que afectan las transmisiones de

    radiofrecuencia

    1.3.1 Absorcin

    Las ondas se debilitan o atenan cuando atraviesan algn material, la cantidad de

    potencia perdida depende del material y de la frecuencia de la onda. Para

  • 10

    determinar el impacto de determinado material sobre la onda se hace uso del

    coeficiente de absorcin.

    Los dos materiales ms absorbentes para las microondas son el agua y el metal,

    en la prctica se consideran estos dos elementos como absorbentes perfectos, por

    lo tanto los cambios climticos que generen niebla, vapor lluvia inciden de

    manera negativa en el radio enlace.

    Para los rboles y la madera la absorcin depende de la cantidad de agua que

    contengan, para nosotros los humanos y los animales tambin aplica debido a que

    para efectos de la onda de radio, somos bsicamente agua.

    1.3.2 Reflexin

    Dependiendo del ngulo de incidencia de la onda en una superficie determinada se

    puede presentar el fenmeno de Reflexin, el ngulo de incidencia de la onda

    determina el ngulo de reflexin, ambos son iguales respecto al plano de

    incidencia.

    Figura 5. ngulos de incidencia y reflexin

    Debido a este fenmeno se presenta el efecto multitrayectoria (multipath), debido

    a la reflexin de la onda cuando choca con los elementos que se encuentran en su

  • 11

    camino de propagacin, esto causa que las seales lleguen al receptor por medio

    de diferentes caminos con las implicaciones que esto conlleva en el retardo de las

    mismas, este efecto juega un papel muy importante en la planeacin y ejecucin

    de un enlace de radio siendo muchas veces imposible calcular la posible reflexin.

    En el diseo de antenas se hace uso de este fenmeno para focalizar las ondas

    incidentes.

    Figura 6. Fenmeno de reflexin en antenas parablicas

    1.3.3 Interferencia

    Existen dos tipos de interferencia, constructiva y destructiva, para que dos ondas

    interfieran perfectamente en una de estas dos formas deben tener una relacin de

    fase fija e igual frecuencia.

    Figura 7. Interferencia constructiva y destructiva

  • 12

    En la implementacin de redes inalmbricas, la interferencia se asocia a todo tipo

    de alteraciones causadas por otras redes en el entorno u otras fuentes de

    microondas en la misma frecuencia. Siempre que existan ondas que se crucen y

    posean las caractersticas descritas anteriormente se eliminan o se crean nuevas

    ondas de las cuales es imposible leer la informacin que portan.

    Para sobrellevar los problemas causados por la interferencia se hace uso de las

    tcnicas de modulacin y el uso adecuado de los canales.

    1.4 Estndares de Comunicaciones inalmbricas en redes

    WLAN

    En el contexto de las redes LAN [1] el estndar manejado es el IEEE 802.11 [2]

    comnmente llamado wi-fi (wreless fidelity), fue desarrollado por el grupo de

    trabajo 11 del comit de estndares de redes LAN/MAN.

    El termino 802.11 es usado generalmente para denotar el estndar inicial al que

    tambin se le llama 802.11 Legacy.

    La familia 802.11 incluye 6 tcnicas de modulacin que usan el mismo protocolo,

    las tcnicas mas populares son las definidas por las enmiendas a, b y g, siendo el

    802.11b el primer estndar ampliamente aceptado, seguido de 802.11a y luego

    802.11g.

    A continuacin se muestra una tabla comparativa de las caractersticas mas

    destacadas de los estndares mencionados.

  • 13

    Protocolo Lanzamiento Frecuencia

    de operacin

    Rata de

    Transmisin

    (Tpica)

    Rata de

    Transmisin

    (Maxima)

    Alcance en

    interiores

    Legacy 1997 2.4 GHz 1 Mbit/s 2 Mbit/s *

    802.11a 1999 5 GHz 25 Mbit/s 54 Mbit/s ~30 mts

    802.11b 1999 2.4 GHz 6.5 Mbit/s 11 Mbit/s ~30 mts

    802.11g 2003 2.4 GHz 25 Mbit/s 54 Mbit/s ~30 mts

    * No hay un dato estimado.

    Tabla 1. Caractersticas de la familia de estndares inalmbricos 802.11 (Wi-Fi)

    En Enero del 2004 se decidi formar un nuevo grupo de trabajo para desarrollar

    una nueva enmienda de 802.11 cuyo nombre es 802.11n, la rata de transmisin

    que se busca obtener esta estimada en 540 Mbit/s, la cual es 10 veces ms que la

    obtenida por los estndares 802.11a y 802.11b.

    Para alcanzar esta rata de transferencia se har uso de la tecnologa MIMO

    (multiple-input multiple-output), la cual permite el uso de mltiples antenas de

    recepcin y transmisin con lo que se puede implementar mtodos de diversidad

    espacial que permitan un incremento en el rango de rata de transferencia.

    El objetivo es tener listo el estndar para el ao 2008.

    Protocolo Lanzamiento Frecuencia

    de

    operacin

    Rata de

    Transmisin

    (Tpica)

    Rata de

    Transmisin

    (Maxima)

    Alcance en

    interiors

    802.11n Abril 2008 2.4 5 GHz 200 Mbit/s 540 Mbit/s ~50 mts

    Tabla 2. Caractersticas del estndar inalmbrico 802.11n

    1.5 Esquemas de modulacin usados en 802.11 a/b/g

  • 14

    1.5.1 DSSS Espectro Ensanchado por Secuencia Directa

    En esta tcnica de modulacin se genera un patrn de bits redundante (seal de

    chip) para cada uno de los bits que componen la seal. Cuanto mayor sea esta

    seal, mayor ser la resistencia de la seal a las interferencias. El estndar IEEE

    802.11 recomienda un tamao de 11 bits, pero el optimo es de 100. En recepcin

    es necesario realizar el proceso inverso para obtener la informacin original.

    La secuencia de bits utilizada para modular los bits se conoce como codigo de

    dispersin o pseudo ruido. Es una secuencia rpida diseada para que aparezca

    aproximadamente la misma cantidad de 1 que de 0. Un ejemplo de esta secuencia

    en codificacin Manchester es el siguiente. +1-1+1+1-1+1+1+1-1-1-1-1 Solo los

    receptores a los que el emisor haya enviado previamente la secuencia podrn

    recomponer la seal original. Adems, al sustituir cada bit de datos a transmitir,

    por una secuencia de 11 bits equivalente, aunque parte de la seal de transmisin

    se vea afectada por interferencias, el receptor an puede reconstruir fcilmente la

    informacin a partir de la seal recibida.

    Una vez aplicada la seal de chip, el estndar IEEE 802.11 ha definido dos tipos de

    modulacin para la tcnica de espectro ensanchado por secuencia directa (DSSS),

    la modulacin DBPSK (Differential Binary Phase Shift Keying) y la modulacin

    DQPSK (Differential Quadrature Phase Shift Keying), que proporcionan una

    velocidad de transferencia de 1 y 2 Mbps respectivamente.

    La revisin IEEE 802.11b aumenta esta velocidad hasta los 11Mbps, lo que

    increment notablemente el rendimiento de este tipo de redes.

  • 15

    1.5.2 FHSS Espectro Ensanchado por Salto de Frecuencia

    La tecnologa de espectro ensanchado por salto en frecuencia (FHSS) consiste en

    transmitir una parte de la informacin en una determinada frecuencia durante un

    intervalo de tiempo llamada dwell time e inferior a 400 ms. Pasado este tiempo se

    cambia la frecuencia de emisin y se sigue transmitiendo a otra frecuencia. De

    esta manera cada tramo de informacin se va transmitiendo en una frecuencia

    distinta durante un intervalo muy corto de tiempo.

    El orden en los saltos en frecuencia se determina segn una secuencia pseudo

    aleatoria almacenada en unas tablas, y que tanto el emisor y el receptor deben

    conocer. Si se mantiene la sincronizacin en los saltos de frecuencias se consigue

    que, aunque en le tiempo se cambie de canal fsico, a nivel lgico se mantiene un

    solo canal por el que se realiza la comunicacin.

    Esta tcnica tambin utiliza la zona de los 2.4GHz, la cual organiza en 79 canales

    con un ancho de banda de 1MHz cada uno. El nmero de saltos por segundo es

    regulado por cada pas, as, por ejemplo, Estados Unidos fija una tasa mnima de

    saltas de 2.5 por segundo.

    El estndar IEEE 802.11 define la modulacin aplicable en este caso. Se utiliza la

    modulacin en frecuencia FSK (Frequency Shift Keying).

    1.6 Efectos de la movilidad en el desempeo de un servicio de

    streaming

    El desempeo de un servicio de streaming se puede ver notablemente afectado en

    presencia de un cliente mvil en la red, esto es debido a la inconsistencia en la

  • 16

    calidad del canal, intermitencia en la conexin, bloqueos de la seal en el ambiente

    que introducen ruidos y ecos, y otros tipos de efectos generados por los

    fenmenos que lleva implcita una transmisin por medio de ondas de radio, como

    la reflexin, la difraccin, la absorcin y la interferencia, todos estos efectos

    generan menor estabilidad en la conexin, disminucin en el ancho de banda

    efectivo y tasas de error mas altas.

    Por lo general, los servicios de streaming se implementan sobre el protocolo UDP,

    en el que no se hace retransmisiones debidas a las perdidas de paquetes, por lo

    que la disminucin en el rendimiento debido a retransmisiones no se presenta,

    sta situacin se presenta cuando se usa el protocolo TCP donde la latencia se

    hace notable.

    Es claro entonces que los servicios de streaming sobre dispositivos mviles

    enfrentan retos como la necesidad de mantener la calidad del servicio y mantener

    una operacin adecuada en ambientes heterogneos. Esto ultimo se visualiza de

    manera mas explicita cuando un dispositivo mvil sale del alcance de una celda de

    radiacin perteneciente a un Access Point e ingresa a otra, el la terminologa de las

    comunicaciones celulares esto se denomina handoff handover, esto sucede

    cuando el dispositivo mvil detecta un nivel de seal mas fuerte de una de dos

    estaciones base Access point y empieza a recibir el flujo de datos proveniente de

    esta.

    Figura 8. Transicin entre Celdas

  • 17

  • 18

    2. CONCEPTOS DE VIDEO DIGITAL

    2.1 Captura de video

    El video se captura usando una cmara o sistema de cmaras. La mayora de los

    sistemas digitales actuales utilizan video en 2-D, por lo cual utilizan solo una

    cmara. La cmara enfoca una proyeccin 2-D de la escena de video sobre un

    sensor, como por ejemplo un dispositivo de acoplamiento de carga (CCD por sus

    siglas en ingles). En el caso de captura de imagen a color, cada componente de

    color es filtrado y proyectado en un CCD independiente.

    En la generacin de una representacin digital de una escena de video pueden

    considerarse dos etapas:

    Adquisicin: convertir una proyeccin de la escena en una seal elctrica

    por medio de un CCD por ejemplo.

    Digitalizacin: Muestrear la proyeccin espacial y temporalmente

    convirtiendo cada muestra en un nmero o conjunto de nmeros.

    La digitalizacin puede llevarse a cabo utilizando una tarjeta o dispositivo

    independiente, sin embargo ya muchas cmaras tienen integrada la etapa de

    digitalizacin, por lo cual proporcionan una salida digital.

    Figura 9. Proceso de captura de video

    Captura PresentacinProcesamiento/

    Almacenamiento/Transmisin

    Captura PresentacinProcesamiento/

    Almacenamiento/Transmisin

  • 19

    2.2 Formatos de video

    Una seal de video tiene una amplia variedad de parmetros resolucin,

    entrelazado vs. Progresivo, rata de frames, etc. Debido a la gran diversidad de

    aplicaciones que utilizan video digital, se han desarrollado una serie de formatos

    de video con los cuales se estandarizan los parmetros de una seal de video para

    una aplicacin especfica. La tabla 1 lista los principales formatos de video digital

    con sus respetivas resoluciones.

    Formatos Video Digital Resolucin Relacin ancho/alto

    Formatos de Grficos de computador

    VGA 640x480 4:3 Sper VGA (SVGA) 800x600 4:3 WUXGA 1920x1200 16:10 QXGA 2048x1536 4:3 WQXGA 2560x1600 16:10 QSXGA 2560x2048 5:4 QUXGA 3200x2400 4:3 WQUXGA 3840x2400 8:5 HSXGA 5120x4096 5:4 WHSXGA 6400x4096 15.6:10 HUXGA 6400x4800 4:3 UHDTV 7680x4320 16:9 WHUXGA 7680x4800 8:5 Formatos de Video Conferencia QCIF 176x144 4:3 QSIF 166x120 4:3 SIF 320x240 4:3 CIF 352288 4:3 4SIF 704x480 640x480 4:3 4CIF 704x576 4:3 16CIF 1408 x 1152 4:3 Formatos de Televisin Digital 480i 640x480 interlaced 4:3

  • 20

    480p 640x480 progressive 4:3 EDTV NTSC 704x480 480p/60 4:3 DV NTSC 720x480 4:3 EDTV PAL 704x576 576p/50 4:3 D1/DV PAL 720x576 4:3 720p 1280x720 16:9 1080i 1920x1080 16:9 Formatos de Almacenamiento D-1 460 D-2 450 D-3 450 D-5 N/A Digital Betacam 500 16:9 DVC 500 DVCPRO 500 DVCAM 500 Digital S 500 Betacam SX 500 LaserDisk 560x360 4:3

    Tabla 3. Formatos de video digital

    Los estndares de compresin pueden comprimir una amplia variedad de formatos

    de frame. En la prctica, es comn capturar o convertir a un conjunto de formatos

    intermedios antes de comprimir o transmitir una seal de video. El formato CIF

    (Common Intermediate Format) es la base de un popular conjunto de formatos

    usados en video conferencia. La eleccin de la resolucin del frame y la rata de

    frames depende principalmente de la aplicacin y de la capacidad disponible de

    almacenamiento o transmisin con que cuenta el codificador y decodificador.

    2.3 Codificacin de video

    La compresin de video o codificacin de video es el proceso de compactar una

    secuencia de video digital en un nmero menor de bits. El video digital sin

  • 21

    comprimir ocupa una enorme cantidad de memoria y la compresin se hace

    necesaria para hacer posible su almacenamiento y transmisin.

    La compresin involucra dos sistemas complementarios. Por un lado esta el

    compresor o codificador (encoder), el cual convierte los datos originales a una

    forma comprimida que puede almacenarse o transmitirse. Del otro lado esta el

    decodificador (decoder) que se encarga de convertir la forma comprimida de los

    datos a su representacin original. Este par de sistemas se conocen normalmente

    como CODEC.

    La compresin de datos se alcanza removiendo redundancias o componentes que

    no son necesarios para la reproduccin de los datos. Muchos tipos de datos

    contienen redundancia estadstica y se pueden comprimir en forma efectiva

    utilizando compresin sin perdidas, lo que implica que los datos de salida del

    decodificador son una copia perfecta de los originales. Desafortunadamente, la

    compresin sin perdidas de un video o imagen solo alcanza niveles de compresin

    moderados (3 a 4 veces el tamao original).

    La compresin con perdidas es necesaria para alcanzar un porcentaje de

    compresin superior. No obstante, en una compresin con perdidas, los datos que

    salen del decodificador no son iguales a los datos originales. Se puede alcanzar

    mayor compresin pero a expensas de una perdida de calidad de la imagen. La

    compresin con perdidas esta basada en el principio de eliminar redundancia

    subjetiva, es decir elementos de la imagen o secuencia de video que pueden ser

    removidos sin afectar significativamente la percepcin de calidad del observador.

    La mayora de mtodos de codificacin de video explotan la redundancia temporal

    y la redundancia espacial para alcanzar una mayor compresin. La redundancia

    temporal consiste en la alta similitud entre frames capturados en forma

    consecutiva, mientras que la redundancia espacial consiste en una alta correlacin

    entre los pxeles ms cercanos entre si.

  • 22

    Un CODEC de video codifica una secuencia de video en una forma comprimida y la

    decodifica para producir una copia o aproximacin de la secuencia original. El

    CODEC representa la secuencia de video original con un modelo. Idealmente,

    dicho modelo debera representar la secuencia usando la menor cantidad de bits

    posible y al mismo tiempo mantener la mayor fidelidad. Estos dos objetivos entran

    en conflicto puesto que una rata de compresin mayor, produce una imagen de

    menor calidad en la secuencia reconstruida en el decodificador.

    Un codificador de video esta compuesto principalmente de tres bloques

    funcionales: un modelo temporal, un modelo espacial y un codificador de entropa.

    La entrada del modelo temporal es una secuencia de video sin comprimir. El

    modelo temporal intenta reducir la redundancia temporal explotando la similitud

    entre frames de video consecutivos, usualmente construyendo una prediccin del

    frame de video actual, a partir de uno o ms frames pasados o futuros (prediccin

    por compensacin de movimiento). La salida del modelo temporal es un frame

    residual (resta del frame actual y su prediccin), y un conjunto de parmetros del

    modelo (conjunto de vectores de movimiento que describen la manera como se

    compenso el movimiento).

    El frame residual constituye la entrada del modelo espacial, dicho modelo

    aprovecha la similitud entre muestras vecinas para reducir la redundancia espacial.

    Esto se logra, aplicado una transformada al frame residual que transforma las

    muestras altamente correlacionadas del dominio espacial a un dominio diferente

    en el que los coeficientes no estn correlacionados. Los coeficientes de la

    transformada son cuantizados para remover valores insignificantes, dejando una

    pequea cantidad de coeficientes que proporcionan una representacin mas

    compacta del frame residual. El conjunto de coeficientes cuantizados conforman la

    salida del modelo espacial.

  • 23

    Los parmetros del modelo temporal y el modelo espacial son comprimidos por el

    codificador de entropa. Este remueve la redundancia estadstica en los datos y

    produce un flujo de bits o archivo que podra ser transmitido o almacenado. Una

    secuencia comprimida esta compuesta por: vectores de movimiento comprimidos,

    coeficientes residuales comprimidos e informacin de cabecera.

    El decodificador de video reconstruye un frame de video a partir de la secuencia

    comprimida. Los coeficientes y vectores de movimiento son decodificados por un

    decodificador de entropa, despus del cual el modelo espacial es decodificado

    para reconstruir la versin residual del frame. El decodificador usa los vectores de

    movimiento junto con uno o mas frames decodificados, para crear una prediccin

    del frame actual, y el frame en si mismo es reconstruido sumando el frame

    residual con dicha prediccin.

    En la mayora de estndares de codificacin de video, los bloques de una imagen o

    sus respectivos residuos son comprimidos usando una transformada basada en

    bloques seguida por una etapa de cuantizacin y una etapa de codificacin de

    entropa. La posibilidad de mejorar el desempeo de compresin en las ltimas

    etapas de la codificacin es bastante limitada (DCT, cuantizacin y codificacin de

    entropa), dado que la operacin de la DCT y el libro de cdigo para la codificacin

    de entropa estn especificados por los ms importantes estndares de codificacin

    de video. Sin embargo, hay una importante posibilidad de mejorar el desempeo

    en la primera etapa del CODEC de video (compensacin y estimacin de

    movimiento). Una estimacin de movimiento eficiente reduce la energa en el

    frame residual compensado en movimiento y puede mejorar sustancialmente el

    desempeo de la compresin. La estimacin de movimiento puede ser bastante

    exigente computacionalmente, y por esta razn mejorar el desempeo en

    compresin siempre implica un incremento en la complejidad computacional.

  • 24

    2.4 Estndares de codificacin de video

    El creciente inters de incorporar video dentro de los servicios de

    telecomunicaciones, ambientes corporativos, la industria del entretenimiento, y el

    hogar, ha hecho de la tecnologa de video digital una necesidad. El problema

    asociado a las imgenes y el video digital es la gran cantidad de recursos en

    almacenamiento y ancho de banda que este tipo de informacin consume. Para

    contrarrestar esta situacin han sido desarrollados varios estndares de

    compresin de video, los cuales eliminan la redundancia espacial y temporal,

    permitiendo que la informacin de video sea transmitida y almacenada de una

    manera ms compacta y eficiente.

    En los ltimos aos la transmisin de datos se ha volcado hacia el mundo digital ya

    que supone una serie de ventajas frente a la transmisin analgica. Al verse la

    informacin reducida a un flujo de bits, se consigue una mayor proteccin contra

    posibles fallos ya que se pueden introducir mecanismos de deteccin de errores, se

    elimina el problema de las interferencias, podemos disminuir el efecto del ruido en

    los canales de comunicacin, conseguir codificaciones ms ptimas y encriptado,

    mezclar con otros tipos de informacin a travs de un mismo canal, y poder

    manipular los datos con ordenadores para comprimirlos, por ejemplo.

    A travs de los aos dos organismos de estandarizacin han venido desarrollando

    en paralelo estndares y algoritmos de compresin de video:

    La ITU (International Telecommunication Union) a travs de los estndares

    H, los cuales tratan sobre sistemas multimedia y audiovisuales, entre los

    cuales destacamos H.261, H.263 y H.264 relacionados con codificacin de

    video.

  • 25

    La ISO/IEC (International Organization for Standarization / International

    Electrotechnical Commission) por otro lado ha desarrollado los estndares

    conocidos como MPEG puesto que fueron desarrollados por el comit

    MPEG (Motion Picture Expert Group), entre estos se destacan MPEG1,

    MPEG2 y MPEG4.

    2.4.1 Estndares desarrollados por la ITU

    H.261

    H.261 Fue el primer estndar de compresin y descompresin de video publicado

    por la ITU en 1990. Fue diseado para una rata de bits mltiplo de 64 Kbit/s. Lo

    cual coincide con las tasas de datos ofrecidas por los servicios ISDN [1]. Se

    pueden usar entre 1 y 30 canales ISDN para la transmisin del video, lo que

    implica ratas de bits en el rango de los 64 Kbit/s a los 1920 Kbit/s.

    H.261 fue desarrollado en una poca en la que el desempeo de hardware y

    software era limitado y por consiguiente tiene la ventaja de baja complejidad. Sin

    embargo, sus desventajas incluyen bajo desempeo de compresin (con pobre

    calidad de video a una rata de bits por debajo de 100kbits/s) y ausencia de

    flexibilidad.

    Aplicaciones que motivaron el diseo de este tipo de estndar son:

    videoconferencia, vigilancia y monitoreo, telemedicina, y otros servicios

    audiovisuales. H.261 es ahora el requerimiento mnimo en todos estndares de

    compresin de video. Fue reemplazado por el estndar H.263

    H.263

    En un intento por mejorar la compresin alcanzada con H.261, el grupo de trabajo

    de la ITU-T denominado VCEG (Video Coding Experts Group) desarroll el H.263.

    ste estndar soporta nuevos mtodos de codificacin bsicos al igual que cuatro

  • 26

    modos de operacin opcionales, los cuales proporcionan mejor calidad de imagen

    a bajas ratas de bits con un pequeo incremento en la complejidad. Gracias

    principalmente a su calidad de imagen superior, H.263 se convirti en el estndar

    de codificacin de video predominante en las comunicaciones, y ha sido adoptado

    en diversos estndares de transporte sobre redes tales como: ITU-T H.324 (PSTN),

    H.320 (ISDN), H.310 (BISDN), H.323, y 3 GPP. La primera versin fue aprobada en

    1995.

    Despus de la adopcin de la primera versin, se propusieron nuevas mejoras, las

    cuales trajeron con sigo una segunda versin del estndar conocida como H.263+.

    Esta segunda versin proporciona 12 modos de operacin negociables y

    caractersticas adicionales que mejoran la calidad de video e incrementan la

    robustez y funcionalidad de sistemas de video especficos. La aprobacin de la

    versin 2 fue realizado en 1998. La versin 3 de H.263 (H.263++) se introdujo

    para agregar caractersticas tales como: eficiencia de codificacin mejorada para

    aplicaciones de poco retraso, resiliencia al error mejorada para comunicaciones de

    video inalmbricas, y soporte para fuentes de video entrelazado. La versin 3 del

    estndar se complet en 2001. Esta ltima versin de H.263 se convirti en un

    estndar no muy manejable, debido al gran nmero de opciones y la necesidad de

    seguir soportando las funciones bsicas del CODEC.

    Entre las mejoras introducidas por H.263 se destacan:

    Ofrece mejor calidad de video a una rata de bits ms baja (por debajo de

    30kbit/s).

    Utiliza vectores de movimiento de medio pxel lo que implica una mejora en

    la eficiencia de la compensacin de movimiento.

  • 27

    Soporte para ms formatos de video como: CIF, QCIF, SQCIF, 4CIF y 16CIF.

    El soporte de formatos 4CIF y 16CIF le permite competir con estndares de

    ratas de bits altas como los estndares MPEG.

    Modos opcionales de codificacin permitindole al diseador mayor

    flexibilidad para tratar con requerimientos en diferentes aplicaciones y

    escenarios de transmisin.

    Puede operar sobre una amplia variedad de redes.

    La base del modelo de codificacin de H.263 fue adoptada para crear el ncleo del

    Perfil Simple del MPEG-4 visual.

    H.264

    La compresin de video alcanzada con H.264 permite a los usuarios de video

    conferencias, una calidad de video mejorada a la misma rata de bits, o la misma

    calidad pero a una rata aproximadamente la mitad de la rata requerida

    anteriormente. Por ejemplo, para un video de alta calidad codificado en H.263 los

    usuarios estn acostumbrados a una rata de 768 Kbit/s, que es equivalente usando

    H.264 a una rata de 384 Kbit/s. Esto se traduce en una mayor eficiencia en el uso

    de la infraestructura de comunicaciones existente.

    Similar a otros estndares de codificacin de video, H.264 define unos perfiles

    especificando la sintaxis y unos niveles que especifican parmetros tales como

    resolucin, rata de frames, rata de bits, etc. Hasta el momento se ha definido tres

    perfiles:

    Perfil Referencia (Baseline Profile), diseado para video progresivo en

    aplicaciones tales como: video conferencia, video sobre IP y aplicaciones

    mviles.

  • 28

    Perfil Principal (Main Profile), diseado para un amplio rango de aplicaciones

    de Broadcast.

    Perfil Extendido (Extended Profile), diseado para aplicaciones mviles y de

    streaming sobre Internet.

    2.4.2 Estndares desarrollados por la ISO/IEC

    El MPEG (Moving Picture Experts Group) define la sintaxis de las seales digitales

    que corresponden al audio y video, regula el funcionamiento de decodificadores

    estndar; sin embargo no define los algoritmos de codificacin, lo cual permite una

    mejora continuada de los codificadores y su adaptacin a las aplicaciones

    especficas dentro de la norma. Adems de la codificacin de audio y vdeo, el

    MPEG tambin define sistemas para multiplexar la informacin de audio y vdeo en

    una nica seal digital, describe los mtodos para verificar que las seales y los

    decodificadores se ajusten a la norma, y publica informes tcnicos con ejemplos de

    funcionamiento de codificadores y decodificadores.

    Los estndares MPEG fueron desarrollados para ser independientes de la red

    especfica, lo que proporciona un punto de interoperabilidad en entornos de red

    heterogneos.

    El MPEG trabaja por fases. Las fases se identifican con nmeros (MPEG-1, MPEG-2,

    MPEG-4, MPEG-7, MPEG-21). Estas fases no describen diversas versiones de una

    nica norma, sino que son normas completamente distintas que se encargan de

    aspectos diferentes de la comunicacin multimedia. As, las ltimas fases NO

    reemplazan a las anteriores sino que las complementan.

    MPEG-1

    El primer estndar que el MPEG introdujo fue MPEG-1, fue desarrollado para

    almacenamiento y distribucin de audio y video digital. MPEG-1 es la base para los

  • 29

    primeros video-CDs, adems de ser un estndar popular para videos en Internet,

    transmitidos como archivos de extensin .mpg.

    MPEG-1 usa una baja rata de bits, similar a la resultante de una cinta de vdeo

    VHS. Soporta video progresivo con ratas de bits de 1.5 Mbps.

    El estndar define implcitamente el bitstream y los algoritmos de descompresin.

    Los algoritmos de compresin se dejan a los fabricantes, permitiendo obtener una

    ventaja propietaria con el alcance de un estndar internacional.

    MPEG 1 consiste de seis partes:

    Systems ISO/IEC 11172-1 Video ISO/IEC 11172-2 Audio ISO/IEC 11172-3 low bit rate audio ISO/IEC 13818-3 conformance testing ISO/IEC 11172-4 simulation software ISO/IEC 11172-5

    Tabla 4. Partes MPEG-1

    La capa III de MPEG1-audio es el estndar ms popular para la compresin de

    audio y es popularmente conocido como MP3.

    MPEG-2

    MPEG-2 extiende las capacidades de MPEG-1 para cubrir un amplio rango de

    aplicaciones. Las aplicaciones primarias objetivo durante el proceso de definicin

    estaban enfocadas principalmente a transmisin Broadcasting de video digital de

    alta calidad con ratas de bits de 4 a 9Mbps. Sin embargo, MPEG-2 es til para

    muchas otras aplicaciones, entre ellas HDTV y almacenamiento en DVD, y ahora

    soporta ratas de bits que van desde los 1.5Mbps hasta los 60 Mbps.

    MPEG-2 extiende las tcnicas de compresin de MPEG-1, para cubrir imgenes

    mas grandes y de ms alta calidad, a expensas de una tasa de comprensin mas

    baja y por lo tanto un uso de ancho de banda ms alto, adems permite que

  • 30

    muchos canales de diferentes ratas de bits se multiplexen dentro de un mismo

    flujo de datos. Adems MPEG-2 termin convirtindose en el estndar de facto en

    el mundo de la televisin digital ya que arregla muchos de los problemas

    inherentes a MPEG-1, tales como la resolucin y escalabilidad.

    Al igual que MPEG-1, la norma no define explcitamente el mtodo de codificacin,

    sino nicamente la sintaxis que controla el bitstream a la salida del codificador, lo

    cual deja gran libertad a los diseadores.

    MPEG-2 consta de 11 partes:

    Systems ISO/IEC 138181 Video ISO/IEC 138182 Audio ISO/IEC 138183 conformance testing ISO/IEC 138184 software simulation ISO/IEC 138185 DSM-CC extensions ISO/IEC 138186 advanced audio coding ISO/IEC 138187 RTI extension ISO/IEC 138189 DSM-CC conformance ISO/IEC 1381810 IPMP ISO/IEC 1381811

    Tabla 5. Partes de MPEG-2

    MPEG-4

    Los estndares de compresin de video MPEG1 y MPEG2, aunque perfectamente

    adecuados para las aplicaciones para los que fueron diseados, no eran los

    suficientemente flexibles para atender los requerimientos de las aplicaciones

    multimedia. Por esta razn el MPEG decidi desarrollar el estndar MPEG-4, el cual

    proporciona una plataforma comn a un amplio rango de aplicaciones multimedia.

    Entre las aplicaciones de MPEG-4 podemos contar la TV Digital, Multimedia Mvil,

    Produccin de TV, Juegos, Streaming de Video, etc.

    Para los autores, MPEG-4 da la posibilidad de crear contenido re-usable y flexible,

    con mejores capacidades de proteccin. Para los usuarios, MPEG-4 puede ofrecer

  • 31

    ms interactividad y, debido a las bajas ratas de bits, la posibilidad de disfrutar su

    contenido sobre nuevas redes y productos mviles.

    Las caractersticas ms importantes que cubren el estndar MPEG-4 pueden

    agruparse en 3 categoras:

    Eficiencia en Compresin: la eficiencia en compresin ha sido el principio

    nmero 1 para MPEG-1 y MPEG-2, dicha eficiencia ha hecho posible

    aplicaciones como la Televisin Digital y el DVD. Con un incremento en la

    eficiencia de codificacin y con la posibilidad de codificar mltiples data

    streams simultneamente, MPEG-4 supera sus predecesores y se convierte

    en una alternativa excepcional para nuevas aplicaciones.

    Interactividad Basada en Contenido: MPEG-4 posibilita aplicaciones basadas

    en contenido permitiendo la codificacin y representacin de objetos

    multimedia (audio, video o imgenes fijas, etc.) en lugar de los tradicionales

    frames. Un objeto multimedia puede ser natural o sinttico y puede

    representarse en forma independiente de sus alrededores o fondo. El

    estndar tambin describe como organizar mltiples objetos para crear una

    escena. En lugar de enviar los bits de cada cuadro, los objetos multimedia

    se envan en forma independiente, y el receptor realiza la composicin de la

    escena. Esta es una de las ms importantes novedades ofrecidas por MPEG-

    4.

    Acceso Universal: La robustez en ambientes ruidosos le permite a MPEG-4

    codificar contenido que puede ser accedido desde una amplia variedad de

    medios, tales como redes mviles, redes inalmbricas y redes cableadas.

    Adems la escalabilidad temporal y espacial hacen posible administrar los

    recursos de ancho de banda, la capacidad computacional y el consumo de

    potencia.

  • 32

    Es importante anotar que no es necesario que todas las caractersticas que

    conforman el estndar MPEG-4 tengan que estar disponibles en todas las

    implementaciones, al punto que es posible que no existan implementaciones

    completas del estndar. Para manejar esta diversidad, el estndar incluye los

    conceptos de perfil y nivel, lo que permite definir conjuntos especficos de

    capacidades que pueden ser implementados para cumplir con objetivos

    particulares.

    Actualmente MPEG-4 consiste de 19 partes:

    systems ISO/IEC 144961 visual ISO/IEC 144962 audio ISO/IEC 144963 conformance testing ISO/IEC 144964 reference software ISO/IEC 144965 DMIF ISO/IEC 144966 reference software ISO/IEC 144967 carriage over IP networks ISO/IEC 144968 reference hardware ISO/IEC 144969 advanced video ISO/IEC 1449610 (H.264) scene description ISO/IEC 1449611 ISO file format ISO/IEC 1449612 IPMP extensions ISO/IEC 1449613 MP4 file format ISO/IEC 1449614 H.264 file format ISO/IEC 1449615 animation extension ISO/IEC 1449616 streaming text format ISO/IEC 1449617 font compression ISO/IEC 1449618 synthesize texture stream ISO/IEC 1449619

    Tabla 6. Partes de MPEG-4.

  • 33

    3. CONCEPTOS DE STREAMING

    3.1 Introduccin

    Se entiende por streaming la capacidad de distribucin de contenido multimedia,

    con la caracterstica de poder visualizar estos contenidos en el cliente mientras la

    informacin est siendo trasmitida por la red, no es necesario descargar

    completamente el contenido multimedia para comenzar su visualizacin, esta se va

    almacenando en un buffer y se va ejecutando al mismo tiempo que se desarrolla la

    transmisin.

    En general, los sistemas de difusin de medios han trabajado con seales

    anlogas, las cuales de alguna forma implican la degradacin del contenido a

    medida que se realizan copias o cada vez que se repiten [1]. Es aqu donde la

    invencin de la computadora ha permitido la manipulacin y conversin de las

    seales de manera digital permitiendo el desarrollo de diferentes formatos de

    contenido multimedia que son compatibles con las nuevas redes de

    comunicaciones como Internet, esto abre las puertas a una cantidad sin limite de

    posibles aplicaciones que aprovechen esta infraestructura a nivel mundial, de esta

    forma es posible tener acceso a servicios como videoconferencia, video bajo

    demanda transmisin de eventos en vivo.

    La distribucin de contenido multimedia sobre Internet utilizando tcnicas de

    streaming, implica el uso de los protocolos propios de la pila TCP/IP y teniendo en

    cuenta la naturaleza del contenido es necesario definir los mas adecuados para su

  • 34

    distribucin, el conocimiento de los recursos necesarios de la red, el tipo de

    distribucin (Unicast Multicast) y los formatos de codificacin de video a utilizar.

    3.2 Distribucin de video

    3.2.1 Bajo demanda

    La tecnologa de Streaming multimedia permite la visualizacin del contenido en el

    momento que uno desee. Cuando el video esta disponible para la transmisin, este

    es almacenado en un servidor de Streaming, en este momento el servidor esta en

    la capacidad de manejar conexiones individuales provenientes de maquinas cliente

    que hagan la peticin de visualizacin 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 conexin, en este punto el usuario tiene la posibilidad de

    controlar el flujo debido a que en cualquier momento puede detener su ejecucin,

    realizar un retroceso, una pausa, pasar a otra escena, etc.

    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 programacin de emisin establecida, esto tambin trae implicaciones en el

    uso del ancho de banda ya que cada cliente que realice la peticin de visualizacin

    del contenido tiene un flujo independiente desde el servidor por lo que el numero

    posible de clientes conectados en un mismo instante depende directamente del

    ancho de banda disponible en la red.

  • 35

    Figura 10. Modelo de distribucin Bajo demanda

    3.2.2 En vivo

    Streaming en vivo se refiere al flujo de contenido multimedia en tiempo real. En

    este caso es necesario el uso de un software de produccin 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 distribucin bajo demanda es que en este caso el cliente debe

    escuchar el canal por el cual fluye el contenido, en este caso es comn el uso de

    grupos Multicast como destino, siendo el cliente el que demuestra la intencin de

    recibir el flujo.

  • 36

    Figura 11. Modelo de distribucin en vivo

    3.3 Esquemas de distribucin

    3.3.1 Broadcast

    En la terminologa de redes de computadoras, Broadcasting se refiere a la

    transmisin de paquetes de informacin que sern recibidas por cualquier

    dispositivo que pertenezca a la red, el alcance de esta definicin esta limitado a un

    dominio de Broadcast.

    Generalmente un dominio de Broadcast esa limitado por los routers asociados a

    esa red, debido a que estos no envan tramas Broadcast, por esta razn la mayora

    de las redes que soportan Broadcasting estn asociadas a redes de rea local.

  • 37

    Figura 12. Modelo de distribucin Broadcast

    3.3.2 Unicast

    En la terminologa de redes de computadoras, se dice que una transmisin es

    Unicast cuando el destino de los paquetes de informacin es uno solo, esto es todo

    lo contrario a una transmisin Broadcast, esto implica que cada transmisin

    Unicast desde el servidor hacia el cliente requiere un flujo independiente.

    Figura 13. Modelo de distribucin Unicast

  • 38

    3.3.3 Multicast

    Cuando la informacin es distribuida a un grupo determinado de usuarios

    simultneamente, se esta usando el esquema de distribucin Multicast.

    El servidor enva un solo 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 esta dirigido a una direccin de grupo, cada cliente debe

    estar configurado de forma tal que escuche la informacin enviada a tal grupo.

    Para hacer Multicast, sin embargo, todos los Routers en el trayecto entre el

    servidor y el grupo Multicast, deben estar deben estar habilitados para distribucin

    Multicast, debido a esto la distribucin Multicast se realiza en redes privadas,

    intranets y en general en redes de rea local (LAN).

    Figura 14. Modelo de distribucin Multicast

  • 39

    3.4 Protocolos

    El funcionamiento de Internet esta basado en la pila de protocolos TCP/IP [1],

    llamada as debido a que son estos dos protocolos los mas representativos,

    adems de estos dos hay alrededor de 100 protocolos diferentes, entre los cuales

    se destacan HTTP, SMTP, FTP, TCP, UDP, IP, ICMP, etc.

    Cada uno de los anteriores protocolos poseen caractersticas muy bien definidas de

    funcionamiento, haciendo que unos protocolos sean mas adecuados que otros

    para soportar contenido multimedia.

    El hecho que posibilit la implementacin de servicios basados en streaming, fue la

    adopcin del protocolo de Internet UDP (User Datagram Protocol) junto con las

    tcnicas de codificacin y compresin desarrolladas en los ltimos aos. El

    protocolo UDP hace factible el streaming de contenido multimedia permitiendo la

    transmisin de datos de una manera mas eficiente que los dems protocolos

    comnmente utilizados en Internet. Algunos otros protocolos mas recientes como

    el RTSP (Real Time Streaming Protocol) hacen aun mas eficiente este tipo de

    transmisiones.

    Los protocolos UDP y RTSP son ideales para la difusin de contenido multimedia

    debido a que estos dan una mayor prioridad a la transmisin continua del flujo que

    a la incorruptibilidad de la informacin, al contrario de las transmisiones basadas

    en TCP y HTTP. Cuando un paquete UDP se pierde, el servidor mantiene el flujo

    continuo de informacin obteniendo como resultado en el cliente un salto en la

    secuencia de reproduccin en lugar de detenerse la ejecucin hasta obtener el

    paquete faltante, con TCP en cambio se trata de reenviar el paquete antes de

    enviar cualquier otra informacin adicional lo cual causa grandes retardos y

  • 40

    rupturas en la reproduccin del contenido, caractersticas indeseables en la

    transmisin de audio y video.

    Antes de usarse los protocolos UDP y RTSP, la transmisin de datos se hacia

    mediante TCP, este protocolo est diseado para transmisiones confiables,

    tratando en minimizar la perdida de informacin mas que en entregas puntuales.

    Debido a que HTTP est basado en TCP, tampoco es apropiado para transmisiones

    multimedia en las cuales es necesaria la operacin basada en entregas a tiempo.

    Debido a lo anterior, HTTP-streaming es llamado pseudo-streaming, ya que

    tcnicamente es posible hacerlo aunque no pueda soportar el la cantidad de

    transmisin de flujos independientes que se alcanza con UDP y RTSP.

    3.4.1 ProtocoloTCP

    TCP [3] es el Protocolo de Control de Transmisin de Internet, es un protocolo de

    comunicacin fiable y orientado a la conexin [1], esta ubicado en la capa

    intermedia entre el protocolo de Internet (IP) y la aplicacin.

    Las conexiones TCP se componen de tres etapas:

    Establecimiento de la conexin

    Transferencia de datos

    Finalizar la conexin

    Habitualmente, las aplicaciones necesitan que la comunicacin sea fiable y, dado

    que la capa IP aporta un servicio de datagramas no fiable (sin confirmacin), TCP

    aade las funciones necesarias para prestar un servicio libre de errores, en orden,

    sin perdida de paquetes y sin duplicaciones.

    Cuando una aplicacin hace uso del protocolo TCP para transportar sus datos, este

    le asigna un puerto por el cual establecer la transmisin, esto hace posible que

  • 41

    varias aplicaciones puedan estar transfiriendo datos por la red al mismo tiempo,

    cada una de las conexiones estara entonces identificada por la direccin IP de la

    maquina mas el numero del puerto por la cual se realiza la transferencia, a esto se

    le llama socket.

    El protocolo TCP se encarga de asegurar que ningn segmento de la informacin

    se pierda, asignndole un numero de secuencia a cada uno, con este numero de

    secuencia es posible determinar al otro lado de la conexin la perdida de paquetes

    y de esta forma pedir la retransmisin de los mismos, as mismo es posible

    organizar los paquetes entrantes en el orden correspondiente. TCP retorna un

    reconocimiento (ACK) del nmero de bytes recibidos correctamente; la entidad

    origen de los datos inicializa una variable llamada timeout, si el reconocimiento no

    es recibido cuando la variable llega a cero, el paquete es reenviado. TCP tambin

    revisa que la informacin en cada paquete no est daada, esto lo hace por medio

    de una suma de verificacin checksum que se incluye en la cabecera del protocolo,

    con esto se busca que cada paquete aceptado tenga la informacin en buen

    estado, de no ser as, se pide retransmisin del paquete.

    3.4.2 Protocolo UDP

    El Protocolo de Datagramas de Usuario UDP [4], es un protocolo de nivel de

    transporte que proporciona una interfaz entre la capa de red y la capa de

    aplicacin. Permite el envo de datagramas a travs de la red sin que se haya

    establecido antes una conexin, tampoco se requiere de confirmacin ya que no se

    hace retransmisin de paquetes, por lo tanto UDP no garantiza la entrega de los

    mensajes enviados, esto se debe implementar en las capas superiores.

    Este protocolo es muy utilizado cuando se necesita transmitir voz o video.

  • 42

    3.4.3 Protocolo RTP

    Las comunicaciones basadas en RTP (Real Time Protocol) [5] estn orientadas a la

    transmisin de datos con caractersticas de ejecucin en tiempo real, como video

    y audio interactivo, en estos casos es muy comn el uso en conjunto de RTP y

    RTSP.

    El Trfico generado por RTP se transporta en el protocolo UDP, esto es debido a

    que las aplicaciones que usan RTP por lo general son menos sensibles a la perdida

    de paquetes, pero muy sensibles a los retardos, es por eso que se prefiere UDP

    sobre TCP.

    Los servicios que provee RTP incluyen:

    Identificacin del tipo de carga portada

    Numeramiento de secuencia PDU Numbering

    Sincronizacin de Tiempo tiempo de presentacin del contenido portado

    Monitoreo de Entrega

    El protocolo en si mismo no provee mecanismos para asegurar la entrega a

    tiempo, tampoco se garantiza calidad de servicio (QoS), esto se debe establecer

    por medio de otro medio.

    3.4.4 Protocolo RTSP

    El protocolo RTSP (Real Time Streaming Protocol) [6] es usado para transmitir

    contenido multimedia en tiempo real y permite hacer un control directo en el

    cliente de la reproduccin del contenido enviado desde el servidor por medio de

    comandos como PLAY y PAUSE.

    La mayora de los servicios basados en RTSP hacen uso del protocolo RTP para la

    transmisin del contenido, el cual a su vez hace uso del protocolo UDP.

  • 43

    3.4.5 Protocolo SCTP

    El protocolo SCTP (Stream Control Transmision Protocol) [7] es un protocolo de

    Internet, en un nivel equivalente al UDP y TCP, el cual la funcionalidad en la capa

    de transporte a muchas aplicaciones de Internet.

    As como TCP, SCTP provee un servicio de transporte confiable, tambin es un

    mecanismo orientado a sesin, esto quiere decir que mientras la transmisin no

    haya sido completada se mantiene la sesin.

    Algunas de las caractersticas mas importantes de SCTP:

    Es un protocolo Unicast, provee un mecanismo de transmisin confiable,

    detectando cuando un paquete de informacin esta corrupto, duplicado o perdido

    y retransmitindolo en caso de ser necesario, es un protocolo orientado a la

    transmisin de mensajes y no de bytes, como TCP, conservando as la estructura

    original del paquete.

    Provee una funcionalidad multi-streaming, la cual permite que los datos sean

    particionados en mltiples stream, que poseen la propiedad de poder ser

    entregados en secuencias independientes, por lo tanto una perdida de algn

    paquete solo afecta el stream al cual pertenece y no a los otros. En contraste, TCP

    asume un solo stream de datos y asegura que ese stream sea entregado en la

    secuencia de bytes correcta. Esto es deseable cuando se entrega un archivo en los

    cuales una perdida de datos causa un retardo adicional mientras se restablece la

    secuencia original.

  • 44

    Para determinadas aplicaciones como la telefona sobre IP la entrega de datos en

    la secuencia original puede no ser tan necesaria como la fluidez en el trfico de los

    datos.

    3.5 Funcionamiento de un servicio de Streaming

    Un esquema general de un servicio de streaming se compone de tres partes, la

    generacin del contenido, la disposicin y administracin del contenido en un

    servidor y la distribucin del contenido, cada una se apoya en la anterior y ofrece

    los recursos requeridos por la siguiente.

    Una disposicin del esquema anterior seria la siguiente:

    Figura 15. Implementacin de servicio de streaming

  • 45

    La informacin generada por la fuente de contenido multimedia es procesada por

    un software de produccin, en caso de que la fuente proporcione el contenido de

    forma analgica, este debe ser digitalizado antes de la produccin, en esta etapa

    se realiza la edicin y codificacin con el fin de adecuar la seal a las condiciones

    de la red, la capacidad de reproduccin en los clientes, anchos de banda,

    capacidad de almacenamiento en el servidor, etc.

    Un estimativo del tamao que ocupara el recurso multimedia en el servidor se

    hace de la siguiente forma:

    ( )

    =

    bytesMB

    bitsbyte

    kbitbit

    s

    kbitbitsdeRatasDuracinMBTamao576.048.1

    1*

    81

    *1

    1000*..*)(

    Respecto al esquema anterior, es posible tener en un mismo equipo el servidor de

    streaming as como el software de codificacin en tiempo real, en este caso el

    nmero de clientes asociados al servidor no debe ser grande, esto es debido a la

    gran demanda de procesamiento en la que se incurrira, de lo contrario se debe

    tener disponibles dos equipos, uno para cada funcin.

    Despus de tener el contenido multimedia a disposicin para ser transmitido en

    vivo bajo demanda, se entra en la etapa de distribucin, es aqu donde el

    concepto de streaming se hace mas importante ya que es en la reproduccin del

    contenido en donde radica su funcionalidad.

    Desde que el servidor responde con el flujo del contenido a la peticin del cliente,

    se comienza la ejecucin del mismo, esto es, en el cliente se dispone un buffer de

    recepcin del que se lee para comenzar la visualizacin del contenido sin

    necesidad de que la transferencia se haya hecho completamente.

  • 46

    Figura 16. Reproduccin de contenido almacenado en el buffer de recepcin

    Esto es posible gracias al desarrollo de protocolos de tiempo real, como es el caso

    del protocolo RTP, adems de esto, el uso de un buffer para la ejecucin del

    contenido en el mismo instante en que se recibe, tambin le brinda cierta

    caracterstica de robustez en la conexin ya que si el canal se afecta por alguna

    circunstancia la ejecucin del contenido permanece hasta que el buffer este

    totalmente vaco, dando as un margen de error en el tiempo mientras se

    reestablecen las condiciones del canal.

    Esta caracterstica es la que le da la versatilidad a los servicios de streaming

    permitiendo que dispositivos terminales con limitados recursos de memoria, como

    es el caso de la mayora de dispositivos mviles, puedan reproducir contenido

    multimedia sin generar demandas grandes en la capacidad de almacenamiento.

  • 47

    4. SERVIDORES DE STREAMING

    La eleccin de un servidor de streaming debe estar enmarcada por una de serie de

    criterios tcnicos orientados a satisfacer ciertos requerimientos concernientes al

    tipo de audiencia que se quiera satisfacer y al tipo de contenido que se vaya a

    distribuir.

    En nuestro caso estos criterios estarn orientados a un ambiente acadmico y mas

    especficamente a la distribucin de contenido multimedia orientada a dispositivos

    mviles.

    Como se ha mencionado en captulos precedentes un servidor de streaming tiene

    ciertas caractersticas que le permiten distribuir el contenido multimedia de la

    mejor manera.

    En nuestra seleccin de servidores de video streaming a evaluar tuvimos en cuenta

    los siguientes aspectos:

    Soporte Unicast

    Todos los servidores de streaming tienen soporte Unicast, pero lo que diferencia a

    uno de otro es la cantidad de conexiones simultaneas que pueda manejar.

    Soporte Multicast

    El soporte Multicast es quizs uno de los mas importantes aspectos en la

    transmisin de streaming en redes privadas, y mas en redes educativas donde el

  • 48

    nmero de usuarios y la utilizacin de ancho de banda de la red son tan

    prioritarios.

    Codificacin de video MPEG-4

    El estndar MPEG-4 se ha establecido como una de las tcnicas mas convenientes

    en la generaron de streaming.

    Modularidad en la arquitectura

    Se busca un servidor con una arquitectura modular en la cual, sea fcil agregar

    mdulos propios al servidor y brindarle as caractersticas extras.

    Documentacin

    Servidores con una documentacin que permita conocer a cabalidad el

    funcionamiento interno el servidor y la manera como podemos interactuar con

    este.

    Open source

    Servidores con cdigo abierto y una comunidad de desarrolladores amplia seria lo

    ideal.

    Con base a los tems mencionados anteriormente encontramos que los servidores

    que cumplen con la mayora de los requerimientos son:

    VLS Server, Darwin streaming server y Helix Universal Server .

    En este capitulo daremos un bosquejo general de estos tres servidores y

    mostraremos sus principales caractersticas, hacienda hincapi en las criterios

    mencionados anteriormente.

  • 49

    4.1 VLS Descripcin general

    VideoLAN es una solucin completa de software para video streaming, desarrollada

    por estudiantes del Ecole Centrale Paris, bajo el licenciamiento GNU General Public

    License. VideoLAN esta diseado para servir videos MPEG en redes que soporten

    grandes anchos de banda.

    VideoLAN incluye:

    VLS (VideoLAN Server), el cual puede servir archivos MPEG-1, MPEG-2 y MPEG-4,

    DVDs, canales satelitales, televisin digital y videos en vivo sobre una red ya sea

    Unicast o Multicast.

    VLC (initially VideoLAN Client), el cual puede ser usado como servidor para

    archivos MPEG-1, MPEG-2 y MPEG-4 files, DVDs y videos en vivo sobre redes

    Unicast o Multicast; o ser usado como cliente para recibir, decodificar y mostrar

    MPEG streams, en diversos sistemas operativos.

    Figura 17. Estructura general de un servicio implementado con VideoLAN

  • 50

    4.1.1 Componentes VLS

    El Servidor VideoLAN se programa en C++, con un framework completamente

    independiente. Esto significa que VLS no usa las Bibliotecas de Clases estndar

    tales como iostreams o vectors. El framework interno del VLS es completamente

    autosuficiente, y fue diseado para que nada deba ser escrito fuera de el (excepto

    quizs para portar VLS a otros sistemas operativos).

    VLS consta de tres partes principales: Framework (localizado en el src/core), las

    clases comunes (en el src/Server y src/mpeg) y las clases optativas llamadas los

    mdulos (en el src/modules). Los Mdulos realmente son las clases heredadas de

    las clases comunes. Algunas clases que son consideradas como clases comunes en

    cualquier momento pueden convertirse en mdulos en el futuro.

    Figura 18. Mdulos componentes de VLS

  • 51

    4.1.2 Arquitectura General

    La arquitectura general del VLS es mostrada en la siguiente figura:

    Figura 19. Arquitectura VLS

    En la figura podemos identificar 3 partes principales: el hilo de la fuente (Reader y

    MpegConverter), el hilo del cliente (TsStreamer y Output) y la parte de manejo

    (Input, Admin y el Manager).

    El Manager esta encargado de proveer todo lo necesario y de gestionar los

    mdulos, cuando el VLS es inicializado o cuando un nuevo streaming comienza.

    El hilo de la fuente lee los datos a travs del Reader tan rpido como sea posible

    para llenar el SyncFifo.

    Entonces, el hilo del consumidor recibe los paquetes del SyncFifo y los vierte. El

    tiempo de este streaming se maneja por el TsStreamer que les da el mdulo de

    salida. El m_cFifo delTS_IN_ETHER es la longitud del paquete y se usa para

  • 52

    recoger varios Paquetes de TS antes de enviarlos juntos en un paquete UDP (para

    el mdulo de NetOutput).

    Para mejorar la eficacia y evitar demasiadas asignaciones de memoria, una piscina

    de Paquete de TS se asigna de una vez: es el TsProvider. Eso significa que al

    principio de la cadena, un nuevo TsPacket es llamado por el conversor (TsProvider-

    >GetPacket ()), lleno con los bytes del Reader, pasa por el TsStreamer y la salda.

    Despus de que se comienza a enviar, el TsPacket se resetea en el TsProvider

    (TsProvider->ReleasePacket ()).

    Figura 20. Gestin de streaming en el VLS

    4.1.3 Descripcion de Clases Comunes

    C_Vls

    Es la clase principal del Servidor de VideoLAN. Su papel es cargar los mdulos,

    iniciar el Admin y el Manager, y gestionar mensajes entre ellos.

  • 53

    C_Admin

    Es la clase de administracin principal cuyo papel es controlar las distintas

    interfaces de administracin, y analizar y ocuparse de las rdenes enviadas a estas

    interfaces.

    C_Telnet

    sta es la interfaz de administracin de telnet, la nica soportada por el momento.

    C_Manage

    El Manager es una de las clases ms importantes de VLS. Lanza varias entradas y

    canales segn el archivo de configuracin vls.cfg, este contiene una lista de todos

    los programas disponibles y una lista de los programas actualmente transmitidos.

    Es esta clase la que interpreta las rdenes enviadas al Admin, y puede decir a las

    entradas que empiecen, se detengan, se suspendan o reanude el streaming.

    C_Channel