Documentos de Académico
Documentos de Profesional
Documentos de Cultura
HTTP Streaming
GRADO EN INGENIERÍA DE TECNOLOGÍAS Y SERVICIOS DE TELECOMUNICACIÓN
Dpto. de Comunicaciones
Universidad Politécnica de Valencia
Universitat Politècnica de València
www.upv.es
OBJETIVOS
1. Introducción
Objetivos
2. Necesidad de soluciones adaptativas
Contenido
3. Evolución de la tecnología HTTP Streaming
4. Protocolo DASH
5. Actividades y prácticas
6. Referencias bibliográficas
Objetivos
Contenido
1. Introducción
2. Necesidad de
soluciones
adaptativas
1. Introducción
3. Evolución de la
tecnología HTTP
Streaming
4. Protocolo DASH
5. Actividades y
prácticas
6. Referencias
bibliográficas
1. Introducción
¿Y después de la codificación…?
1. Introducción
Codificación de vídeo
resolución, fps, formato de
muestreo (4:2:0, …), profundidad de -libx264, -libx265 Coeficientes y
color (SDR, HDR) vectores de
-crf, -b:v, -b:a, -g, -bf, …
contenedor: .mp4, .webm, .mkv movimiento:
Y 100101010101001
………0101011
Cb Modelo Modelo Modelo
temporal espacial entrópico
Cr
video.yuv
Ejemplo práctica (tearsofsteel)
espacio_almacenamiento (bytes) = 3,87 GB
bitrate (bps) = 266,6 Mbps
video.mp4
Ejemplo práctica (tearsofsteel)
espacio_almacenamiento (bytes) = 27 MB
bitrate (bps) = 1,8 Mbps
1. Introducción
Codificación de vídeo
1. Introducción
- Protocolo de streaming
- Paquetización (adaptar el contenido
del vídeo/audio en paquetes del
protocolo)
- Añadir información de control
video.mp4
(dependerá del tipo de streaming) que
Coeficientes y vectores de movimiento: permita la reproducción correcta
100101010101001………010101110
(timestamps, número de secuencia,
- Contenedor: información sobre los streams tipo de codificación, URL’s, bitrates,
(video, audio, subtítulos,…) etc.)
- Permite la decodificación y reproducción
“local” correcta (o remota como un
“fichero”)
1. Introducción
Codificación de vídeo
Tema 3 Tema 4
1. Introducción
https://variety.com/2022/tv/news/oscars-abc-will-smith-slap-chris-rock-rob-mills-1235217294/
Objetivos
Contenido
1. Introducción
2. Necesidad de
soluciones
2. Necesidad de soluciones
adaptativas
3. Evolución de la adaptativas
tecnología HTTP
Streaming
4. Protocolo DASH
5. Actividades y
prácticas
6. Referencias
bibliográficas
2. Necesidad de soluciones adaptativas
2. Necesidad de soluciones adaptativas
Sistemas Adaptativos
Congestión
2. Necesidad de soluciones adaptativas
¿Causas y consecuencias de
la congestión? ¿Soluciones?
2. Necesidad de soluciones adaptativas
Soluciones:
- A nivel de red (monitorización y reconfiguración de los recursos de la red)
- A nivel de aplicación (monitorización y adaptación del bitrate del
contenido transmitido)
Soluciones basadas en HTTP/TCP
Control de la congestión entre extremos:
https://media.upv.es/#/portal/video/3a8c4b50-708b-11eb-8edd- https://media.upv.es/#/portal/video/a8f0a3c0-708b-11eb-8edd-
039d38da45d9 039d38da45d9
2. Necesidad de soluciones adaptativas
https://es.statista.com/estadisticas/598771/numero-de-suscriptores-netflix-en-streaming-en-todo-el-mundo/
2. Necesidad de soluciones adaptativas
• Multicast
• Retardo
2. Necesidad de soluciones adaptativas
Web VLC
(TV/DASH) (TV/RTP)
https://media.upv.es/#/portal/video/f9eaa9e0-a1cf-11eb-9288-419662b85124
2. Necesidad de soluciones adaptativas
Objetivos
Contenido
1. Introducción
2. Necesidad de
soluciones
3. Evolución de la tecnología
adaptativas
3. Evolución de la HTTP Streaming
tecnología HTTP
Streaming
4. Protocolo DASH
5. Actividades y
prácticas
6. Referencias
bibliográficas
3. Evolución de la tecnología HTTP Streaming
Pseudo-
Streaming
Progressive
Download
File
Download
3. Evolución de la tecnología HTTP Streaming
File Download
Internet
Video Server
Content
downloaded
to disk
Progressive Download
HTTP GET
META
Progressive Download
Content is streamed and played as it is downloaded
Video Server
Pseudo-streaming
Client can abort stream and request new byte-range
Video Server
Adaptive Streaming
Client downloads manifest, then video chunks of appropriate bitrate Video
Server
• Los datos son enviados como un flujo continuo de pequeños trozos (chunks) (cada
chunk o segmento se recupera con un HTPP GET)
• Soporta trick-play
• Soporta diferentes calidades (bitrates variables)
• Incluye cambios de bitrate durante el streaming
• Pequeños buffers en el cliente
• Optimiza la calidad de experiencia cuando la red está congestionada
3. Evolución de la tecnología HTTP Streaming
3. Evolución de la tecnología HTTP Streaming
3. Evolución de la tecnología HTTP Streaming
https://delight-vr.com/adaptive-streaming/
3. Evolución de la tecnología HTTP Streaming
3. Evolución de la tecnología HTTP Streaming
HTTP GET
https://media.upv.es/#/portal/video/c25c66f0-a7ef-11eb-8768-71e3dbe233ff
3. Evolución de la tecnología HTTP Streaming
• Se solicita el contenido con
un único HTTP GET
• Descarga continua de
contenido
• Descarga controlada por el
control de flujo de TCP
• Descarga de una única
calidad
Source: http://xkcd.com/927/
3. Evolución de la tecnología HTTP Streaming
*The RTMP specifica2on was designed by Adobe for the transmission of audio and video data between
technologies like the Adobe Flash Player. And with the death of Flash slated for 2020, we expect this graph
to change significantly in years to come.
3. Evolución de la tecnología HTTP Streaming
3. Evolución de la tecnología HTTP Streaming
....... (segmento = 2, 5,
segmentos
10 s de vídeo)
Manifiesto Movie A
(MPD)
Manifiesto Movie A
(MPD)
.......
segmentos
4. Protocolo DASH
Codificación Multi-bitrate y adaptación
Web Web Browser
Server DASH
Movie A
tición Manifiesto
HTTP GET Pe
Manifiesto Movie A
(MPD)
.......
segmentos
4. Protocolo DASH
Codificación Multi-bitrate y adaptación
Web Web Browser
Server DASH
Movie A
tición Manifiesto
HTTP GET Pe
Manifiesto Movie A
(MPD)
Manifiesto Movie A
(MPD)
¿Características de la tecnología
HTTP Streaming frente a otras
tecnologías?
4. Protocolo DASH
C1. Segmentación del contenido del vídeo: los archivos de video se dividen
en segmentos cortos de varios segundos (de 2 a 10 segundos) que se
envían a través de la red y que se pueden tratar como pequeños archivos
y de la misma manera que cualquier otro contenido HTTP que se envía a
través de la red. Al hacerlo, se homogeneiza la capa de transporte para
todo el contenido HTTP.
C3. Comunicaciones sin estado: cuando un cliente DASH está viendo una
transmisión de vídeo, cada solicitud de un segmento de video es
independiente de las solicitudes anteriores. En decir, no existe una
conexión persistente entre el cliente y el servidor durante la reproducción
de vídeo.
C5. Arquitectura de red pasiva: cuando los fragmentos de vídeo están siendo
transmi2dos por la red, los nodos intermediarios simplemente enrutan
los fragmentos hacia su des2no final y, en algunos casos, también los
almacenan en caché. Los nodos nunca ejecutan ningún código
especializado ni modifican los fragmentos de vídeo.
4. Protocolo DASH
Web Server
• Server • Cliente
– Puede ser un servidor Web – Envía HTTP GET para solicitar cada
estándar segment (el primer GET para obtener el
– Los contenidos codificados y .mpd)
segmentados se pueden generar – Ejecuta el algoritmo de adaptación antes
off-line (VoD) o bien in-line (Live) de generar el mensaje HTTP GET para
solicitar un segmento
4. Protocolo DASH
4. Protocolo DASH
Cliente DASH 1
3
4. Protocolo DASH
Cliente DASH
4. Protocolo DASH
Cliente DASH
• El proceso cliente tiene la
información sobre el estado
de la red y de la conexión
(métricas)
• La solución es escalable
• Facilidad para cambiar e
innovar en la parte del cliente
(algoritmo de adaptación)
http://www.html5te.st/index.html
4. Protocolo DASH
Cliente DASH
<video>
<source src=“my.mpd”>
<!-- fallback -->
<source src=“my.mp4”>
<source src=“my.webm”>
</video>
MPD
– Media Presentation Description (MDP) (lenguaje xml):
proporciona información para:
• Solicitar los segmentos (mediante HTTP GET)
• Conocer las calidades disponibles por el algoritmo de
adaptación
4. Protocolo DASH
Manifest – Media Presentation Description (MPD)
4. Protocolo DASH
4. Protocolo DASH
Media Segments
• Contienen el video y audio para decodificar
• Contienen información temporal para poder
reproducir segmentos de diferentes calidades
(representaciones) de forma síncrona
• Tamaños típicos:
– short (~ 1 s-10 s)
– long (~10 s – 40 s)
4. Protocolo DASH
4. Protocolo DASH
Duración del segmento Ventajas Desventajas
Navegador Sí MANIFEST
Aplicaciones VoD
Live Broadcast
* ieeexplore.ieee.org (2016 – 2020): artículos publicados
(latencia inicial) sobre DASH
Objetivos
Contenido
1. Introducción
2. Necesidad de
soluciones
adaptativas 5. Actividades y prácticas
3. Evolución de la
tecnología HTTP
Streaming
4. Protocolo DASH
5. Actividades y
prácticas
6. Referencias
bibliográficas
5. Actividades y prácticas
http://bitmovin.com/demos
5. Actividades y prácticas
http://bitmovin.com/demos
5. Actividades y prácticas
Objetivos
Contenido
1. Introducción
2. Necesidad de
soluciones
adaptativas
3. Evolución de la
6. Referencias bibliográficas
tecnología HTTP
Streaming
4. Protocolo DASH
5. Actividades y
prácticas
6. Referencias
bibliográficas
6. Referencias bibliográficas
• ISO/IEC 23009-1 Information technology — Dynamic adaptive streaming over HTTP (DASH) —
Part 1: Media presentation description and segment formats Technologies
• Barman, N., & Martini, M. G. (2019). QoE Modeling for HTTP Adaptive Video Streaming-A
Survey and Open Challenges. IEEE Access, 7, 30831–30859.
https://doi.org/10.1109/ACCESS.2019.2901778
• Bentaleb, A., Taani, B., Begen, A. C., Timmerer, C., & Zimmermann, R. (2018). A Survey on
Bitrate Adaptation Schemes for Streaming Media over HTTP. IEEE Communications Surveys
and Tutorials,. https://doi.org/10.1109/COMST.2018.2862938
• Dr. Christian Timmerer, HTTP Adaptive Streaming State of the Art and Challenges Ahead,
Internet QoE, July 2, 2018,
• Michael Seufert et al., A Survey on Quality of Experience of HTTP Adaptive Streaming, IEEE
COMMUNICATION SURVEYS & TUTORIALS, VOL. 17, NO. 1, FIRST QUARTER 2015
• Video Streaming with NGINX, Rick Nelson Nginx Inc