Universidad Politécnica De Valencia
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSIDAD POLITÉCNICA DE VALENCIA ESCUELA POLITÉCNICA SUPERIOR DE GANDÍA MÁSTER EN POSTPRODUC CIÓN DIGITAL “Estudio de emisión de vídeo sobre HTML5” TRABAJO FINAL DE MÁSTER Autor: Andrés López Herreros Director: Jaime Lloret Mauri Gandía, septiembre de 2014 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros Página | 2 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros “La lucha es lo más importante; no su resultado, sino la rebelión en sí misma” FRITZ LANG Página | 3 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros Página | 4 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros RESUMEN / ABSTRACT El siguiente proyecto se presenta como un estudio de las diferentes posibilidades de emisión de vídeo digital a través del lenguaje de etiquetas HTML5 considerando el soporte de los navegadores del mercado frente a los diferentes formatos de contenedor y códecs. Igualmente, se analizan los distintos parámetros de compresión de software de codificación de vídeo para comprobar los ratios que soporten una mejor relación de tamaño/bitrate para su emisión en Internet bajo el estándar de HTML5. The next project is presented as a study of the different possibilities of digital video broadcast through HTML5 markup considering the market browsers support compared to the different codecs and container formats. Similarly, the various parameters of software compression video coding are analyzed for the ratios that support a better size/bitrate for broadcast on the Internet under the standard HTML5. PALABRAS CLAVE / KEY WORDS ESPAÑOL: HTML5, códec, compresión, vídeo, API. ENGLISH: HTML5, codec, codification, video, API. Página | 5 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros Página | 6 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros ÍNDICE GENERAL 1. Introducción 14 1.1. Introducción 14 1.2. Objetivos 16 1.3. Precedentes del proyecto 17 1.4. Estructura del proyecto 18 2. El estándar HTML5 22 2.1. Confección de la página web y enlace con vídeo 22 2.2. Código HTML para el header del index 23 2.3. Código HTML para la elección automática del formato de vídeo adecuado según el tipo de navegador 24 2.4. Código JavaScript para averiguar cuál es el navegador 25 2.5. Llamada a una función JavaScript para ejecutar la API WebWorkers de HTML5 25 3. Formatos, códecs y soporte en navegadores 26 3.1. Concepto contenedor 26 3.2. Códec 27 3.3. Principales códecs del estándar 29 3.3.1 MP4 (H.264) 29 3.3.2 OGG (Theora) 31 3.3.3 WebM (VP8) 36 4. Estudio y análisis de la codificación y emisión de vídeo sobre HTML5 39 4.1. Material y software utilizado 39 Página | 7 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros 4.2. Resultados experimentales 42 4.2.1 Identificación de los parámetros a analizar 42 4.2.2 Medición de datos 43 4.2.3 Creación de ratios 43 4.3. Resultado del análisis 44 4.3.1 Tamaños finales de codificación en PAL 25 y NTSC 23,976 según diferentes bitrates utilizando el software VLC 44 4.3.2 Tiempos finales de codificación en PAL 25 y NTSC 23,976 según diferentes bitrates utilizando el software VLC 51 4.3.3 Tamaños finales de codificación en PAL 25 y NTSC 23,976 según diferentes bitrates utilizando el software SUPER 55 4.3.4 Tiempos finales de codificación en PAL 25 y NTSC 23,976 según diferentes bitrates utilizando el software SUPER 59 4.4. Gráficas comparativas 64 4.5. Discusión de resultados 78 5. Conclusiones 84 5.1. Cumplimiento del objetivo 84 5.2. Conclusiones sobre el proyecto 85 5.3. Problemas encontrados y cómo se han solucionado 87 5.4. Aportaciones personales 88 5.5. Futuras líneas de trabajo 89 6. Bibliografía 91 6.1. Referencias 91 6.2. Bibliografía complementaria 93 Página | 8 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros ÍNDICE DE TABLAS 1. Soporte de los tres formatos del estándar HTML5 en los principales navegadores 27 2. Soporte de los tres códecs de vídeo del estándar HTML5 en los principales navegadores 28 2.1. Soporte de los tres códecs de audio del estándar HTML5 en los principales navegadores 29 3. Tamaños finales de codificación (MB) en PAL 25 con VLC y MP4 44 4. Tamaños finales de codificación (MB) en PAL 25 con VLC y OGG 45 5. Tamaños finales de codificación (MB) en PAL 25 con VLC y WebM 45 6. Tamaños finales de codificación (MB) en NTSC 23,976 con VLC y MP4 47 7. Tamaños finales de codificación (MB) en NTSC 23,976 con VLC y OGG 47 8. Tamaños finales de codificación (MB) en NTSC 23,976 con VLC y WebM 48 9. Tiempos finales de codificación (ms) en PAL 25 con VLC y MP4 51 10. Tiempos finales de codificación (ms) en PAL 25 con VLC y OGG 52 11. Tiempos finales de codificación (ms) en PAL 25 con VLC y WebM 52 12. Tiempos finales de codificación (ms) en NTSC 23,976 con VLC y MP4 53 13. Tiempos finales de codificación (ms) en NTSC 23,976 con VLC y OGG 54 14. Tiempos finales de codificación (ms) en NTSC 23,976 con VLC y WebM 54 15. Tamaños finales de codificación (MB) en PAL 25 con SUPER y MP4 55 16. Tamaños finales de codificación (MB) en PAL 25 con SUPER y OGG 56 17. Tamaños finales de codificación (MB) en PAL 25 con SUPER y WebM 56 18. Tamaños finales de codificación (MB) en NTSC 23,976 con SUPER y MP4 57 19. Tamaños finales de codificación (MB) en NTSC 23,976 con SUPER y OGG 58 20. Tamaños finales de codificación (MB) en NTSC 23,976 con SUPER y WebM 58 21. Tiempos finales de codificación (ms) en PAL 25 con SUPER y MP4 59 22. Tiempos finales de codificación (ms) en PAL 25 con SUPER y OGG 60 23. Tiempos finales de codificación (ms) en PAL 25 con SUPER y WebM 60 24. Tiempos finales de codificación (ms) en NTSC 23,976 con SUPER y MP4 62 25. Tiempos finales de codificación (ms) en NTSC 23,976 con SUPER y OGG 62 26. Tiempos finales de codificación (ms) en NTSC 23,976 con SUPER y WebM 63 27. Relación de parámetros de QoE según frame rate y software para MP4, OGG y WebM 81 Página | 9 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros ÍNDICE DE FIGURAS 1. Funcionamiento del algoritmo de compresión H.264 30 2. Capa del campo de la cabecera de metadatos OGG en la multiplexación del algoritmo (Ogg Page) 32 3. Fase del multiplexado OGG que indica en un campo de 8 bits el tipo de información que contiene 33 4. Ejemplos de software de terceros que soportan la codificación a través de la librería libtheora 35 5. Ejemplos de servidores de multimedia que pueden realizar streaming con Theora 35 6. Funcionamiento del algoritmo de compresión VP8 junto a su aceleración de software RTC 39 7. Ejemplo de secuencia GOP de 15 cuadros para MPEG-4, OGG y WebM 50 8. Tamaños finales de codificación (MB) en PAL 25 con VLC 65 8.1. Tamaños finales de codificación (MB) en PAL 25 con VLC y MP4 con ratios de compresión 65 8.2. Tamaños finales de codificación (MB) en PAL 25 con VLC y OGG con ratios de compresión 66 8.3. Tamaños finales de codificación (MB) en PAL 25 con VLC y WebM con ratios de compresión 66 9. Tamaños finales de codificación (MB) en NTSC 23,976 con VLC 67 9.1. Tamaños finales de codificación (MB) en NTSC 23,976 con VLC y MP4 con ratios de compresión 67 9.2. Tamaños finales de codificación (MB) en NTSC 23,976 con VLC y OGG con ratios de compresión 68 9.3. Tamaños finales de codificación (MB) en NTSC 23,976 con VLC y WebM con ratios de compresión 68 Página | 10 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros 10. Tiempos finales de codificación (s) en PAL 25 con VLC 69 10.1. Media de codificación, por segundo de vídeo, en PAL 25 con VLC en comparación al tiempo real de reproducción 69 11. Tiempos finales de codificación (s) en NTSC 23,976 con VLC 70 11.1. Media de codificación, por segundo de vídeo, en NTSC 23,976 con VLC en comparación al tiempo real de reproducción 70 12. Tamaños finales de codificación (MB) en PAL 25 con SUPER 71 12.1. Tamaños finales de codificación (MB) en PAL 25 con SUPER y MP4 con ratios de compresión 71 12.2. Tamaños finales de codificación (MB) en PAL 25 con SUPER y OGG con ratios de compresión 72 12.3. Tamaños finales de codificación (MB) en PAL 25 con SUPER y WebM con ratios de compresión 72 13. Tamaños finales de codificación (MB) en NTSC 23,976 con SUPER 73 13.1. Tamaños finales de codificación (MB) en NTSC 23,976 con SUPER y MP4 con ratios de compresión 73 13.2. Tamaños finales de codificación (MB) en NTSC 23,976 con SUPER y OGG con ratios de compresión 74 13.3. Tamaños finales de codificación (MB) en NTSC 23,976 con SUPER y WebM con ratios de compresión 74 14. Tiempos finales de codificación (s) en PAL 25 con SUPER 75 14.1. Media de codificación, por segundo de vídeo, en PAL 25 con SUPER en comparación al tiempo real de reproducción 75 15. Tiempos finales de codificación (s) en NTSC 23,976 con SUPER 76 Página | 11 Estudio de emisión de vídeo sobre HTML5 Andrés López Herreros 15.1.