montañola

113
Universitat de Lleida Escola Politècnica Superior Enginyeria Tècnica en Informàtica de Sistemes Treball de final de carrera Gestor de contenidos de vídeo bajo demanda Autor: Alberto Montañola Lacort Director: Fernando Cores Prado Abril 2007

Upload: oumartoure

Post on 16-Dec-2015

10 views

Category:

Documents


1 download

DESCRIPTION

Montañola

TRANSCRIPT

  • Universitat de Lleida

    Escola Politcnica Superior

    Enginyeria Tcnica en Informtica de Sistemes

    Treball de final de carrera

    Gestor de contenidos de vdeo bajo demanda

    Autor: Alberto Montaola Lacort

    Director: Fernando Cores Prado

    Abril 2007

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    ndice1. Introduccin.........................................................................................................................7

    2. Vdeo bajo demanda............................................................................................................9

    2.1 Introduccin al Vdeo bajo demanda (VoD)................................................................9

    2.2 Vdeo digital, formatos, contenedores y cdecs........................................................11

    2.3 Requisitos VoD...........................................................................................................18

    2.4 Arquitectura de los sistemas VoD..............................................................................19

    2.4.1 Introduccin.......................................................................................................19

    2.4.2 Arquitectura bsica de un sistema VoD.............................................................19

    2.4.3 Algunas arquitecturas de los sistemas VoD.......................................................22

    2.5 Protocolos y polticas de servicio..............................................................................23

    2.5.1 Protocolos...........................................................................................................23

    2.5.2 Polticas de servicio...........................................................................................25

    2.6 Servidores VoD..........................................................................................................26

    2.6.1 HTTP Server......................................................................................................26

    2.6.2 Apple QuickTime Streaming Server..................................................................28

    2.6.3 Darwin Streaming Server..................................................................................30

    2.6.4 RealNetworks Helix Server...............................................................................31

    2.6.5 Helix DNA Server..............................................................................................32

    2.6.6 Microsoft Windows Media Server.....................................................................33

    2.6.7 VideoLAN Server..............................................................................................35

    2.6.8 Otros servidores.................................................................................................38

    Pgina 3

  • ndice

    2.6.8.1 Icecast Server.............................................................................................38

    2.6.8.2 Kasenna......................................................................................................38

    2.6.8.3 Concurrent..................................................................................................39

    2.6.8.4 BitBand.......................................................................................................39

    2.6.8.5 C-COR........................................................................................................40

    2.6.8.6 Entone.........................................................................................................40

    2.6.8.7 SeaChange..................................................................................................41

    2.6.8.8 Ms servidores...........................................................................................41

    2.7 Reproductores de vdeo.............................................................................................41

    2.7.1 Quick Time.........................................................................................................42

    2.7.2 Real Player.........................................................................................................42

    2.7.3 Helix Player........................................................................................................42

    2.7.4 Windows Media Player......................................................................................43

    2.7.5 Flash Player........................................................................................................44

    2.7.6 Xine....................................................................................................................44

    2.7.7 Mplayer..............................................................................................................45

    2.7.8 VideoLAN..........................................................................................................46

    2.7.9 Set Top Box........................................................................................................47

    2.7.10 Otros Dispositivos............................................................................................48

    3. Estudio de Gestores / Catlogos........................................................................................49

    3.1 Introduccin y clasificacin.......................................................................................49

    3.2 Servicios de Vdeo.....................................................................................................50

    3.2.1 Google Video.....................................................................................................50

    Pgina 4

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    3.2.2 YouTube.............................................................................................................52

    3.2.3 Metacafe.............................................................................................................54

    3.2.4 iTunes.................................................................................................................55

    3.2.5 Imagenio.............................................................................................................55

    3.2.6 Ms servicios de vdeo.......................................................................................56

    3.3 Proyectos libres..........................................................................................................57

    4. Anlisis de Requisitos........................................................................................................59

    4.1 Visin general de la aplicacin / Portal.....................................................................59

    4.2 Requisitos Funcionales..............................................................................................59

    4.3 Requisitos de gestin de informacin........................................................................61

    4.4 Tecnologas utilizadas................................................................................................61

    4.4.1 Arquitectura bsica de las aplicaciones web.....................................................62

    4.4.2 El navegador, sus lenguajes y tecnologas........................................................62

    4.4.3 El servidor, sus lenguajes y tecnologas............................................................65

    4.4.4 Arquitectura de las aplicaciones web dinmicas...............................................66

    4.5 Requisitos tecnolgicos.............................................................................................67

    4.5.1 Requisitos en el lado del servidor......................................................................67

    4.5.2 Requisitos en el lado del cliente:.......................................................................68

    5. Diseo de la Aplicacin.....................................................................................................71

    5.1 Arquitectura................................................................................................................71

    5.2 Documento, su estructura, elementos y clases..........................................................73

    5.3 Interfaz del catlogo y base de datos.........................................................................76

    5.4 Diseo de tablas y modelo entidad-relacin.............................................................76

    Pgina 5

  • ndice

    5.5 Internacionalizacin...................................................................................................80

    5.6 Seguridad y autenticacin..........................................................................................81

    5.6.1 Autenticacin......................................................................................................81

    5.6.2 Notas de seguridad en aplicaciones web...........................................................83

    5.7 Subida de ficheros......................................................................................................85

    5.8 Interfaz con el Servidor VoD.....................................................................................87

    5.9 Jerarqua y documentacin de clases.........................................................................89

    6. Anlisis de la Interfaz Usuario..........................................................................................91

    6.1 Introduccin...............................................................................................................91

    6.2 Caractersticas comunes.............................................................................................91

    6.3 Pgina principal.........................................................................................................92

    6.4 Entrada.......................................................................................................................93

    6.5 Catlogo.....................................................................................................................94

    6.6 Gestin de categoras.................................................................................................95

    6.7 Gestin y subida de contenidos.................................................................................96

    6.8 Reproductor................................................................................................................96

    7. Conclusiones y lneas abiertas...........................................................................................99

    8. Apndice A Listado de contenedores con sus respectivos cdecs...............................103

    9. Apndice B Cdigo fuente y referencia del API..........................................................105

    10. ndice de figuras............................................................................................................107

    11. Referencias.....................................................................................................................109

    12. Licencia..........................................................................................................................113

    Pgina 6

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    1. Introduccin

    En esta memoria discutiremos el diseo e implementacin de una aplicacin web din-

    mica que nos facilita la administracin, gestin y configuracin de contenidos de un servi-

    dor de vdeo bajo demanda.

    Empezaremos introduciendo unos conceptos bsicos, necesarios para comprender y

    entender los sistemas de vdeo bajo demanda. Estudiaremos la arquitectura bsica de los

    sistemas de vdeo bajo demanda, y de forma muy esquemtica se mostraran los mtodos

    para guardar y transmitir el vdeo de forma digital.

    Analizaremos diversas soluciones de vdeo bajo demanda existentes en el mercado,

    tanto restrictivas1 como libres. Entre esta serie de soluciones, tenemos los distintos servi-

    dores de vdeo bajo demanda existentes en el mercado. Describiremos de forma muy breve

    los servidores ms utilizados y/o conocidos, como tambin sus caractersticas principales y

    las herramientas de gestin que utilizan actualmente.

    Otro de los componentes de un sistema de vdeo bajo demanda es la aplicacin cliente

    (el reproductor), donde tambin enumeraremos los principales reproductores, y como estos

    pueden o no integrarse con nuestra aplicacin, sus caractersticas, y que plataformas sopor-

    tan. Idealmente, nos interesar aquella aplicacin cliente que tenga mayor portabilidad, es

    decir que soporte el mayor nmero de plataformas.

    Y la ltima pieza de un sistema de vdeo bajo demanda, es la aplicacin utilizada para

    mostrar el catalogo de vdeos disponibles, y como se integra la aplicacin con el sistema

    global en si. Para eso presentaremos diferentes portales de servicios de vdeo bajo deman-

    da existentes, tanto como servicios de carcter social como comerciales.

    1 Programario restrictivo: Llamamos programario restrictivo, a todo aquel conjunto de programas, aplica-

    ciones, cdigo, documentacin, etc..., que no cumplen las 4 libertades bsicas que debe cumplir todo el

    programario libre. Es el termino completamente opuesto al programario libre. Ver http://www.gnu.org/ho-

    me.es.html para ms informacin.

    Pgina 7

  • 1. Introduccin

    La aplicacin diseada durante la realizacin de este trabajo, esta escrita principalmen-

    te en el lenguaje PHP, y algn pequeo componente en Python debido a limitaciones tec-

    nolgicas actuales de PHP. Es tambin necesaria una base de datos, donde guardamos el

    catlogo de vdeos.

    Los objetivos de la aplicacin son:

    Permitir al usuario poder seleccionar cualquier medio multimedia, lanzar el repro-

    ductor automticamente, y que pueda controlar la reproduccin, mediante los con-

    troles del reproductor. Respectando de esta forma el concepto del vdeo bajo de-

    manda.

    Mostrar de forma sencilla tanto al usuario como al administrador toda la biblioteca

    multimedia disponible, y tenerla organizada mediante categoras.

    Permitir al administrador aadir, modificar y eliminar fcilmente nuevos vdeos a la

    biblioteca, que pasaran ha estar a disposicin del usuario de forma inmediata.

    Disear una interfaz que de comunicacin con el servidor VoD, para aadir y elimi-

    nar nuevos vdeos del repositorio de vdeos, de forma rpida, sencilla y eficaz.

    El resto de la memoria consiste: En el segundo captulo introducimos el concepto de

    Vdeo bajo demanda, estudiamos los requisitos, arquitectura, los formatos, protocolos, po-

    lticas de servicio y otros conceptos bsicos como las propiedades del vdeo digital. Al fi-

    nal del captulo realizamos un anlisis de las principales aplicaciones servidoras de vdeo

    bajo demanda. En el tercer captulo mostraremos las diferentes soluciones, frameworks y

    aplicaciones existentes de gestin de vdeo bajo demanda en el mercado. En el cuarto cap-

    tulo analizaremos los diferentes requisitos tanto funcionales como tecnolgicos de nuestra

    aplicacin. En el quinto captulo realizaremos el seguimiento del diseo de la aplicacin,

    su estructura, interfaz con el servidor etc... En el sexto captulo analizamos la interfaz de

    usuario, con los perfiles de administrador y usuario; y como esta se integra con la aplica-

    cin cliente (reproductor).

    Pgina 8

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    2. Vdeo bajo demanda

    2.1 Introduccin al Vdeo bajo demanda (VoD)

    El vdeo bajo demanda, conocido mediante las siglas VoD, en Ingls Video on

    Demand, se basa en una idea muy sencilla.

    El usuario del servicio, denominado cliente, desde su casa, oficina, trabajo etc, desde

    un ordenador, televisor, o cualquier otro dispositivo multimedia, puede elegir desde una in-

    terfaz, diseada especficamente para esta tarea, una pelcula, un vdeo cualquiera, y em-

    pezar a reproducirlo. Tambin lo puede parar, rebobinar, avanzar etc.

    El vdeo bajo demanda nos ha de permitir realizar las mismas operaciones que pode-

    mos realizar con un reproductor de vdeo convencional (VCR1), donde introducimos el dis-

    co (dispositivo ptico o magntico) que contiene la pelcula. La diferencia se encuentra, en

    que todos los vdeos se encuentran almacenados en un servidor, o clster de servidores re-

    moto perteneciente a nuestro proveedor del servicio.

    A nivel tcnico, como podemos ver en el esquema de la Figura 1, la idea bsica de un

    servidor de vdeo bajo demanda, consiste en una aplicacin que espera, procesa y sirve pe-

    ticiones de uno, o varios clientes.

    1 VCR: (Video Cassette Recorder) Grabador de vdeo, tambin conocido como magnetoscopio.

    Pgina 9

    Figura 1: Esquema sencillo de un servicio VoD

  • 2. Vdeo bajo demanda

    La peticin, contiene un comando donde pide que vdeo desea recibir el cliente. Una

    vez el servidor ha recibido el comando de reproduccin, empieza a transmitir el vdeo. Es-

    tos datos, al llegar a la aplicacin cliente se almacenan en un buffer de recepcin para ab-

    sorber posibles cortes de la reproduccin debidos a la latencia1 y el jitter2. En los casos que

    se vaca el buffer se producen bloqueos (cortes). Otro efecto son las distorsiones3 que se

    producen al perderse algunos fragmentos del flujo de datos que nos enva el servidor.

    Esta tcnica se conoce como el streamming, proveniente del termino Ingls

    stream, flujo. Y esto nos permite poder reproducir el vdeo a la vez que lo vamos reci-

    biendo.

    Tambin es importante que el vdeo este codificado para poder ser transmitido de esta

    forma. Uno de los objetivos de la codificacin es la compresin de la informacin, para re-

    ducir al mnimo tanto el espacio, como el ancho de banda. Algunos cdecs, no permiten

    por ejemplo posicionarnos en un punto determinado del flujo del vdeo ya que necesitan

    todos los bloques anteriores para poder decodificar los que siguen a continuacin, con la

    cual cosa es necesario que los vdeos del servidor estn codificados con un cdec que per-

    mita que el usuario pueda posicionarse directamente en un punto del flujo del vdeo sin ne-

    cesitar conocer los datos que hay entre ambos puntos del flujo.

    El aspecto principal que diferencia el vdeo bajo demanda, de la televisin convencio-

    nal, es el poder seleccionar el contenido que deseamos ver cuando queremos, y tener el

    control absoluto sobre su reproduccin.

    1 Latencia: Tiempo que tarda un paquete en llegar al destino.

    2 Jitter: Variacin de la latencia.

    3 Distorsin: (Del Ingls artifact) Un error en la imagen o en el audio, debido a problemas de hardware,

    software, o simplemente que el hardware no es lo suficiente rpido para decodificar el flujo de vdeo. En

    el vdeo bajo demanda este efecto suele ser causado por prdidas de parte del flujo de vdeo, o por un an-

    cho de banda insuficiente.

    Pgina 10

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    2.2 Vdeo digital, formatos, contenedores y cdecs.

    Un vdeo se puede entender como una serie de imgenes, que al ser mostradas una de-

    trs de otra, dan una sensacin de movimiento. A su vez, una imagen se puede representar

    como una matriz de puntos (pxeles) cada uno con su correspondiente color.

    Por ejemplo, siguiendo el esquema de color RGB1, en el cual por cada punto codifica-

    mos las componentes rojo, verde y azul que componen el color. Estas componentes, las po-

    demos guardar cada una en un byte. Siguiendo este esquema necesitaramos 3 bytes por

    cada pxel. El formato ms sencillo para guardar toda esta informacin, es guardarla tal

    cual al disco. Es decir un vdeo quedara codificado como una serie de matrices de puntos

    una detrs de otra. El problema es evidente, un pequeo vdeo puede ocupar varios Gi-

    gabytes.

    Por ejemplo, una imagen de 800x800 pxeles, codificando 3 bytes por pxel ocupara

    unos 800x800x3 bytes = 1920000 Bytes. Si ahora tenemos un vdeo de 10 segundos, y el

    nmero de imgenes por segundo es 24: 1920000*10*24 = 460 Mbytes.

    En los vdeos digitales, tenemos una serie de propiedades, y estas influirn en la codifi-

    cacin del vdeo. Estas influyen en como guardamos el vdeo en disco, y como lo transmi-

    timos por la red. Estas tambin influyen en como la aplicacin cliente decodifica el vdeo

    para poderlo enviar al buffer de la tarjeta de vdeo.

    Nmero de imgenes por segundo (Frame rate):Es el nmero de imgenes fijas, que sern mostradas en un segundo. El mnimo re-

    querido para producir la ilusin de movimiento, es de 10 fps (frames per

    second). El estndar se encuentra en 25 fps que se ajusta a la frecuencia del ojo

    humano.

    Interlineado:

    El interlineado, consiste en reducir el ancho de banda requerido por el vdeo. Sobre

    la matriz de puntos, cuando un vdeo es enviado en este formato, primero se enva

    las filas impares, y luego las pares de forma consecutiva de imgenes distintas. El

    resultado es una reduccin del ancho de banda a la mitad. Esto implica una reduc-

    1 RGB: Del Ingls Red, Green and Blue. Rojo, Verde y Azul.

    Pgina 11

  • 2. Vdeo bajo demanda

    cin considerable de la calidad del vdeo. Esta tcnica es utilizada en las televisio-

    nes analgicas con los formatos PAL, SECAM y NTSC. El efecto contrario, es el

    envo progresivo de las imgenes, es decir enviar todas las filas de la matriz.

    Resolucin:

    Nmero de pxeles del ancho y alto del vdeo.

    Relacin de aspecto (Aspect ratio):

    Normalmente los pxeles de los monitores de los ordenadores son cuadrados, pero

    a veces podemos tener pxeles rectangulares. Es necesario aplicar una correccin

    segn el tipo de monitor que tengamos y el tamao de los pxeles del vdeo que es-

    tamos reproduciendo.

    Espacio de color:Indica si usamos el sistema RGB, donde codificamos las componentes rojo, verde

    y azul, o utilizamos el sistema YUV, donde codificamos la componente de lumi-

    nancia (brillo), y dos componentes de color.

    Nmero de bits por pxel:En el ejemplo anterior utilizbamos 24 bits (3 bytes) por cada pxel, siguiendo una

    proporcin 8:8:8. Es posible codificar el vdeo con diferentes proporciones de bits.

    Por ejemplo, algunos formatos codifican cada componente de color con un tipo de

    dato de punto flotante. Una codificacin 5:6:5, nos guarda el color en 16 bits. A la

    componente verde se le suele dar un bit ms, porque el ojo humano es ms sensible

    a la componente verde que a las otras dos componentes. Esto tambin determinar

    la cantidad de colores que podemos codificar.

    Algoritmo de compresin:Que algoritmo utilizamos para comprimir el vdeo.

    Nmero de bits por segundo (bit rate):Indica el nmero de bits por segundo requeridos para reproducir el vdeo. A mayor

    nmero, mayor calidad. Podemos tener vdeos que utilizan una tasa constante

    (CBR: constant bit rate), o una tasa variable (VBR: Variable bit rate).

    Pgina 12

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Para reducir el espacio ocupado por un vdeo, se utilizan algoritmos de compresin.

    Un cdec, es un algoritmo tanto de compresin como de codificacin del vdeo. Lo pode-

    mos entender como una funcin, una caja negra, con una entrada y una salida. Por la entra-

    da introducimos el vdeo codificado, y por la salida obtendremos el vdeo decodificado.

    Normalmente, los cdecs, tienen una funcin inversa que permiten realizar el efecto con-

    trario. A la hora de la implementacin de aplicaciones cliente, esta implementacin se en-

    cuentra en una librera externa, y la aplicacin simplemente la llama cuando detecta que

    un vdeo est en ese formato determinado.

    La finalidad de un cdec, es la de comprimir, codificar y cifrar1 la informacin con el

    fin de poderla almacenar en el disco o transmitirla por la red.

    Los algoritmos de compresin se pueden clasificar en dos grandes familias:

    a) Compresin sin perdidas (lossless compression):

    Al descomprimir los datos, comprimidos por un algoritmo de esta familia, es resul-

    tado tiene que ser exactamente idntico al original.

    b) Compresin con perdidas (lossy):Al descomprimir los datos, comprimidos por un algoritmo de esta familia, los datos

    nunca sern idnticos a los originales, pero estarn a una distancia cercana al valor

    original. Por ejemplo el color original puede tener una tonalidad de rojo, y el nuevo

    otra algo distinta, pero cercana.

    Por ejemplo: Originalmente tenemos el color 0xA65CB3, al comprimir y volver a

    descomprimir, podemos obtener un valor como por ejemplo el 0xA75AB1. El co-

    lor no es exactamente el mismo, pero es muy parecido. Hay una diferencia de una

    unidad en la componente rojo (A7-A6), dos unidades en la componente verde (5C-

    5A) y dos unidades en la componente azul (B3-B1).

    En la compresin de imgenes, audio y vdeo se utilizan siempre algoritmos de com-

    presin con perdidas. Ya que estos algoritmos tienen una tasa de compresin superior a los

    algoritmos sin perdidas.

    1 Cifrado del vdeo: La industria musical y cinematogrfica esta invirtiendo en la implantacin y uso obli-

    gatorio de cdecs que implementan cifrado (DRM), para proteger sus intereses econmicos.

    Pgina 13

  • 2. Vdeo bajo demanda

    Es posible realizar una sencilla prueba de color, mediante un programa de edicin de

    imgenes, creamos dos manchas con dos colores a muy poca distancia. El original lo guar-

    damos en el formato PNG, que es un formato sin perdidas, y luego exportamos a otro for-

    mato con compresin con perdidas, como por ejemplo el JPG. Al abrir otra vez las dos

    imgenes, solo la versin PNG conservar los colores de forma exacta, la versin JPG

    muestra unos colores parecidos pero no idnticos.

    La imagen utilizada se muestra a continuacin, ver Figura 2. (Los colores originales se

    pierden en la impresin, pero en el documento original se conservan).

    Estas pequeas diferencias a nivel de bit, son indistinguibles al odo u ojo humano.

    Por ejemplo el ojo humano es mucho ms sensible a la componente verde que a las otras

    componentes. Al comprimir el audio, los compresores se basan en las limitaciones del o-

    do. El odo solo puede escuchar en el rango de frecuencias desde los 20Hz hasta los

    22KHz. Mediante el uso de un filtro paso banda, filtramos todo lo que este fuera de este

    rango. Reduciendo as el ancho de banda consumido por el audio.

    Existen muchos algoritmos de compresin para escoger. Por ejemplo, la familia de c-

    decs MPEG utilizan mtodos donde se producen algunas perdidas de informacin. Estos

    mtodos se basan en fragmentar el vdeo a trozos y coger una serie de muestras de la ima-

    gen y el audio. En este caso realizamos la transformacin de las muestras del dominio del

    tiempo, al dominio de la frecuencia. Con los datos finales, construiremos el rbol de Huff-

    man asociado, y codificaremos los datos con esa codificacin.

    A la hora de codificar el vdeo, los cdecs tienen una serie de parmetros de entrada

    que afectan al algoritmo de forma que el resultado puede tener ms o menos calidad.

    Pgina 14

    Figura 2: Prueba de color

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Cundo codificamos los vdeos que nuestro servidor va ha servir, es indispensable, que

    elijamos los parmetros buscando un equilibrio entre la calidad, y el ancho de banda con-

    sumido. El ancho de banda no debera ser superior al ancho de banda que disponen los

    clientes.

    A parte del cdec, tenemos el contenedor. Normalmente el contenedor tiene una cabe-cera con informacin de en que cdec se encuentra codificado el vdeo, el audio.

    Ejemplos de contenedores conocidos, son el AVI (basado en el RIFF), el OGM, Ma-

    troska, MOV, MPEG, MP4, etc... (Ver Figura 3 para ver ejemplo de la cabecera OGM)

    Ver la tabla anexa en el apndice A sacada de la referencia [wik07] para ver una lista

    de contenedores y cdecs.

    A continuacin, veremos las caractersticas principales de los principales formatos de

    vdeo ms utilizados.

    MPEG-1:Conjunto de estndares y formatos de compresin de vdeo y audio diseados por

    MPEG (Moving Picture Experts Group). MPEG-1 se utiliza de forma comn en el

    Vdeo CD (VCD). La calidad, resolucin y bitrate es muy parecida a la de una cin-

    ta VHS. MPEG-1 define un contenedor, el cdec de compresin de vdeo MPEG-1

    Pgina 15

    0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1| Byte+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| capture_pattern: Magic number for page start "OggS" | 0-3+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| version | header_type | granule_position | 4-7+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | 8-11+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | bitstream_serial_number | 12-15+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | page_sequence_number | 16-19+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | CRC_checksum | 20-23+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| |page_segments | segment_table | 24-27+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| ... | 28-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

    Figura 3: Ejemplo de la cabecera del contenedor OGM

  • 2. Vdeo bajo demanda

    y las tres capas para compresin de audio (MP1,MP2 y MP3).

    Bitrate: 1.5 Mbit/s

    Resolucin: 352x240 (29.97 imgenes/s), 352x288 (25 imgenes/s)

    MPEG-2:

    Versin de MPEG, de mayor calidad. Se definen dos tipos de formato de contene-

    dor: flujo de transporte y flujo de programa. El primero esta orientado a aplicacio-

    nes que transmiten el vdeo y audio por canales poco confiables, recomendado para

    el uso de aplicaciones de VoD y similares, el segundo esta pensado para su uso en

    discos. El cdec de vdeo es similar a la versin 1, pero se introduce la posibilidad

    de codificar con interlineado. Por parte del cdec de audio, se introduce la posibili-

    dad de codificar ms de 2 canales de audio, mediante AAC codificacin de 5.1 ca-

    nales.

    Este formato se utiliza tanto en SVCD, DVD, y en la transmisiones de vdeo digi-

    tal, como por ejemplo la televisin digital terrestre.

    Bitrate: 0.3 Mbits/s (PDA), 4 Mbits/s (STB), 15 Mbits/s (DVD), 60 Mbits/s

    (HDV),...

    Resolucin: 176x144 (PDA), 352x288 (STB), 720x576 (DVD-PAL), 1440x1080

    (HDV)

    Imgenes/s: 15-60

    MPEG-4:

    Igual que sus versiones anteriores, ms un par de extensiones adicionales. Entre es-

    tas extensiones estn, la gestin de derechos digitales (DRM), soporte VRML para

    renderizar escenas en 3d. Este formato contenedor soporta un conjunto mucho ms

    amplio de cdecs de audio y vdeo que sus predecesores.

    H.264: H.264, es tcnicamente idntico al cdec MPEG-4 Part 10, conocido tam-bin como AVC (Advanced Video Coding) del estndar MPG-4. Escrito de forma

    conjunta por el Video Coding Experts Group (VCEG) y el Moving Picture Experts

    Group (MPEG). El objetivo era conseguir mayor calidad a menor bitrate que los

    formatos anteriores. Este formato se utiliza en los formatos de disco HD-DVD y

    Blu-ray, como tambin en transmisiones de televisin de alta definicin.

    Pgina 16

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Theora: Cdec de vdeo, desarrollado por la fundacin Xiph.org como parte del proyecto Ogg. Su caracterstica principal que lo diferencia de sus competidores, es

    la posibilidad de poderlo usar de forma libre y gratuita, sin tener que pagar ningn

    tipo de cuota de uso a nadie. El cdec esta basado en el cdec VP31 que fue cedido

    a la fundacin. Este cdec, puede ser utilizado dentro de cualquier contenedor, por

    ejemplo el contenedor de MPG-4. Theora se suele usar en conjuncin con el cdec

    de audio Vorbis dentro de un contendedor OGG.

    3GP: Versin reducida del contenedor MPEG-4 Part 14 definido por el estndar

    MPEG-4. Esta diseado para reducir el mximo los requisitos de almacenamiento

    y ancho de banda. Este contenedor fue diseado por el proyecto 3 generacin

    (Third Generation Partnership Project (3GPP)). Se utiliza para recibir y reproducir

    vdeo en dispositivos mviles con soporte 3G.

    Algunos formatos, son abiertos y a la vez que tenemos libre acceso a sus especificacio-

    nes, estos pueden ser usados sin tener que pagar licencias abusivas. Otros formatos son

    restrictivos, y a la vez estn protegidos por un sinfn de patentes y es necesario pagar una

    licencia por el uso de estos formatos a sus respectivas empresas.

    Cada cliente, tiene soporte para un determinado tipo de formatos (cdecs y contenedo-

    res), los servidores de vdeo bajo demanda tambin soportan solo un tipo determinado de

    formatos. Por ejemplo el servidor de Videolan no soporta todos los formatos, y mostrar

    error al intentar cargar vdeos codificados en algunos formatos propietarios2. Aunque nue-

    vos formatos han sido, y estn siendo introducidos al cliente/servidor de Videolan.

    Existe la posibilidad de que el servidor, mientras esta transmitiendo recodifique el v-

    deo en tiempo real, pero esto implica una carga adicional al servidor. Por lo tanto se reco-

    mienda, que los vdeos en el servidor se guarden ya codificados en el formato que va ha

    1 VP3: Cdec de vdeo propietario desarrollado por On2 Technologies. Su calidad es parecida a la de MPG-

    1. En el 2001 el cdec fue donado al pblico como cdigo abierto.

    2 Propietario: Todo aquel formato que no sigue un estndar, no existe documentacin al respecto, y nadie

    excepto sus creadores sabe como funciona.

    Pgina 17

  • 2. Vdeo bajo demanda

    ser usado para el envo. Por ejemplo podemos guardar el mismo vdeo con diferentes pro-

    piedades, y reproducir aquel vdeo que se adapte a los requisitos de ancho de banda del

    cliente.

    2.3 Requisitos VoD

    Todo sistema VoD ideal debe cumplir con los siguientes requisitos, para ms informa-

    cin consultar la referencia [cor03].

    A) Gran capacidad de almacenamiento:

    Un vdeo a calidad DVD de unas 2 horas puede ocupar perfectamente unos 8 Gi-

    gabytes. Si tenemos bibliotecas inmensas de vdeos, necesitaremos varios cientos

    de Gigabytes.

    B) Grandes anchos de banda:

    La calidad del vdeo es directamente proporcional al ancho de banda necesario

    para transmitirlo. Dependiendo de la calidad y nmero de clientes simultneos ob-

    tendremos el ancho de banda necesario para poder ofrecer este servicio. Tambin

    hay que tener en cuenta el ancho de banda consumido por la propia red local, por

    ejemplo entre el servidor de VoD y el servidor de almacenamiento en el caso que

    hubiera uno.

    C) Servicio en tiempo real:El tiempo de respuesta a las operaciones realizadas por el usuario del sistema (re-

    producir, parar, avanzar...) ha de ser mnimo. Un sistema con una latencia enorme

    es inaceptable, por ejemplo tener que esperar varios minutos a que el cliente avan-

    ce a un nuevo punto del flujo.

    D) Calidad de servicio:

    Es importante maximizar la calidad de la imagen y el audio, como asegurar la per-

    fecta sincronizacin entre estos dos elementos. Si se producen muchas perdidas,

    empezaramos a ver u or distorsiones y/o cortes.

    Pgina 18

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Muchas veces el propio cliente no llega a los requisitos mnimos para poder suscribirse

    a un vdeo determinado, principalmente el ancho de banda. Por lo tanto, muchos servicios

    VoD ofrecen los mismos contenidos con diferentes niveles de calidad, correspondindole a

    cada uno, un ancho de banda mnimo necesario.

    2.4 Arquitectura de los sistemas VoD

    2.4.1 Introduccin

    A continuacin, estudiaremos de forma muy breve las principales arquitecturas de los

    sistemas de Vdeo bajo Demanda. Veremos la arquitectura bsica y sus componentes prin-

    cipales, como algunas de las arquitecturas principales.

    2.4.2 Arquitectura bsica de un sistema VoD

    A continuacin veremos la arquitectura bsica de un sistema VoD siguiendo el tradicio-

    nal modelo cliente-servidor (ver Figura 4).

    Los principales componentes son, el servidor, la red y el cliente.

    Servidor:

    El servidor es el conjunto de hardware y software necesario para cumplir lo fun-

    cin principal de servir vdeo y proporcionar un flujo continuo de informacin (v-

    deo) con requisitos de tiempo real.

    Independientemente del tipo de arquitectura (servidor centralizado, o un clster de

    servidores), en general un servidor consiste de 3 subsistemas principales (ver Figu-

    ra 5): Control, Almacenamiento y Comunicacin.

    Pgina 19

    Figura 4: Sistema VoD

  • 2. Vdeo bajo demanda

    a) Subsistema de control:

    Recibe y procesa las peticiones del cliente, cuando un nuevo cliente realiza una

    peticin, el sistema determina si el servidor tiene los recursos necesarios para

    poder servir el vdeo (control de admisin).

    b) Subsistema de almacenamiento:

    Se encarga del almacenamiento de los contenidos, y de poder disponerlos de

    forma inmediata para poderlos enviar al cliente.

    c) Subsistema de comunicacin:Se encarga de recibir los comandos y enviar el vdeo a los clientes. Este ejecuta

    una pila de protocolos de comunicacin especficamente diseados para esta ta-

    rea como por ejemplo el protocolo RTP que veremos ms adelante.

    Red:La red se encarga de interconectar los distintos elementos que forman nuestro siste-

    ma VoD. La red debe garantizar una latencia mnima, y cumplir los requisitos de

    velocidad y ancho de banda necesarios.

    Cliente:El cliente o reproductor se encarga de enviar los comandos asociados al control de

    reproduccin y este a la vez reproduce el contenido que va recibiendo del servidor.

    El cliente esta formado por los siguientes subsistemas (ver Figura 6): Ncleo de

    red, sistema de control, decodificador, buffers y el sistema de sincronizacin.

    Pgina 20

    Figura 5: Subsistemas de un servidor VoD

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    a) Ncleo de Red:

    El ncleo de red (netcore) ejecuta la misma pila de protocolos ejecutada por el

    servidor, para poder comunicarse con este. El ncleo se encarga principalmente

    de enviar los comandos del usuario, y recibir los flujos de vdeo del servidor.

    b) Sistema de control:

    El sistema de control traduce las operaciones entradas por el usuario de repro-

    ducir, parar, avanzar, reproduccin rpida, etc..., a comandos que sern envia-

    dos al servidor.

    c) Decodificador:

    Se encarga de decodificar los datos recibidos en datos que puedan ser procesa-

    dos por el hardware de vdeo o sonido. De esto se encarga la librera del cdec

    asociado, que es recuperado de la biblioteca de cdecs disponibles.

    d) Buffers:

    Es necesario guardar unos segundos del vdeo y el audio antes de reproducir-

    los, ya que por muy buena que sea la red, nunca recibiremos los datos a la mis-

    ma velocidad. Es decir, la variacin de la latencia como hecho inevitable cau-

    sara cortes en la reproduccin mientras esperamos por ms datos.

    Pgina 21

    Figura 6: Subsistemas de un cliente VoD

  • 2. Vdeo bajo demanda

    e) Sistema de sincronizacin:Tanto el audio como el vdeo se codifican por separado en bloques indepen-

    dientes, es necesario un sistema que garantice la sincronizacin de ambos flu-

    jos. Si el vdeo tiene tambin subttulos, estos tambin se encuentran separados

    en bloques independientes, y tambin sera necesario sincronizar los subttulos.

    2.4.3 Algunas arquitecturas de los sistemas VoD

    Para entender los tipos de arquitectura utilizados en los diferentes servidores VoD estu-

    diados ms adelante, veremos a continuacin de forma muy breve las principales arquitec-

    turas. Vase [cor03] para un estudio ms profundo de cada arquitectura.

    Centralizada:

    Un servidor centralizado al cual estn conectados todos los usuarios del sistema a

    travs de una red de comunicacin.

    Servidores independientes/proxy:La red de los usuarios se segmenta en varias redes conectadas a servidores inde-

    pendientes o servidores proxy.

    Distribuida:

    El servicio se distribuye entre los usuarios (Red P2P1). El propio cliente, acta tam-

    bin de servidor para otros clientes. Veremos ms adelante, que uno de los servido-

    res de vdeo puede actuar de cliente y servidor a la vez, pudiendo encadenar varios

    nodos entre si.

    1 P2P: Del Ingls Peer-to-peer, red punto-a-punto o entre iguales. En las redes P2P, los nodos de la red act-

    an tanto de servidor como de cliente del servicio. Normalmente son redes sin servidores fijos, aunque

    existen conceptos hbridos, donde se utiliza el P2P conjuntamente con el modelo cliente-servidor.

    Pgina 22

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    2.5 Protocolos y polticas de servicio

    2.5.1 Protocolos

    Un protocolo, es un conjunto de reglas y estndares que definen como se comunican

    entre si, dos mquinas, aplicaciones, u dos objetos en la programacin orientada a objetos.

    Su funcin principal, es la de tener un formato comn para la realizacin de comunicacio-

    nes entre programas realizados por personas completamente diferentes. Por ejemplo, un

    desarrollador de un servidor web, siempre escoger el protocolo HTTP, y no se inventar

    uno propio. De esta forma su servidor funcionara con navegadores que soporten HTTP, en

    caso contrario este desarrollador se vera obligado a escribir su propio navegador para su

    propio protocolo inventado. Es decir los protocolos tienen la funcin de evitar el caos que

    tendramos si cada uno se inventara su propio lenguaje en el desarrollo de sus aplicaciones

    (aunque algunas empresas lo hacen de forma intencionada para acabar con la competencia

    y obtener la exclusividad del mercado)

    A continuacin, veremos de forma muy breve los diferentes protocolos involucrados

    en la transmisin de vdeo. Veremos principalmente: UDP, TCP, HTTP, FTP, RTSP, RTP,

    RTCP, SRTP, SRTCP, RSVP, IGMP y MMS.

    User Datagram Protocol (UDP):Protocolo no orientado a conexin, ubicado sobre la capa IP (Internet Protocol). Es

    un protocolo no confiable, es decir no tiene ningn control que asegure que nuestro

    mensaje va a llegar a su destinacin, tampoco asegura la entrega ordenada de los

    mensajes. Es el protocolo preferido y recomendado para ser utilizado en el vdeo

    bajo demanda, debido a que es mucho ms rpido que TCP.

    Transmission Control Protocol (TCP):Protocolo orientado a conexin, localizado sobre la capa IP (Internet Protocol):

    Es un protocolo confiable, es decir nuestros datos siempre llegaran de forma orde-

    nada, ya que implementa mecanismos de retransmisin en caso de que el receptor

    no confirme la recepcin de los datos. Tambin implementa mecanismos de control

    de congestin y control de flujo. Esto implica, que TCP es ms lento que UDP.

    Pgina 23

  • 2. Vdeo bajo demanda

    Normalmente TCP se utiliza para mensajes de control, y no se recomienda para la

    transmisin de vdeo aunque a pesar de ello se utiliza en algunas aplicaciones de

    vdeo. TCP no permite envo de mensajes multicast o broadcast.

    Hypertext Transfer Protocol (HTTP):

    El estndar HTTP 1.1, localizado sobre el protocolo TCP, nos permite obtener cual-

    quier bloque de un fichero alojado en el servidor web, mediante la utilizacin de

    las cabeceras 'Range'. Esto permite que el reproductor pueda saltar a cualquier pun-

    to del flujo de video.

    Normalmente este protocolo se utiliza para controlar un flujo que se recibe por

    udp/rtp, pero aunque no se recomienda, tambin se utiliza para transmitir el conte-

    nido multimedia.

    File Transfer Protocol (FTP):

    El protocolo de transferencia de ficheros se encuentra sobre el protocolo TCP, al

    igual que el HTTP, nos permite obtener cualquier bloque de un fichero alojado en

    el servidor FTP. Algunos clientes, permiten reproducir directamente un vdeo me-

    diante este protocolo. No se recomienda el uso de este sistema ya que es muy inefi-

    ciente.

    Real Time Streaming Protocol (RTSP):

    Localizado sobre el protocolo TCP, se utiliza conjuntamente con el protocolo RTP

    para controlar la recepcin del flujo. Tambin es posible encapsular el RTP sobre

    este en casos de redes con cortafuegos muy restrictivos.

    Real-Time Transport Protocol (RTP):

    Localizado sobre UDP, permite enviar datos en tiempo real. Este se utiliza para el

    envo de los flujos de vdeo y audio. Pero es necesario utilizar un protocolo de con-

    trol para controlar como se envan estos flujos.

    Real Time Control Protocol (RTCP):

    Localizado sobre UDP, se encarga del control de la calidad de servicio de un flujo

    transmitido por RTP.

    Secure Real-Time Transport Protocol (SRTP):Igual que el RTP, pero los datos van cifrados.

    Pgina 24

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Secure Real Time Control Protocol (SRTCP):Igual que el RTCP, pero los datos van cifrados.

    Resource Reservation Protocol (RSVP):Sobre la capa de red, se encarga de reservar recursos (rutas, ancho de banda, cana-

    les) en las redes de interconexin, siempre y cuando los dispositivos de la red

    (host, router) lo soporten. Este proporciona mecanismos para controlar la calidad

    del servicio de un conjunto de flujos de datos.

    Internet Group Managemente Protocol (IGMP):

    Sobre la capa IP, se encarga del control de grupos multicast.

    Microsoft Media Server Protocol (MMS):

    Protocolo propietario1, y no estndar utilizado por aplicaciones restrictivas2 de v-

    deo de Microsoft. Algunos servidores y clientes lo soportan debido a la disponibili-

    dad de informacin obtenida por ingeniera inversa.

    2.5.2 Polticas de servicio

    Las polticas de servicio son todo el conjunto de polticas, o reglas que definen de que

    forma sern enviados los diferentes flujos de datos al los clientes. Su objetivo, es minimi-

    zar el ancho de banda escogiendo la mejor poltica aplicable en cada caso.

    Los servidores VoD, soportan las siguientes formas de enviar los flujos de datos a los

    clientes.

    Unicast:

    El servidor dedica un flujo exclusivo por cada cliente. La destinacin de los paque-

    tes es la direccin del cliente.

    1 Propietario: Ver nota al pie en pgina 17

    2 Programario restrictivo: Ver nota al pie en pgina 7

    Pgina 25

  • 2. Vdeo bajo demanda

    Multicast:El servidor enva un flujo a un grupo de clientes. La destinacin de los paquetes es

    una direccin multicast. En Ipv4 las direcciones multicast son de la clase D

    (224.0.0.0-239.255.255.255), y en Ipv6 el bloque multicast lo forman todo el con-

    junto de direcciones que empiezan con FF (1111 1111)

    Broadcast:

    El servidor enva un flujo a todos los clientes de la red. La destinacin de los pa-

    quetes es la propia direccin de broadcast de la red.

    2.6 Servidores VoD

    En el mercado podemos encontrar varias soluciones de servidores de VoD. A continua-

    cin se presentan las principales soluciones actualmente disponibles.

    2.6.1 HTTP Server

    Si optamos por la sencillez, podemos apostar por un servidor web. ste no tendr todas

    las caractersticas de un servidor de vdeo convencional; pero, a su vez, ser ms fcil de

    gestionar. Solamente ser necesario disponer de suficiente espacio en el servidor dnde

    guardaremos nuestros recursos multimedia, a continuacin los clientes slo necesitarn co-

    nocer la direccin URL para poder empezar a reproducir el vdeo.

    Todo esto es posible, pues el estndar HTTP 1.1 nos permitir situarnos en cualquier

    posicin del flujo (seek). sto nos permitir realizar las operaciones bsicas que realiza

    cualquier programa con un fichero (open, close, seek, tell, read). Estas operaciones bsicas

    se pueden traducir en diferentes peticiones HTTP, y por tanto, nuestro usuario tendr una

    libertad total para desplazarse por el flujo.

    En nuestro caso, toda la informacin llegar encapsulada sobre el protocolo de capa

    superior HTTP. El problema, es que, algunas veces, nos puede interesar la prdida de pa-

    quetes, y no nos interesar que haya retransmisiones, ya que al utilizar un protocolo orien-

    tado a conexin como el TCP, a medida que se vaya enviando la informacin, de forma

    inevitable habrn prdidas de paquetes de informacin, provocando que acte el protocolo

    Pgina 26

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    TCP, el cual empezar a realizar retransmisiones y de esta manera se reducir la velocidad

    de transmisin. Nuestro cliente no podr continuar con la reproduccin hasta que no haya

    recibido el fragmento del paquete perdido. En cambio, un protocolo no orientado a cone-

    xin como el el UDP, nuestro servidor enviar la informacin a una velocidad negociada

    con el cliente, y de esta manera, se ir reproduciendo la informacin recibida independien-

    te de las prdidas que puedan ocurrir. Debido a que HTTP va montado sobre TCP, sto

    puede ser un problema que no podremos evitar.

    Es de destacar, que una buena implementacin regular la velocidad de transmisin de

    una manera ms eficaz y nos determinar la calidad de transmisin ajustndose al nivel de

    compresin de los cdecs.

    Desgraciadamente, la gran mayora de portales web, y servicios de vdeo disponibles

    en internet utilizan un servidor web como servidor de VoD. Tambin algunos servidores de

    vdeo bajo demanda que veremos ms adelante tienen un servicio HTTP para el control de

    la reproduccin de los flujos, y para encapsular RTP en un tnel sobre HTTP1 en situacio-

    nes en que el cliente se encuentra detrs de un cortafuegos muy restrictivo, que bloquea

    todo el trfico no destinado a los puertos 80 (HTTP) y 443 (HTTPS) que suele ser muy co-

    mn en muchos sitios.

    Tambin se puede hacer exactamente lo mismo con un servidor FTP, mediante un ser-

    vidor que soporte peticiones que nos permitan recibir el flujo del fichero alojado a partir de

    un cierto punto del flujo (offset). Es muy raro, y no muy recomendable el uso de este pro-

    tocolo para VoD, pero a dato de curiosidad VideoLan soporta la reproduccin de un vdeo

    directamente desde un servidor FTP.

    1 Tnel sobre HTTP: Existen aplicaciones, y/o mdulos para Apache y otros servidores web, que nos per-

    miten que un servidor web, pueda actuar de proxy entre una aplicacin que se ejecuta en un puerto distin-

    to corriendo cualquier tipo de protocolo. Ver http://www.google.com/search?q=http+tunel, http://des-

    proxy.sourceforge.net/, etc...

    Pgina 27

  • 2. Vdeo bajo demanda

    Un ejemplo de servidor web es Apache [apa07]. Apache implementa el protocolo

    HTTP/1.1, y con la configuracin por defecto, podemos pedir que nos envi un trozo del

    fichero de vdeo alojado en el servidor. Tambin podemos escribir un mdulo a medida,

    que se encargue de servir los vdeos, de forma que podramos implementar algunas optimi-

    zaciones, etc...

    2.6.2 Apple QuickTime Streaming Server

    Apple QuickTime Streaming Server [app07c] es el servidor de Vdeo Bajo demanda

    restrictivo, comercial y propietario de Apple. Este servidor se distribuye conjuntamente

    con las versiones servidor de Mac OS X. Es un servidor multimedia, basado en estndares

    altamente compatible, y de fcil uso. Nos permite alojar vdeos, aadiendo servicios multi-

    media a nuestra web, u ofrecer contenido multimedia mediante cualquier otro mecanismo,

    ya sea para dispositivos mviles, set top boxes1, etc. Dispone tambin de una aplicacin de

    publicacin, que nos permite subir contenidos a nuestro servidor de una forma sencilla, r-

    pida, elegante y eficaz.

    En la Figura 7 podemos observar un esquema bsico del funcionamiento de este servi-

    dor:

    1. La primera aplicacin captura y codifica el vdeo en tiempo real, y lo enva al ser-

    vidor para su distribucin en tiempo real.

    2. Una segunda aplicacin que se encarga de la gestin de la publicacin de conteni-

    dos, nos permite gestionar, configurar, aadir, modificar y eliminar contenido bajo

    demanda, listas de reproduccin, etc.

    3. El servidor, enva los flujos de vdeo mediante los protocolos RTP/RTSP a redes de

    rea local, Internet, y redes inalmbricas.

    1 Set Top Box (STB): Vase el apartado Set Top Box que vermos ms adelante en la pgina 47, para ms

    informacin.

    Pgina 28

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    En la Figura 8 podemos observar la interfaz grfica de configuracin del servidor, en

    este caso podemos ver distintos botones que nos permiten modificar diferentes parmetros,

    y en la pestaa General, podemos modificar detalles como el directorio de los vdeos, el

    nmero mximo de conexiones permitidas, etc...

    Segn la documentacin disponible, las caractersticas de este servidor son:

    Asegura que es compatible con la mayora de los clientes disponibles sobre cual-

    quier plataforma.

    Pgina 29

    Figura 7: Esquema QuickTime Streaming Server. Apple

    Figura 8: Interfaz de administracin del QuickTime Streaming Server. Apple

  • 2. Vdeo bajo demanda

    Puede reenviar flujos a otros servidores adicionales (en casos que queramos balan-

    cear la carga entre diferentes servidores, etc...)

    Soporta los protocolos RTP/RTSP, tanto multicast como unicast.

    Soporta el protocolo compatible con Icecast1 sobre HTTP:

    Soporta H.264, MPEG-4 y 3GPP

    Permite enviar Vdeo en tiempo real de algunas fuentes de vdeo como una vdeo-

    cmara.

    Soporta Vdeo Bajo demanda.

    Permite enviar vdeo, siguiendo una planificacin ya especificada.

    Se puede administrar va web o va una interfaz grfica.

    2.6.3 Darwin Streaming Server

    Darwin [app07a] es el servidor de VoD de cdigo abierto de Apple. Comparte el mis-

    mo cdigo base que la versin comercial comentada anteriormente.

    Este servidor comparte las mismas caractersticas que la versin comercial, pero en

    este caso, solo distribuyen el servidor en si y no tiene las herramientas y extensiones adi-

    cionales que son exclusivas de la versin comercial.

    Este servidor nos permite transmitir vdeos a diferentes tipos de clientes soportados por

    Internet, una red local, redes inalmbricas, etc, mediante el uso de los protocolos RTP y

    RTSP. Al ser de cdigo abierto, es un servidor altamente configurable y adaptable a nues-

    tras necesidades, ya que podemos modificar, manipular y adaptar el cdigo fuente del ser-

    vidor pudiendo implementar fcilmente cualquier funcionalidad que necesitemos.

    Este servidor esta recomendado para su uso por desarrolladores que necesitan enviar

    flujos de vdeo codificados en formatos Quick Time y MPEG-4 en plataformas alternativas

    a Mac, como pueden ser Windows, Linux, Solaris, etc. Este servidor esta soportado solo

    por la comunidad de cdigo abierto, y no tiene en ningn momento soporte tcnico de Ap-

    1 Icecast: Vase el apartado Icecast que veremos ms adelante en la pgina 38, para ms informacin.

    Pgina 30

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    ple. Apple se encarga del hospedaje de la web, herramientas, cdigo, listas de correo, etc...

    para poder ser utilizadas por los desarrolladores de forma que puedan compartir ideas y

    discutir varios escenarios de uso de este servidor.

    Para aquellos que quieran una versin de este servidor con soporte tcnico, y o ms ca-

    ractersticas que no estn disponibles en esta versin, se les recomienda adquirir el Apple

    Quick Time Streaming server, visto en el apartado anterior. Ambos servidores comparten

    el mismo ncleo, y este servidor en concreto esta disponible con la licencia pblica Apple,

    la cual no es compatible con la GPL.

    2.6.4 RealNetworks Helix Server

    Servidor de Vdeo Bajo demanda restrictivo, comercial y propietario de RealNetworks

    [rea07a].

    Sus caractersticas ms destacadas son:

    El nmero de flujos de vdeo soportados es directamente proporcional a la cantidad

    de dinero invertida en licencias.

    Soporta varios sistemas operativos (Windows, Linux oficialmente solo soportan

    una distribucin en concreto y Solaris).

    Algunas funcionalidades estn intencionadamente deshabilitadas en algunas ver-

    siones del servidor. (multicast, envo a otro servidor, soporte proxy etc...).

    Soporta los formatos RealAudio, RealVideo, Windows Media, QutickTime, MP3.

    No soporta 3GPP, H.263 y H.264 a no ser que se invierta en la licencia ms cara

    del servidor (Server Unlimited).

    Mientras la versin econmicamente ms cara del servidor soporta, multicast, envo a

    otros servidores, cache, redundancia, etc. Las versiones econmicamente inferiores tienen

    una funcionalidad muy limitada.

    Existe una versin de evaluacin del servidor, que puede ser descargada a cambio de

    dar todos nuestros datos personales a RealNetworks.

    Pgina 31

  • 2. Vdeo bajo demanda

    2.6.5 Helix DNA Server

    Servidor de VoD de cdigo abierto, pero distribuido con una licencia restrictiva, de Re-

    alNetworks. Comparte el mismo cdigo base que la versin comercial comentada anterior-

    mente [rea07b].

    Al igual que Apple con el Darwin Streaming Server, este servidor tambin comparte

    las mismas caractersticas que la versin comercial, pero en este caso no soporta los for-

    matos de Real, como tampoco soporta un serie de caractersticas que solo estn presentes

    en las versiones comerciales. Digamos que solo han abierto el cdigo de los componentes

    ms bsicos del servidor.

    En la Figura 9 podemos ver un esquema de la plataforma Helix, tenemos un dispositi-

    vo productor que se encarga de capturar, codificar y enviar el vdeo al servidor Helix, y

    luego los diferentes tipos de clientes (ordenador, STB, mvil, etc...) acceden al vdeo en

    cuestin.

    En la Figura 10 podemos observar un esquema de la arquitectura del servir Helix, don-

    de podemos ver la relacin entre los diferentes mdulos que forman el servidor, y como

    estos interactan con la fuente de vdeo y los clientes.

    Pgina 32

    Figura 9: Esquema de la plataforma Helix. RealNetworks

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    2.6.6 Microsoft Windows Media Server

    Servidor de Vdeo Bajo demanda restrictivo, comercial y propietario de Microsoft

    [mic07a].

    Este servidor viene de serie en algunas licencias de Windows Server 2003. Dependien-

    do del tipo de licencia de windows server adquirido, y dependiendo de la cantidad de dine-

    ro invertida tendremos ms o menos caractersticas disponibles.

    En la Figura 11, podemos observar la interfaz grfica de configuracin de este servi-

    dor, en este caso vemos un rbol a la izquierda que nos permite navegar por las diferentes

    opciones de configuracin, y en el panel de la derecha, podemos observar el panel de edi-

    cin de los contenidos disponibles en el servidor.

    En la Figura 12 podemos ver un esquema de un posible escenario donde podra funcio-

    nar este servidor, con el tipo de servicios que este ofrece.

    Pgina 33

    Figura 10: Arquitectura del servidor Helix. RealNetworks

  • 2. Vdeo bajo demanda

    Sus caractersticas ms destacadas son:

    Pgina 34

    Figura 11: Interfaz de administracin de Windows Media Server Microsoft

    Figura 12: Esquema de Windows Media Server Microsoft

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    El nmero de flujos de vdeo soportados es directamente proporcional a la cantidad

    de dinero invertida en licencias.

    Solo funciona en Windows, precisamente la nica forma de adquirir el software es

    mediante la compra de una licencia de Windows Server.

    Algunas funcionalidades estn intencionadamente deshabilitadas en funcin del

    tipo de licencia de windows server. (multicast, envo a otro servidor, soporte proxy,

    sistema de plugins, planificador de programacin, etc...)

    Soporta los protocolos MMS, HTTP y RTSP

    Soporta el formato Windows Media.

    La gran diferencia entre los servidores vistos anteriormente y este ltimo, es la falta de

    una versin comunitaria de cdigo abierto.

    2.6.7 VideoLAN Server

    VideoLAN es un proyecto libre de cdigo abierto de una plataforma de vdeo, inclu-

    yendo reproductor, servidor y otros plugins [vid07].

    La primera gran caracterstica diferenciadora entre los servidores vistos anteriormente

    y VideoLAN radica en que la misma aplicacin puede funcionar tanto como un simple re-

    productor como servidor.

    Proyectos principales de VideoLAN:

    VLC: Aplicacin escrita en C/C++, servidora y cliente de flujos de vdeo. Actual-mente en desarrollo, y la que vamos a ver ms de cerca a continuacin.

    VLS: Aplicacin escrita en C++, servidora de flujos de vdeo. VLS ya no se desa-rrolla, y su existencia es solo histrica. Toda la funcionalidad de VLS forma ya

    parte de VLC. Precisamente ya no se recomienda el uso de VLS.

    Pgina 35

  • 2. Vdeo bajo demanda

    En la Figura 13 podemos observar los componentes que conforman la plataforma de

    VideoLAN, podemos ver diferentes tipos de servidores, vlc, el antiguo vls, o un servidor

    VoD (web, Darwin, etc), se muestran los diferentes tipos de formatos y seales de entrada

    (DVD, Satlite, Sistema de ficheros, televisin digital terrestre, etc.), como tambin los

    distintos tipos de clientes soportados (PDA, ordenador, STB, mvil, etc...)

    VideoLAN soporta la gran mayora de plataformas disponibles, esta disponibilidad de-

    pende del soporte ofrecido por algunas libreras, de forma que las caractersticas varan se-

    gn la plataforma. Esta es tambin una de las grandes diferencias respecto a los otros ser-

    vidores, que soportaban una o muy pocas plataformas y sus caractersticas estn en fun-

    cin del precio.

    Caractersticas principales:

    Soporta mltiples plataformas, entre estas Windows, Mac OS X, Linux, BeOS,

    FreeBSD, OpenBSD, Familiar Linux, etc... (ms que ninguno de los otros servido-

    res vistos anteriormente)

    Pgina 36

    Figura 13: Plataforma VideoLAN VideoLAN

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Protocolos: RTSP, UDP, RTP, HTTP, FTP (solo recepcin), MMS, MMSH1, SAP2,

    IGMPv3

    Soporta Multicast y Unicast sin ningn tipo de limitacin ni restriccin. (Recorde-

    mos que muchos servidores vistos anteriormente habilitan el soporte multicast en la

    licencia ms cara del servidor)

    Formatos soportados: MPEG (ES,PS,TS,PVA,MP3), ID3 tags, AVI, ASF, WMV,

    WMA, MP4, MOV, 3GP, OGG, OGM, Annodex, Matroska, WAV (incluyendo

    DTS), RAW audio (DTS, AAC, AC3/A52), RAW DV, FLAC, FLV (Flash). Ver ta-

    bla en el apndice A.

    Soporta vdeo bajo demanda, parrillas de programacin, etc.

    Es posible recibir un flujo de vdeo de un servidor, y enviarlo a otro cliente mien-

    tras se visualiza.

    Es posiblemente uno de los muy pocos servidores/reproductores, que permiten

    guardar el vdeo en el disco.

    No tiene el defecto de diseo popularmente conocido como DRM3, la gran mayora

    llevan ese defecto de serie.

    Soporta subttulos

    Filtros de manipulacin, recodificacin de vdeo, etc.

    Interfaces grfica (WxWidgets o Qt4), consola, telnet, web, soporte de skins, etc.

    Plugin para Iceweasel, Firefox, y otros navegadores basados en el motor Gecko.

    1 MMSH: Protocolo MMS sobre HTTP

    2 SAP: Session Announcement Protocol (RFC2974), es un protocolo utilizado para anunciar flujos de v-

    deo, canales, listas de reproduccin etc.

    3 DRM: Digital Rights Management. Este sistema limita el uso de un producto de forma intencionada, inva-

    de la privacidad del usuario, y limita las libertades del usuario. Caractersticas como auto-borrado, envo

    de informes de uso al autor, limite del nmero de reproducciones, como limitar el tipo de hardware utili-

    zado, y un consumo realmente intil de batera en sistemas porttiles. Muy recomendable ver

    http://www.defectivebydesign.org para ms informacin sobre este defecto de diseo.

    Pgina 37

  • 2. Vdeo bajo demanda

    Permite transmitir vdeo desde dispositivos de captura, DVD, VCD, SVCD, DVB1,

    etc.

    2.6.8 Otros servidores

    A continuacin veremos brevemente algunos otros servidores de vdeo bajo demanda.

    2.6.8.1 Icecast Server

    Icecast [ice07] es un servidor de streamming principalmente de audio, pero tambin

    soporta vdeo en sus ultimas versiones.

    Es un proyecto de cdigo libre mantenido por la Fundacin Xiph.org.

    Los protocolos utilizados son HTTP y SHOUTcast2, y los formatos soportados son

    Vorbis, MP3, AAC, NSV y Theora. Precisamente Vorbis y Theora son formatos de audio y

    vdeo diseados por la fundacin Xiph.org.

    2.6.8.2 Kasenna

    Kasenna ha desarrollado una plataforma de VoD a medida [kas07]. Distribuye tanto

    hardware como software dedicado y optimizado a ofrecer servicios de VoD.

    En la Figura 14 podemos observar la arquitectura ofrecida por la plataforma VoD de

    Kasenna.

    Caractersticas destacadas:

    Arquitectura flexible.

    Se basa en los estndares.

    Funcionamiento sobre sistemas SGI, Sun, Linux.

    Formatos MPEG, H.264, etc.

    1 DVB: Salida del decodificador de Televisin Digital Terrestre.

    2 SHOUTcast: Protocolo multiplataforma para streamming de audio desarrollado por Nullsoft.

    Pgina 38

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Plataforma de desarrollo (SDK).

    2.6.8.3 Concurrent

    Concurrent [ccu07] dispone de una plataforma de VoD y en tiempo real para Linux

    diseada a medida para diferentes tipos de clientes (proveedores de servicio, hoteles, etc.).

    Distribuye tanto hardware como software dedicado y optimizado a ofrecer servicios de

    VoD.

    Al igual que Kasenna, tambin se basa en los estndares, y dispone de entornos de de-

    sarrollo especficos para personalizar la aplicacin a medida.

    2.6.8.4 BitBand

    BitBand [bit07], dispone de su propia plataforma de soluciones VoD. Distribuye tanto

    hardware como software dedicado y optimizado a ofrecer servicios de VoD.

    En la Figura 15 podemos observar una fotografa del modelo Vision 880.

    Pgina 39

    Figura 14: Arquitectura de la plataforma Kasenna Kasenna

  • 2. Vdeo bajo demanda

    Caractersticas destacadas:

    Servicio VoD, NVoD (Near Video on Demand), TV-on-Demand, Enhanced TV.

    Formatos MPEG, H.264, VC1.

    Protocolos RTSP, RTP, Raw UDP.

    Nmero de puertos RJ-45 en funcin del tipo de servidor.

    Administracin HTML y SNMP

    Alimentacin dual (redundante)

    RAID interna. Una capacidad de unos 6.3 TB por servidor, dependiendo del tipo de

    servidor.

    2.6.8.5 C-COR

    C-COR [cco07], al igual que los anteriores tambin dispone de su propia plataforma de

    soluciones VoD. Distribuye tanto hardware como software dedicado y optimizado a ofre-

    cer servicios de VoD.

    Tambin ofrece tecnologa de insercin de publicidad en tiempo real.

    2.6.8.6 Entone

    Entone [ent07], tambin dispone de su propia plataforma de soluciones VoD. Distribu-

    ye tanto hardware como software dedicado y optimizado a ofrecer servicios de VoD. Ento-

    ne se centra principalmente en televisin bajo demanda y redes multimedia domesticas.

    Pgina 40

    Figura 15: BitBand Vision 880 Server BitBand

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    2.6.8.7 SeaChange

    SeaChange [sea07], tambin dispone de su propia plataforma de soluciones VoD. Dis-

    tribuye tanto hardware como software dedicado y optimizado a ofrecer servicios de VoD.

    Al igual que C-COR, dispone de varias formas de distribuir publicidad a medida en

    funcin de la zona y/o perfil del usuario del sistema.

    2.6.8.8 Ms servidores

    Otros servidores y/o sistemas VoD:

    Flumotion: Ver http://www.flumotion.net

    OpenTV: Ver http://www.opentv.com

    XL2 Media Server: Ver http://www.jet-stream.nl/servers/XL

    VoDKA: Ver http://vodka.lfcia.org

    Flash Media Server: Ver http://www.adobe.com/products/flashmediaserver/

    Red5 Open Source Flash Server: Ver http://osflash.org/red5

    2.7 Reproductores de vdeo

    Es necesario, conocer al menos los principales reproductores que pueden utilizar los

    servidores mencionados anteriormente. Existen muchos reproductores, as que nos centra-

    remos en enumerar los principales, y a grandes rasgos sus caractersticas principales.

    Es posible mezclar reproductores de diferentes desarrolladores con servidores de otros

    desarrolladores, pero a veces no obtendremos el funcionamiento esperado. Por ejemplo, si

    utilizamos VideoLAN como aplicacin servidora, el propio cliente de VideoLAN funciona

    perfectamente, pero otros reproductores dan algn fallo. Hay muchas combinaciones a

    probar, y aunque hay unos estndares a seguir no todos los desarrolladores los siguen fiel-

    mente, o algunas funcionalidades o caractersticas especificas del estndar todava no han

    sido implementadas en algn que otro reproductor o servidor.

    Pgina 41

  • 2. Vdeo bajo demanda

    A continuacin se presentan las principales aplicaciones de reproduccin, y dispositi-

    vos o aparatos (ordenadores) que contienen este programario de forma preinstalada y estn

    ya listos para funcionar.

    2.7.1 Quick Time

    Quick Time, es el reproductor restrictivo, propietario y comercial de Apple [app07b].

    El reproductor esta disponible solo par Windows y MacOS. Existen dos licencias del re-

    productor, una gratuita con ciertas limitaciones de funcionamiento, y la profesional. Sopor-

    ta principalmente los formatos y/o contenedores MOV y MPEG. Los protocolos soporta-

    dos son HTTP y RTSP (RTSP implica el uso de RTP, ya sea directamente o en un tnel).

    El reproductor funciona tanto de forma independiente, y tambin esta disponible como

    plugin para Internet Explorer , Mozilla Firefox y compatibles.

    2.7.2 Real Player

    RealPlayer es el reproductor restrictivo, propietario y comercial de RealNetworks [re-

    a07c], esta disponible para Windows, Linux y MacOS. Comparte el cdigo base con el re-

    productor Helix. Soporta los formatos de Real, Vorbis, OGG, como los protocolos HTTP y

    RTSP. Existen plugins del reproductor tanto para Internet Explorer como Mozilla Firefox y

    compatibles.

    2.7.3 Helix Player

    Helix Player, comparte exactamente el mismo cdigo que Real Player, pero la diferen-

    cia radica en la licencia, y en los formatos soportados [rea07d].

    El cdigo fuente de Helix se distribuye con una licencia libre, mientras que RealPlayer

    es un reproductor de cdigo cerrado. Helix no soporta los formatos de Real.

    Tambin esta disponible su versin en plugin para Mozilla Firefox.

    Pgina 42

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    En la Figura 16 podemos observar la interfaz grfica del reproductor Helix, podemos

    observar sus controles de reproducin, y un barra de herramientas que nos permite abrir,

    reproducir, etc...

    2.7.4 Windows Media Player

    Windows Media Player [mic07b] es un reproductor restrictivo, comercial y propietario

    de Microsoft. Solo esta disponible para windows. Los formatos soportados dependen ex-

    clusivamente de los plugins instalados en el sistema operativo (por defecto solo soporta los

    contendores/formatos avi, wma, wmv). Soporta los protocolos RTSP, HTTP y MMS. Tiene

    DRM de serie, y su funcionamiento viola en muchos casos la privacidad del usuario, debi-

    do al envo continuo de informacin a Microsoft de como usamos su fantstico reproduc-

    tor. (Por ejemplo con solo actualizar el reproductor a la ltima versin, Microsoft nos obli-

    ga a revalidar la licencia del operativo, y hay bastantes casos reales de licencias legales

    que fallan perfectamente la validacin, impidiendo as el uso del reproductor, y incluso

    bloqueando por completo el sistema operativo.)

    El plugin ActiveX del reproductor esta disponible para Internet Explorer, aunque las

    versiones para windows de algunos navegadores soportan una interfaz al plugin. Pero por

    defecto no existe un plugin especifico para estos ltimos.

    Pgina 43

    Figura 16: Captura del reproductor Helix

  • 2. Vdeo bajo demanda

    2.7.5 Flash Player

    Flash [fla07] es una tecnologa propietaria y restrictiva de Adobe Systems (antes Ma-

    cromedia), dentro de sus posibilidades en la creacin de animaciones, existe la posibilidad

    de reproducir vdeo. El reproductor de flash, se encuentra disponible gratuitamente como

    plugin para la gran mayora de navegadores y sistemas operativos. ltimamente muchas

    aplicaciones que ofrecen servicios de vdeo lo estn utilizando bastante frente a los otros

    plugins. Por ejemplo, algunos portales (algunos los veremos ms adelante) han dejado de

    utilizar otros plugins como el de windows media, quicktime etc, y ahora ofrecen el vdeo

    bajo un reproductor de vdeo hecho en flash (es decir han migrado). Flash solo soporta v-

    deo codificado en formato FLV (flash vdeo), y solo soporta los protocolos HTTP y RTMP.

    RTMP es un protocolo propietario y cerrado de Adobe Systems utilizado por su aplicacin

    comercial conocida como Flash Media Server.

    2.7.6 Xine

    Reproductor libre de cdigo abierto [xin07]. Este soporta la gran mayora de formatos

    y protocolos, pero depende exclusivamente de si es distribuido en todo su esplendor, o una

    versin recortada de este reproductor. Muchas distribuciones Linux distribuyen una ver-

    sin muy limitada del reproductor por problemas legales y de patentes, con lo que es nece-

    sario instalar manualmente los cdecs y plugins eliminados para poder reproducir la gran

    mayora de formatos existentes.

    Aunque soporta el protocolo RTSP, actualmente no reconoce algunos servidores RTSP,

    especialmente todava no funciona muy bien con el servidor de VideoLAN. Hasta la fecha

    el autor de esta memoria no conoce de la existencia de ningn plugin que permita incrustar

    Xine dentro del navegador, pero si existen plugins y/o extensiones como un simple cambio

    de configuracin en el navegador que permiten lanzar el reproductor como aplicacin ex-

    terna.

    Pgina 44

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    En la Figura 17 podemos observar la interfaz del reproductor Xine, con la piel (Skin)

    que viene por defecto. Tenemos dos ventanas, una donde visualizamos el vdeo, y otra que

    imita el aspecto de un aparato de reproduccin, con una serie de controles que nos permi-

    ten el control de la reproduccin, abrir y cerrar nuevos vdeos desde diferentes dispositivos

    de entrada de vdeo (sistema de ficheros, web, RTSP, VCD, DVD, DVB, etc...)

    2.7.7 Mplayer

    Al igual que Xine, MPlayer [mpl07a] es otro reproductor libre de cdigo abierto. Tiene

    los mismos problemas que Xine respeto a la distribucin de plugins y cdecs de algunos

    formatos legalmente conflictivos.

    Puede reproducir casi cualquier cosa, y soporta la gran mayora de protocolos. En las

    pruebas realizadas con el servidor de VideoLAN, este si funciona con este, pero debido a

    un problema an sin resolver, este no detecta el nmero de imgenes por segundo del v-

    deo, y es necesario pasarlo manualmente al reproductor.

    Existe tambin un plugin desarrollado, que permite incrustar el reproductor dentro del

    navegador Mozilla Firefox y compatibles. Mas informacin en referencia [mpl07b]

    Pgina 45

    Figura 17: Captura de la intertaz del reproductor Xine

  • 2. Vdeo bajo demanda

    En la Figura 18 podemos ver el aspecto de la interfaz del reproductor mplayer, al igual

    que xine tenemos una ventana donde visualizamos el vdeo, y una interfaz en esto caso la

    versin GTK, donde podemos controlar la reproduccin, como poder abrir otro vdeo,

    etc...

    2.7.8 VideoLAN

    Anteriormente, ya hemos comentado todos los formatos que soporta el cliente de Vide-

    oLAN. Como hemos visto anteriormente existe un plugin para incrustar el reproductor tan-

    to para Internet Explorer como Mozilla Firefox y compatibles.

    En la Figura 19 podemos observar la interfaz de VideoLAN, en este caso, tanto la sali-

    da de vdeo como el control de reproduccin se realizan desde la misma ventana. Tenemos

    una barra de mens que nos permiten realizar varias acciones, como controlar la reproduc-

    cin, abrir otro vdeo, lanzar un asistente, ejecutar el cliente en modo servidor, etc...

    Pgina 46

    Figura 18: Captura de la Interfaz de MPlayer (GTK)

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    2.7.9 Set Top Box

    Un Set Top Box, es bsicamente un ordenador, un conjunto de hardware que ejecuta

    una aplicacin cliente de un sistema de VoD.

    Existen diferentes tipos, con diferentes caractersticas. Con o sin disco duro, posibili-

    dad de utilizarlo para otras tareas o no, etc. Podemos encontrar dispositivos que corren

    como sistema operativo un Linux, un Windows Mediacenter, u otro. Los reproductores uti-

    lizados para acceder al servicio de VoD, son muchas veces versiones modificadas a medida

    de algunas de las aplicaciones vistas anteriormente.

    En la Figura 20 podemos observar la fotografa un un STB.

    Pgina 47

    Figura 19: Captura Interfaz Reproductor de VideoLAN

  • 2. Vdeo bajo demanda

    2.7.10 Otros Dispositivos

    Existen otros muchos dispositivos, como telfonos mviles, PCs de bolsillo, vdeo con-

    solas, etc... que tambin pueden ejecutar una aplicacin cliente de un servicio de Vdeo

    bajo Demanda en concreto. Muchos proveedores de telefona ofrecen ya sus propios servi-

    cios especficos de VoD. Especficamente, todos los dispositivos que soporten la tecnolo-

    ga 3G (3 generacin), pueden reproducir vdeos en formato 3GP, alojados en servidores

    de vdeo que soporten este formato.

    Pgina 48

    Figura 20: Fotografia de un STB Advanced Di-

    gital Broadcast (http://www.adbglobal.com)

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    3. Estudio de Gestores / Catlogos

    3.1 Introduccin y clasificacin

    Algunos de los servidores de vdeo descritos en el captulo anterior, tienen herramien-

    tas administrativas especificas para gestionar el servidor y sus contenidos. Algunos, sim-

    plemente no tienen ninguna aplicacin, y solo se pueden gestionar por linea de comandos.

    Existen principalmente: Interfaces grficas propias del servidor, telnet, snmp, via web

    (http), o mediante el uso de plugins, modificacin manual de ficheros de configuracin, o

    mediante modificacin incluso del cdigo fuente. A continuacin, veremos una serie de ca-

    tlogos y/o servicios de vdeo bajo demanda.

    Muchos de los servicios que vamos a ver ahora, se caracterizan en que el usuario del

    servicio, es el que sube, clasifica y califica los vdeos disponibles. En cambio, en otros ser-

    vicios, existen una interfaz administrativa, muchas veces propia ya del propio servidor, que

    es utilizada para dar de alta los vdeos. Es ms difcil encontrar ejemplos y/o documenta-

    cin de este ltimo tipo de interfaces debido a que son productos muy personalizados y he-

    chos a medida por o para el propio proveedor de servicios VoD.

    Podemos clasificar los diferentes servicios de VoD que vamos a ver a continuacin en

    dos grandes categoras: Servicios sociales y servicios comerciales. Aunque algunos son h-

    bridos.

    Servicios Sociales: Los servicios sociales ofrecen material gratuito, los vdeos son

    mayoritariamente cortos y de baja calidad, los usuarios se encargan en gran parte

    de subir contenidos al sistema, aunque otros contenidos como trailers de pelculas

    suelen ser adquiridos en exclusiva por algn portal durante algn tiempo. No todo

    el contenido es de corta duracin, todas aquellas pelculas que de alguna forma han

    entrado dentro del domino pblico estn disponibles en estos servicios. Tambin

    podemos encontrar conferencias, demostraciones, tutoriales, que pueden durar per-

    fectamente 2 horas.

    Servicios Comerciales: En los servicios comerciales, podemos encontrar ya largo-

    metrajes. Estos estarn disponibles tan pronto como la distribuidora le otorgue la li-

    cencia pertinente al proveedor del servicio. Se pueden dar casos, que haya pelcu-

    Pgina 49

  • 3. Estudio de Gestores / Catlogos

    las que estn en exclusiva disponibles en un determinado servicio de VoD varios

    das antes a que salga al pblico en general. En estos servicios el usuario paga una

    cuota mensual, el vdeo concreto, o ambos.

    3.2 Servicios de Vdeo

    3.2.1 Google Video

    Google [goo07] ofrece servicios de VoD tanto gratuitos como de pago por vdeo. Goo-

    gle ofrece sus servicios tanto mediante el uso de su portal web, como el uso de un repro-

    ductor especfico de Google. Google entra dentro de ambas categoras, es decir se conside-

    ra tanto un servicio social como comercial.

    Las caractersticas de este servicio son:

    Utiliza un reproductor realizado en Flash

    Permite subir vdeos de tamao y duracin ilimitados.

    El buscador de vdeos, es por supuesto la caracterstica principal del servicio, per-

    mitiendo buscar por nombre, palabras, idioma, duracin, genero, precio, etc.

    Actualmente el servicio de compra de Vdeo esta solo disponible en los EEUU.

    Utiliza es sistema de clasificacin por marcas o etiquetas, conocido en Ingls con

    el termino tag. El sistema se basa en que los usuarios asignan palabras clave a los

    vdeos, mejorando as la clasificacin y posterior bsqueda.

    Utiliza tecnologa AJAX1, popularmente conocida como la Web 2.0

    Sistema de calificacin de los vdeos. Permite a los usuarios calificar los vdeos de

    1 a 5 estrellas.

    Sistema de comentarios: Los usuarios, pueden comentar los vdeos, fijar enlaces a

    una parte determinada del flujo del vdeo, y el sistema tambin incluye la posibili-

    dad de marcar aquellos comentarios que sean spam.

    1 AJAX: Ver definicin en la pgina 67.

    Pgina 50

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Permite enviar por correo, publicar en una web, foro o en un blog el vdeo de for-

    ma incrustada.

    Posibilidad de ver los vdeos a tamao original, de ventana o pantalla completa.

    En modo reproduccin, tendremos una lista de reproduccin con el resto de vdeos

    correspondientes o relacionados con la bsqueda que hemos realizado.

    Permite ver todos los vdeos que un usuario ha subido

    El sistema construye una lista de vdeos relacionados con el que estamos viendo.

    El sistema guarda, genera y muestra estadsticas del uso del vdeo (nmero de vi-

    sualizaciones y rango del vdeo clasificados por correo, incrustadas y totales dia-

    rias y de toda la vida).

    Control de volumen, y servicio VoD real, el reproductor acepta reproducir el vdeo

    desde cualquier punto del flujo (algunos otro portales no lo soportan hasta que no

    se haya descargado el vdeo hasta el punto solicitado)

    El sistema genera varias previsualizaciones de diferentes puntos del flujo de vdeo,

    y nos permite saltar directamente a estos.

    El sistema nos permite descargar los vdeos en 2 formatos (avi y mp4)

    Podemos ver tanto el nombre del vdeo, la duracin, la fecha de publicacin, la

    descripcin y el autor que ha subido el vdeo.

    Soporte para subttulos.

    En la Figura 21 podemos observar una captura del portal de Google vdeo en accin. A

    la izquierda se encuentra el reproductor flash donde podemos desde ver la pelcula, hasta

    controlar su reproduccin. A la derecha tenemos un panel que nos permite navegar por la

    lista de reproduccin, aadir y ver comentarios, ver informacin y detalles sobre el vdeo,

    estadsticas, poder ver y aadir etiquetas, etc. En la parte superior, se encuentra el busca-

    dor de vdeos, y una pequea barra de mens desplegables que nos permiten navegar de

    forma rpida entre diferentes categoras de vdeos, como tambin un botn que nos permi-

    te publicar vdeos.

    Pgina 51

  • 3. Estudio de Gestores / Catlogos

    3.2.2 YouTube

    Al igual que Google Vdeo, YouTube [you07] ofrece servicios de VoD muy similares.

    YouTube ha sido recientemente adquirido por Google. Actualmente, YouTube es uno de

    los servicios popularmente ms conocido y usado por la comunidad social de Internet.

    YouTube se considera un servicio de vdeo social.

    Las caractersticas de este servicio son:

    Utiliza un reproductor realizado en Flash

    Limita la duracin a 10 Minutos y el tamao a 100MB.

    Incorpora buscador.

    Sistema de clasificacin por marcas o etiquetas.

    Pgina 52

    Figura 21: Captura del portal de Google Video

  • Gestor de contenidos de vdeo bajo demanda Alberto Montaola Lacort

    Utiliza tecnologa AJAX.

    Sistema de calificacin de los vdeos. Permite a los usuarios calificar los vdeos de

    1 a 5 estrellas.

    Sistema de comentarios.

    Permite enviar por correo, publicar en una web, foro o en un blog el vdeo de for-

    ma incrustada.

    Posibilidad de ver los vdeos a tamao original, de ventana o pantalla completa.

    En modo reproduccin, tendremos una lista de reproduccin con