Este artículo presenta principalmente el esquema de reproducción de video en línea basado en HTML5, analiza cuestiones relacionadas como la codificación y el soporte de navegador. Amigos que lo necesitan pueden referirse a él
Ahora, en esta era especial: Flash está a punto de morir, los problemas históricos de Microsoft e IE, el estándar HTML5 es incierta, la disputa entre Apple y la fuente cerrada de Google y la fuente abierta, la tendencia general de Internet móvil y la propia batalla del navegador ... todos estos desarrolladores web están bastante confundidos cuando diseñan soluciones de video. Este artículo se centra en este tema para discutir tecnologías, principios y herramientas relacionadas.
Errores de codificación y formatoMuchas personas confunden la codificación y el formato para lo mismo, y a menudo usan el sufijo del archivo de video para determinar de manera única el grado de soporte del archivo de video. De hecho, para resumirlo en una oración, el sufijo de archivo de un video (suponiendo que no hay una modificación maliciosa del sufijo) en realidad representa un formato de encapsulación, mientras que el algoritmo de codificación de video o audio no tiene una relación directa con el formato de encapsulación en sí: el mismo formato de encapsulación (el mismo sufix) puede encapsular el video y el audio de la encapsulación de algorits. Si un dispositivo de reproducción de video o software admite reproducción de video depende no solo del formato de empaque, sino también del algoritmo de codificación. Reconocer esto es la base para la comprensión y la solución de problemas de problemas.
El formato de encapsulación especifica todos los contenidos del video, incluidas imágenes, sonidos, subtítulos, controles del sistema, etc., entre los cuales las imágenes y el sonido son los más críticos.
Empiece con MPEGMPEG es una organización internacional que define las especificaciones de los videos. El MPEG-1 y MPEG-2 que una vez lanzaron son en realidad los conocidos VCD y DVD, pero todas estas son cosas antiguas. Echemos un vistazo a las especificaciones MPEG-4 relacionadas con el tema de este artículo.
La especificación MPEG-4 especifica que el sufijo de archivo se llama .mp4, y actualmente incluye tres algoritmos de codificación y compresión de imágenes: XVID/DIVX/AVC (H.264), entre los cuales XVID y DIVX también pueden llamarse colectivamente MPEG-4 Parte 2 o MPEG-4 Visual, mientras que los H.264 más conocidos de H.264 y AVC son los mismos conceptos. El audio es AAC. El siguiente contenido sobre la compatibilidad proviene de las fábricas de Wikipedia y Formato y las pruebas del autor:
Android Browser: admite Divx y AVC, XVID no debe admitirlo
iPhone y iPad (iOS): admite DivX y AVC, XVID no es compatible
Chrome: admite AVC, no admite DivX y XVID. Google anunció a principios de 2011 que eliminaría el soporte del navegador Chrome para AVC (H.264) debido a problemas de licencia. Pero hasta la versión actual, AVC todavía se está compatiendo. Además, después de las pruebas reales, si DivX y AAC se empaquetan en MP4, Chrome puede reproducirse, pero solo el sonido (AAC).
Firefox y Opera: debido al problema de la licencia, Firefox y Opera vacilan gradualmente el soporte para AVC. El autor prueba AVC en el último Firefox y aún puede jugar (la explicación de Wikipedia es que puede estar relacionado con el sistema mismo que tiene un decodificador); En cuanto a DIVX y XVID, los resultados de las pruebas del autor con Firefox no son compatibles. A juzgar por la lista de compatibilidad de Wikipedia, Opera tiene un mal apoyo para AVC.
IE: El IE11 del autor puede admitir AVC, pero no admite Divx y XVID
Defensa de Webm
Debido a los problemas de licencia de AVC (H.264), el campamento de código abierto dirigido por Chrome, Firefox y Opera ha comenzado a sacar soporte para AVC. Aunque estos navegadores aún pueden admitir AVC, también tienden a un proyecto multimedia de código abierto llamado WebM, que incluye una nueva solución de codificación de video y código de código abierto llamada VP8. Actualmente, VP8 se ha desarrollado para VP9. Webm como formato encapsulado tiene el sufijo de .webm y el tipo mime de video/webm. En términos de audio, se puede usar Vorbis/Opus. En términos de compatibilidad, Chrome, Firefox y Opera tienen una compatibilidad muy ideal para VP8, pero Safari e IE apenas pueden soportarlo.
Open Ogg OggOGG es casi lo mismo que WebM, código abierto y es ampliamente compatible con plataformas de código abierto. Su esquema de codificación de video se llama Teora (desarrollado por VP3, desarrollado por la Fundación XIPH.org, y puede usarse en cualquier formato de paquete), y el audio es Vorbis. El sufijo suele ser .Ogv o .Ogg, y el tipo MIME es video/OGG. En términos de compatibilidad, Chrome, Firefox y Opera pueden soportarlo (pero la ópera no puede admitirlo en plataformas móviles), pero Safari e IE difícilmente pueden soportarlo.
Solución HTML5La premisa real de la discusión anterior es: el video se basa en la solución HTML5 <DIDEO>. Ahora resumamos la compatibilidad:
*IE9 VP8 solo se puede admitir si el usuario ha instalado el códec VP8.
‡ Google Chrome anunció su abandono de H.264 en 2011, pero aún no se ha cumplido. Se puede ver que la corriente principal sigue siendo MP4 (AVC), pero para resolver el Sway del campamento de código abierto sobre AVC, puede optar por usar la solución de múltiples fuentes de Video para proporcionar soporte adicional para WebM o OGG basado en AVC:
Código XML/HTML Copiar contenido al portapapeles