Tecnologas de Streaming
Francisco Jos Surez Alonso
UNIVERSIDAD DE OVIEDO
rea de Arquitectura y Tecnologa de Computadores
Curso 2010/2011
Tecnologas de Streaming
Introduccin Servicios Arquitectura Tecnologas
Tecnologas Multimedia - Tecnologas de Streaming
Tipos de acceso a medios continuos
Descarga tradicional
El cliente descarga toda la informacin a disco y despus la reproduce
Descarga progresiva (pseudo-streaming)
El cliente reproduce la informacin segn la va descargando a disco o a memoria (YouTube, Google vdeos, etc.)
Streaming
El cliente reproduce la informacin segn le llega segmentada a travs de la red y luego la descarta (servicios de calidad)
Tecnologas Multimedia - Tecnologas de Streaming
Definicin de Streaming
Tecnologa de transmisin a travs de redes de medios continuos (principalmente audio y vdeo) No existe descarga de informacin a un disco local Se enva la informacin a travs de la red y el cliente la reproduce en tiempo real al recibirla
Audio Vdeo
RED
RED
CLIENTE SERVIDOR Tecnologas Multimedia - Tecnologas de Streaming 4
Paquetizacin
Objetos de medios de A/V divididos en segmentos Envo en paquetes de red con varios segmentos Recepcin de segmentos y reproduccin No hay equivalencia entre cuadros de vdeo, paquetes y segmentos
informacin lista para reproducir (tiene parte de un cuadro)
A/V original
FRAGMENTACIN
Audio SEGMENTOS RED Vdeo
SERVIDOR
paquetes de red
CLIENTE
R E E N S A M B L A D O
Tecnologas Multimedia - Tecnologas de Streaming
Streaming frente a Descarga
Streaming
reproduce los paquetes segn van llegando flujo de paquetes los descarta
SERVIDOR
RED
CLIENTE
Transferencia clsica
A/V original
A/V original
Tecnologas Multimedia - Tecnologas de Streaming
Tecnologas de Streaming
Introduccin Servicios Arquitectura Tecnologas
Tecnologas Multimedia - Tecnologas de Streaming
Tipos de servicios
En directo (live)
Similar a un canal de televisin
Bajo demanda (on-demand)
Similar a un reproductor de vdeo
Casi bajo demanda
Simula el funcionamiento de un servicio bajo demanda con flujos de vdeo en directo
Tecnologas Multimedia - Tecnologas de Streaming
Vdeo en directo
Est orientado a la multidifusin El servidor comienza a transmitir en un instante dado Los usuarios ven la informacin que se est emitiendo En este tipo de servicio no existe interactividad nicamente est permitido realizar pausas
(cuando el usuario recupere la reproduccin podr ver la informacin que se est transmitiendo en ese instante)
Tecnologas Multimedia - Tecnologas de Streaming
Vdeo en directo
Inicio de la transmisin
Fin de la transmisin
Cliente1 Cliente2 Cliente3 Cliente4
pausa
Cliente5
Tiempo
en un instante t todos los clientes ven lo mismo
Tecnologas Multimedia - Tecnologas de Streaming
10
Vdeo en directo Segn el origen de las seales de audio/vdeo
Con informacin en vivo Con informacin almacenada
sistema de almacenamiento
Productor
Servidor
Clientes 11
Tecnologas Multimedia - Tecnologas de Streaming
Vdeo en directo Segn el tipo de transmisin
Unicast : se enva un flujo de informacin a cada usuario Multicast : se enva un flujo nico de informacin
Unicast
Multicast
todos los usuarios comparten los flujos
Tecnologas Multimedia - Tecnologas de Streaming
12
Vdeo bajo demanda
Los usuarios solicitan el envo de informacin en cualquier instante Envo de un flujo a cada usuario Existen diversos tipos de interacciones
Pausas Saltos hacia delante Saltos hacia atrs
Tecnologas Multimedia - Tecnologas de Streaming
13
Vdeo bajo demanda
Cliente1 Cliente2 Cliente3 Cliente4
pausa
Cliente5
Tiempo
Tecnologas Multimedia - Tecnologas de Streaming
14
Tecnologas de Streaming
Introduccin Servicios Arquitectura Tecnologas
Tecnologas Multimedia - Tecnologas de Streaming
15
Arquitectura
ELEMENTOS PRESENTES EN LA ARQUITECTURA
Sistema de produccin Formatos de almacenamiento Servidor Proxy Red / Protocolos Cliente
Tecnologas Multimedia - Tecnologas de Streaming
16
Arquitectura tpica
Sistema de almacenamiento
Servidor Clientes Proxy
Formato + Compresin
Software servidor de A/V
Sistema de produccin
Red
Protocolos
Software cliente
Tecnologas Multimedia - Tecnologas de Streaming
17
Tipos de arquitectura
Arquitectura tpica
Con servidor y cliente
Arquitectura sin servidor (server-less)
No hay servidor de a/v Se sirve mediante un servidor web Da lugar a servicios de pseudo-streaming o fast-start
Arquitectura sin cliente (client-less)
No hay programa cliente Se utiliza para visualizar un applet Java o un plugin (p.e. Flash)
Tecnologas Multimedia - Tecnologas de Streaming
18
Sistema de produccin
Genera los flujos de audio/vdeo que se van a transmitir Tipos de produccin:
Para almacenar Para emitir en directo
Hardware
Elementos de adquisicin: cmaras, micrfonos, capturadoras
Software
Software de edicin Software de produccin para transmisin mediante streaming
Tecnologas Multimedia - Tecnologas de Streaming
19
Produccin
Para almacenamiento
Genera los flujos de audio/vdeo en formato para streaming y los almacena
Para emisin en directo
Transmite los flujos hacia el o los servidores
Se puede recibir la entrada de un sistema de captura convencional o de un sistema de almacenamiento Se puede almacenar y emitir en directo simultneamente Produccin
Sistema de almacenamiento Sistema de almacenamiento
Sistema de produccin en vivo
Servidor
Tecnologas Multimedia - Tecnologas de Streaming
20
Proceso de produccin
Servidor
Conversin a formato de Streaming Generacin
Captura Sistema de almacenamiento Postproduccin Conversin a formato de Streaming
Tecnologas Multimedia - Tecnologas de Streaming
21
Formatos de almacenamiento
Caractersticas generales:
Especficos para sistemas basados en streaming Informacin dividida en flujos Informacin fragmentada para transmisin temporizada ndices de segmentos y estampas de tiempo para su reproduccin ndices para saltar a diferentes puntos de la pelcula
Tecnologas Multimedia - Tecnologas de Streaming
22
Formatos principales
RM (Real Media), RV (Real Video), RA (Real Audio)
(propietarios de RealNetworks)
WMV (Windows Media Video), ASF (Advanced Streaming Format)
(propietarios de Microsoft)
MOV (MOVie), QT (QuickTime)
(propietarios de Apple)
SWF (ShockWave Flash), FLV (FLash Video)
(propietarios de Adobe)
MPG, MP4
(estndares, pero poco utilizados)
Tecnologas Multimedia - Tecnologas de Streaming
23
Servidor de Streaming
Funcionamiento bajo demanda
1. Espera peticiones de los clientes 2. Cuando recibe una peticin decide si la acepta (control de admisin) 3. Establece una conexin con el cliente 4. Recibe las interacciones del cliente y acta en la transmisin convenientemente
transmitiendo un flujo continuo de informacin no transmitiendo
5. Finaliza la conexin cuando el cliente da por finalizada la comunicacin o cuando la informacin solicitada finaliza
Tecnologas Multimedia - Tecnologas de Streaming
24
Servidor de Streaming
Funcionamiento en directo
1. Recibe la transmisin del productor 2. Comienza la emisin 3. Espera peticiones de los clientes 4. Cuando recibe una peticin decide si la acepta (control de admisin) 5. Establece una conexin con el cliente 6. Recibe la interaccin del cliente (slo pausa) y acta en la transmisin convenientemente
transmitiendo un flujo continuo de informacin no transmitiendo
7. Finaliza la conexin cuando el cliente lo solicita 8. Finaliza la emisin cuando deja de recibir seal del productor
Tecnologas Multimedia - Tecnologas de Streaming 25
Establecimiento de conexiones
Canal para el control de los flujos multimedia
Canal bidireccional Recibe las interacciones del cliente y transmite las respuestas
Canales para el envo de los datos multimedia
Unidireccionales Transmiten la informacin cuando las interacciones lo requieren
Servidor de Streaming
Canal de control
Canal de transporte
Cliente de Streaming
Tecnologas Multimedia - Tecnologas de Streaming
26
Interacciones
Recibe las interacciones del cliente (play, stop, pause, etc.) y acta sobre el flujo de informacin multimedia
play
pause avance
play
pause
play
stop
parado
parado
se establece la conexin
transmitiendo informacin A/V
se destruye la conexin
Tecnologas Multimedia - Tecnologas de Streaming
27
Transmisin de medios
Fracciona la informacin y la enva de forma temporizada
Fichero con formato para transmisin streaming
t1 ... tn
tn
... t2 t1
Servidor de Streaming
segmentos de audio y de vdeo
Canal de vdeo
Cliente de Streaming
Canal de audio
Tecnologas Multimedia - Tecnologas de Streaming
28
Multiplexado del servicio
Cada cliente tiene su canal para la transmisin Un hilo alimenta cada canal
paquetes de datos enviados de forma temporizada
canal n intervalos de pausa canal 3 canal 2 canal 1
tiempo intervalos de play
Servidor
Clientes 29
Tecnologas Multimedia - Tecnologas de Streaming
Adaptacin a las condiciones de la red
Se modifica la calidad del vdeo en tiempo real en funcin de las condiciones de la red
si mejoran paso a clase B A empiezo a transmitir con clase A
Calidad A Calidad B Calidad C
Vdeo
si siguen empeorando paso a clase C
si las condiciones de red empeoran paso a clase B
Tecnologas Multimedia - Tecnologas de Streaming
30
Tcnica Surestream de RealNetworks
cuadros por segundo en Surestream
ancho de banda consumido por las diferentes calidades
Tecnologas Multimedia - Tecnologas de Streaming
31
Generador de continuidad
Inicio de la transmisin Fin de la transmisin
Se genera el flujo continuo de audio/vdeo
Vdeo 1 Vdeo 2 Vdeo 3
Audio/Vdeo
Generador de continuidad
Vdeo 1 Vdeo 2 Vdeo 3
Sistema de almacenamiento
Programacin 32
Tecnologas Multimedia - Tecnologas de Streaming
Proxy
Funcionalidades segn el tipo de servicio:
A/V bajo demanda: almacena temporalmente la informacin ms
recientemente utilizada y la transmite a los clientes en caso de ser nuevamente solicitada
A/V en directo: reduce el nmero de flujos que salen del servidor
Clientes
Servidor
Red
Proxy
solicitan n flujos (uno por cliente)
el servidor enva un nico flujo
disminuye el trfico en la red
Tecnologas Multimedia - Tecnologas de Streaming
33
Protocolos Sistemas sin control
HTTP: no hay control sobre la transmisin
Sistemas con control sobre la transmisin
Control (nivel de aplicacin)
Estndar RTSP (Real Time Streaming Protocol) Otros protocolos propietarios: MMS de Microsoft o RTMP y RTMFP de Adobe
Transporte de datos (nivel de transporte)
Estndar RTP (Real-Time Transport Protocol) UDP TCP
Tecnologas Multimedia - Tecnologas de Streaming
34
Sistemas con control sobre la transmisin
Dos canales de comunicacin entre los clientes y el
servidor de streaming:
Un canal para el control de la sesin (RTSP) Un canal para la transmisin de la informacin (RTP/UDP/TCP)
Servidor de Streaming
Canal de control
Canal de transporte
Cliente de Streaming
Tecnologas Multimedia - Tecnologas de Streaming
35
Protocolo RTSP
Es un protocolo de nivel de aplicacin Utiliza TCP como protocolo de transporte de los datos de control Permite la recepcin de informacin multimedia desde servidores El cliente puede solicitar al servidor la transmisin de informacin (flujo de conferencia, parte de una presentacin multimedia, etc.)
RTSP TCP IP UDP
Tecnologas Multimedia - Tecnologas de Streaming
36
Protocolo RTSP
Establece y controla uno o varios flujos sincronizados de medios continuos (audio y vdeo)
RTSP
Flujo de vdeo Flujo de audio
Acta como un control remoto de los servidores multimedia
Tecnologas Multimedia - Tecnologas de Streaming
37
Protocolo RTSP
Similitudes con HTTP:
Formato de las peticiones/respuestas Formato de las URL Sintaxis Negociacin de los contenidos
Diferencias importantes con HTTP:
RTSP es un protocolo con estado a diferencia de HTTP Tanto servidores como clientes RTSP pueden realizar peticiones Los datos son transportados mediante un protocolo diferente Cada flujo transportado puede residir en un servidor distinto
Tecnologas Multimedia - Tecnologas de Streaming
38
Protocolo RTSP (sesiones)
Tecnologas Multimedia - Tecnologas de Streaming
39
Protocolo RTP
Componentes:
RTP (propiamente dicho) RTCP (Real Time Control Protocol) (asociado)
Trabaja sobre el protocolo UDP Caractersticas especiales de tiempo real:
Nmeros de secuencia Marcas de tiempo
Tecnologas Multimedia - Tecnologas de Streaming
40
Protocolo RTP
Limitaciones:
No garantiza el envo No garantiza que los paquetes lleguen ordenados No garantiza que los paquetes lleguen a tiempo No garantiza la calidad de servicio Pero proporciona la informacin para controlarla
Tecnologas Multimedia - Tecnologas de Streaming
41
Protocolo RTCP
Implica la transmisin peridica de paquetes de control a todos los participantes en una sesin La funcin principal es proporcionar mecanismos de realimentacin para informar sobre la calidad en la distribucin de los datos Utilidad:
diagnostico de fallos en la distribucin construccin de codificadores adaptables (SureStream de RealNetworks)
Tecnologas Multimedia - Tecnologas de Streaming
42
Cliente de Streaming
Componentes:
Recepcin
Recibe la informacin solicitada por el usuario
Presentacin
Reproduce la informacin recibida de forma temporizada Proporciona un interfaz para que el usuario interaccione
Buffer
Se utiliza para controlar la calidad del servicio
Tecnologas Multimedia - Tecnologas de Streaming
43
Cliente de Streaming
Pantalla para la visualizacin
Red
Interfaz para la interaccin
Buffer del cliente
llegada de paquetes de la red
amortigua los efectos de jitter de la red, evitando interrupciones en la reproduccin
reproduccin de los paquetes (playout)
Tecnologas Multimedia - Tecnologas de Streaming
44
Cliente de Streaming
El buffer se carga antes de comenzar la reproduccin Cuando el buffer se vaca, se detiene la reproduccin para recargarlo (fallo de reproduccin) El buffer amortigua posibles retrasos en la llegada de paquetes (por problemas en la red o sobrecarga en el servidor) Habitualmente existen buffers tanto de audio como de vdeo El tamao del buffer debe balancear tiempo de arranque y calidad de reproduccin
Tecnologas Multimedia - Tecnologas de Streaming
45
Tecnologas de Streaming
Introduccin Servicios Arquitectura Tecnologas
Tecnologas Multimedia - Tecnologas de Streaming
46
Tecnologas clsicas
Real Media (www.realnetworks.com)
Compaa RealNetworks Multiplataforma Cdigo abierto y protocolos estndar
QuickTime (www.quicktime.com)
Compaa Apple Multiplataforma Cdigo abierto y protocolos estndar
Windows Media (www.windowsmedia.com)
Compaa Microsoft Plataforma Windows Cdigo propietario y protocolos estndar
Tecnologas Multimedia - Tecnologas de Streaming 47
Tecnologas emergentes
Flash Media (www.adobe.com/products/flashmediaserver)
Compaa Adobe Multiplataforma Cdigo y protocolos propietarios
Red 5: Open Source Flash Server (www.osflash.org/red5)
Proyecto OSFlash de software libre Multiplataforma Cdigo abierto y protocolos no estndar (de momento) Ya utilizado de forma profesional por algunas empresas
VLC Media Player (www.videolan.org)
Proyecto VideoLAN de software libre Multiplataforma Cdigo abierto y protocolos estndar
Tecnologas Multimedia - Tecnologas de Streaming 48
Real Server
Tecnologas Multimedia - Tecnologas de Streaming
49
Real Producer
Tecnologas Multimedia - Tecnologas de Streaming
50
Real Player
Tecnologas Multimedia - Tecnologas de Streaming
51
Windows Media
Media Server Media Encoder
Media Player
Tecnologas Multimedia - Tecnologas de Streaming 52
QuickTime Server
Tecnologas Multimedia - Tecnologas de Streaming
53
QuickTime Player
Tecnologas Multimedia - Tecnologas de Streaming
54
Flash Media
Media Server Media Encoder
Media Player
Tecnologas Multimedia - Tecnologas de Streaming 55
VLC Media Player
VLC Media Player (cliente / servidor) VLM (Manager) Interface (mdulo servidor VOD)
Tecnologas Multimedia - Tecnologas de Streaming
56