Conceptos sobre Streaming

28
Conceptos sobre STREAMING Distribución de contenido multimedia (audio y vídeo) a través de una red de datos en tiempo real. Permite que un archivo pueda ser descargado, almacenado en un buffer de datos (memoria RAM) y leído al mismo tiempo de forma temporal. Apareció en 1995 con Real Audio 1.0 (Real Networks Company ). Está íntimamente relacionado con el concepto Web 2.0. Surgió para aligerar la descarga y ejecución de audio y vídeo en la web. El descenso de tráfico de aplicaciones P2P en Internet se debe al incremento de tráfico STREAMING. Las aplicaciones en tiempo real (ATR) necesitan una tasa de transferencia mínima continua entre el cliente y el servidor igual a la tasa de transferencia de la aplicación. Si la red de datos no puede proporcionar la tasa de transferencia necesaria la calidad de la reproducción se verá afecta. Servicios de audio y vídeo Francesc Pérez Fdez

Transcript of Conceptos sobre Streaming

Page 1: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Distribución de contenido multimedia (audio y vídeo) a través de una red

de datos en tiempo real. Permite que un archivo pueda ser descargado,

almacenado en un buffer de datos (memoria RAM) y leído al mismo tiempo

de forma temporal.

• Apareció en 1995 con Real Audio 1.0 (Real Networks Company). Está

íntimamente relacionado con el concepto Web 2.0. Surgió para aligerar la

descarga y ejecución de audio y vídeo en la web. El descenso de

tráfico de aplicaciones P2P en Internet se debe al incremento de tráfico

STREAMING.

• Las aplicaciones en tiempo real (ATR) necesitan una tasa de

transferencia mínima continua entre el cliente y el servidor igual a la tasa

de transferencia de la aplicación. Si la red de datos no puede

proporcionar la tasa de transferencia necesaria la calidad de la

reproducción se verá afecta.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 2: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Los componentes básicos de un sistema streaming son:

Códecs: son archivos que interpretan el formato del archivo

multimedia y hacen posible su reproducción.

Protocolos: HTTP, RTSP, RTP, RTCP, TCP, UDP

Precarga: los clientes precargan el archivo multimedia antes de

reproducirlo. Esta reserva de datos pretende que los retrasos

puntuales en la recepción de paquetes, debidos a la congestión o

interrupciones en la red, sean transparentes para el cliente.

Red de datos: la congestión, causada por la saturación del ancho de

banda de los enlaces, y las interrupciones en las comunicaciones son

los principales problemas de las aplicaciones ATR. Ambos factores

provocan retrasos en la recepción de los paquetes, afectando

directamente a la calidad de la reproducción del archivo.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 3: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Los componentes básicos de un sistema streaming son:

Red de datos: red privada

Servicios de audio y vídeo Francesc Pérez Fdez

Page 4: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Los componentes básicos de un sistema streaming son:

Red de datos: red pública

Servicios de audio y vídeo Francesc Pérez Fdez

Page 5: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Puede ofrecer diferentes tipos de servicios:

En directo (Live): similar a una canal de televisión o de radio

Multidifusión (unicast o multicast)

El servidor transmite en un instante determinado información

almacenada o en vivo.

En este tipo de servicio no existe interactividad

Se pueden realizar pausas

Bajo demanda (On-demand): similar a un reproductor de vídeo

Los usuarios solicitan el envío del archivo

Punto a punto (unicast)

El usuario puede interactuar (Pausa, Avanzar, Retroceder)

Casi bajo demanda: simula el funcionamiento de un servicio bajo

demanda con flujos de vídeo en directo.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 6: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Arquitecturas:

Habitual: con cliente y servidor. Protocolos RTSP, RTP, RTCP, TCP,

UCP

Server-less: no hay servidor streaming, el archivo se sirve al cliente

mediante un servidor web (pseudostreaming o fast-start). Protocolos

HTTP y TCP

Client-less: simula el funcionamiento de un servicio bajo demanda con

flujos de vídeo en directo.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 7: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Es aconsejable instalar un Proxy para brindar con garantías el servicio de

streaming. Por ejemplo, en el tipo de servicio bajo demanda, el proxy

libera de carga al servidor streaming entregando en su lugar el archivo

solicitado al cliente si lo tiene en caché. En el tipo de servicio en directo, el

proxy reproduce el stream que sale del servidor para los diferentes clientes.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 8: Conceptos sobre Streaming

Conceptos sobre STREAMING

• El flujo de datos (stream) puede provenir de un sistema de

almacenamiento o de un sistema de producción en tiempo real. En

ambos casos el flujo de datos debe tener un formato adaptado para la

tecnología streaming:

Real Networks: RM (Real Media), RV (Real Video), RA (Real Audio)

Microsoft: WMV (Windows Media Video), ASF (Advanced Streaming

Format)

Apple: MOV (MOVie), QT (Quick Time)

Adobe: SWF (ShockWave Flash), FLV (Flash Video)

Otros estándares: MPEG, MP4

• En una comunicación streaming se establecen dos conexiones, a nivel

de la capa de transporte, entre el cliente y el servidor:

Canal de control: intercambio bidireccional (peticiones/respuestas)

Canal de transferencia: unidireccional, envío del flujo de datos

Servicios de audio y vídeo Francesc Pérez Fdez

Page 9: Conceptos sobre Streaming

Conceptos sobre STREAMING

• La tecnología Streaming utiliza varios protocolos:

Sin control sobre la transmisión: HTTP

Con control sobre la transmisión:

Nivel de aplicación: RTSP (Real Time Streaming Protocol), MMS

(Microsoft), RTMP y RTMFP de Adobe.

Nivel de transporte: RTP (Real-Time Transport Protocol), UDP,

TCP

Servicios de audio y vídeo Francesc Pérez Fdez

RTSP

TCP

IP

RTP

UDP

IP

Realiza el control de flujo

sobre los datos enviados y

los marca temporalmente.

Dota a la tx de ciertas

características especiales

de tiempo real.

Peticiones/respuestas

STREAM

TCP

554

Page 10: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Tecnologías clásicas:

Real Media (www.realnetworks.com)

Compañía Real Networks

Multiplataforma

Código Abierto y protocolos estándar

Quick Time (www.quicktime.com)

Compañía Apple

Multiplataforma

Código Abierto y protocolos estándar

Windows Media (www.windowsmedia.com)

Compañía Microsoft

Plataforma Windows

Código propietario y protocolos estándar

Servicios de audio y vídeo Francesc Pérez Fdez

Page 11: Conceptos sobre Streaming

Conceptos sobre STREAMING

• Tecnologías emergentes:

Flash Media (www.adobe.com&products&flashmediaserver)

Compañía Adobe

Multiplataforma

Código y protocolos propietarios

Red 5: Open Source Flash Server (www.osflash.org/red5)

Proyecto OSFlash de software libre

Multiplataforma

Código Abierto y protocolos no estándar

VLC Media Player (www.videolan.org)

Proyecto VideoLAN de software libre

Multiplataforma

Código abierto y protocolos estándar

Servicios de audio y vídeo Francesc Pérez Fdez

Page 12: Conceptos sobre Streaming

Real Time Streaming Protocol

• RFC 2326, protocolo de la capa de aplicación responsable de la entrega

de datos (audio y vídeo) en tiempo real.

• RTSP es un protocolo no orientado a conexión, el control y reenvío de

los datos corre a cargo del protocolo TCP.

• Soporta todos los mecanismo de seguridad (TLS/SSL) y autenticación

HTTP1.1

• El flujo de datos que recibe el cliente puede provenir de varios servidores

RTSP.

Servicios de audio y vídeo Francesc Pérez Fdez

STREAM

AUDIO

STREAM

VIDEO Sincronización

de STREAMS

Page 13: Conceptos sobre Streaming

Real Time Streaming Protocol

• PROCESO (On-demand)

1) El cliente lee la descripción de la sesión RTSP del archivo que

desea reproducir con los parámetros de configuración para la conexión,

en un servidor web (podría ser en cualquier otro tipo de plataforma)

2) El cliente establece una conexión de control TCP hacia el puerto 554

con la intención de establecer una sesión RTSP.

3) El cliente solicita la descarga del archivo

4) El servidor establece dos conexiones UDP (audio y vídeo) para

descargar el archivo hacia los puertos negociados en el SETUP con el

cliente.

5) El protocolo RTCP es el responsable de supervisar la calidad de cada

stream y solicitar el aumento o disminución de la tasa de

transferencia (frames per second)

6) El cliente solicita por el canal de control que se detenga el flujo y

finalmente cierra la conexión liberando los recursos reservados en

el servidor.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 14: Conceptos sobre Streaming

Real Time Streaming Protocol

• PROCESO (On-demand)

Servicios de audio y vídeo Francesc Pérez Fdez

1

2

3

4

5

6

6

Page 15: Conceptos sobre Streaming

Real Time Streaming Protocol

• Existen técnicas, como la de RealNetworks y su Surestream, que permiten

modificar el numero de imágenes enviadas por segundo si la calidad de la

comunicación baja. Si mejora ocurre lo contrario.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 16: Conceptos sobre Streaming

Real Time Streaming Protocol

• Tipos de peticiones RTSP:

DESCRIBE: usado para solicitar la descripción de un determinado

stream

Servicios de audio y vídeo Francesc Pérez Fdez

Page 17: Conceptos sobre Streaming

Real Time Streaming Protocol

• Tipos de peticiones RTSP: :

ANNOUNCE: en sentido cliente servidor sirve para modificar los

parámetros de conexión del fichero de descripción de un archivo u en

sentido servidor cliente se utiliza para actualizar los parámetros de

conexión.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 18: Conceptos sobre Streaming

Real Time Streaming Protocol

• Tipos de peticiones RTSP: :

SETUP: sirve para que el cliente pueda determinar los parámetros de

conexión de la capa de transporte incluso para descargas ya iniciadas.

Cada petición SETUP origina un identificador de sesión RTSP.

PLAY: el cliente indica al servidor que puede empezar a enviar el flujo

de datos continuo de la forma definida en el SETUP. En el ejemplo, el

servidor RTSP almacena en una cola con First In First Out las

peticiones PLAY y ejecuta el mismo archivo tres veces de forma

consecutiva (no simultánea): la primera de los segundos 10 al 15, la

segunda del 20 al 25 y la tercera del 30 hasta el final.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 19: Conceptos sobre Streaming

Real Time Streaming Protocol

• Tipos de peticiones RTSP:

PLAY: si no especificamos un Range, por defecto el archivo se sirve

desde el principio.

El parámetro time especifica en UTC el tiempo en el que debe empezar

a servirse el archivo. Si el servidor recibe este mensaje pasado el

tiempo especificado en time, el archivo se sirve automáticamente.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 20: Conceptos sobre Streaming

Real Time Streaming Protocol

• Tipos de peticiones RTSP: :

PLAY:

PAUSE: interrumpe la entrega de un stream temporalmente.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 21: Conceptos sobre Streaming

Real Time Streaming Protocol

• Tipos de peticiones RTSP:

TEARDOWN: interrumpe la entrega del stream, liberando los recursos

en el servidor

GET_PARAMETER: se utiliza para verificar el estado del servidor

RTSP, es una especie de “ping”.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 22: Conceptos sobre Streaming

Real Time Streaming Protocol

• Tipos de peticiones RTSP: :

REDIRECT: el servidor le indica al cliente que ha de conectarse a otro

servidor

RECORD: en el ejemplo el cliente le indica al servidor que grabe la

conferencia indicada y guarde el archivo en la URL especificada. E

servidor ha sido invitado a la conferencia antes de esta solicitud.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 23: Conceptos sobre Streaming

Real Time Streaming Protocol

• Código de respuestas RTSP:

Servicios de audio y vídeo Francesc Pérez Fdez

Page 24: Conceptos sobre Streaming

Real Time Streaming Protocol

• Ejemplo real de configuraciones Streaming:

Bajo demanda (unicast): en el ejemplo, el cliente a través de una

página web obtiene la descripción del stream que quiere visualizar

(película). El servidor web responde indicando al cliente que el audio y

el vídeo se encuentran en servidores diferentes.

El cliente establece una sesión con el servidor de audio y después otra

una nueva con el servidor de vídeo. La descarga de los archivos aún

no ha empezado, el streaming aún no empezó.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 25: Conceptos sobre Streaming

Real Time Streaming Protocol

• Configuraciones Streaming:

El cliente empieza la descarga del archivo de vídeo y después el de

audio. La descarga de los archivos ha empezado, el streaming aún

empezó.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 26: Conceptos sobre Streaming

Real Time Streaming Protocol

• Configuraciones Streaming:

• El cliente sincroniza la reproducción local del archivo de audio y vídeo.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 27: Conceptos sobre Streaming

Real Time Streaming Protocol

• Configuraciones Streaming:

• El cliente cierra las sesiones RTSP con ambos servidores.

Servicios de audio y vídeo Francesc Pérez Fdez

Page 28: Conceptos sobre Streaming

Real Time Streaming Protocol

• RTSP resulta problemático de configurar cuando atraviesa una red con

políticas de seguridad aplicadas al tráfico entre redes. El puerto TCP

554 ha de ser accesible desde el cliente hasta el servidor y el servidor ha

de poder conectarse a los puertos UDP del cliente para el inicio de la

descarga.

• En los últimos años, los avances en la tecnología del streaming han

permitido a empresas como Adobe o Microsoft desarrollar tecnologías

para aplicaciones como Flash y Silverlight, que funcionan bajo el protocolo

HTTP. Youtube o Hulu, este último orientado a los internautas de Estados

Unidos, utilizan Adobe Flash para la reproducción de vídeos.

• Como alternativa a estas tecnologías, Apple ha propuesto un nuevo

sistema de streaming basado en el protocolo HTTP. Apple ha presentado

este sistema a la organización IETF (Internet Engineering Task Force),

encargada de los protocolos y estándares de comunicación de Internet.

• Plataformas: ADNStream, Last.fm,

Servicios de audio y vídeo Francesc Pérez Fdez