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
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
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
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
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
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
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
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
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
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
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
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
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
Real Time Streaming Protocol
• PROCESO (On-demand)
Servicios de audio y vídeo Francesc Pérez Fdez
1
2
3
4
5
6
6
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
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
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
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
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
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
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
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
Real Time Streaming Protocol
• Código de respuestas RTSP:
Servicios de audio y vídeo Francesc Pérez Fdez
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
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
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
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
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
Top Related