- Los desarrolladores web pueden controlar la función Pantalla en pantalla de los videos.
- El decodificador de AV1 ahora es compatible con el escritorio de Chrome x86-64.
- El almacenamiento en búfer y la reproducción entre códecs y transmisiones de bytes cruzados es posible en ECM.
- Chrome ahora admite Opus en MP4 con MSE.
- La reproducción de contenido protegido está permitida de forma predeterminada en Android.
Cómo mirar videos con la función Pantalla en pantalla
La función de pantalla en pantalla (PIP) permite a los usuarios mirar videos en una ventana flotante (siempre encima de otras ventanas) para que puedan supervisar lo que están mirando mientras interactúan con otros sitios o aplicaciones. Con la nueva API web de pantalla en pantalla, puedes iniciar y controlar la función pantalla en pantalla en los videos de tu sitio web.
Lee nuestro artículo para obtener más información.
Decodificador de AV1
AV1 es un códec de nueva generación desarrollado por Alliance for Open Media. AV1 mejora la eficiencia de compresión en más de un 30% respecto del códec de video de vanguardia actual, VP9. Chrome 70 agrega un decodificador AV1 a Chrome Desktop x86-64 según la especificación oficial de flujo de bits. En este momento, la compatibilidad está limitada al perfil 0 "Principal" y no incluye las capacidades de codificación. El contenedor compatible es MP4 (ISO-BMFF) (consulta Desde el video sin procesar hasta la Web listo para obtener una breve explicación de los contenedores).
Para probar AV1, haz lo siguiente:
- Ve a la página de YouTube TestTube.
- Selecciona "Preferir AV1 para SD" o "Preferir AV1 siempre" para obtener la resolución AV1 deseada. Ten en cuenta que, en resoluciones más altas, es más probable que AV1 experimente problemas de rendimiento de reproducción en algunos dispositivos.
- Intenta reproducir clips de YouTube desde la lista de reproducción de lanzamiento de la versión beta de AV1.
- Confirma el códec av01 en “Estadísticas”.
Compatibilidad con el cambio de códecs y contenedores en ECM
Chrome agrega compatibilidad para mejorar las transiciones entre códecs o transmisiones de bytes en la reproducción de extensiones de fuente de medios con un nuevo método changeType()
en SourceBuffer
. Permite cambiar el tipo de bytes de medios adjuntos a SourceBuffer
más adelante.
La versión actual de MSE admite la reproducción adaptable de contenido multimedia; sin embargo, la adaptación requiere que cualquier contenido multimedia agregado a un SourceBuffer
debe cumplir con el tipo de MIME proporcionado cuando se crea inicialmente el SourceBuffer
a través de MediaSource.addSourceBuffer(type)
. Los códecs de ese tipo y cualquier segmento de inicialización analizado con anterioridad deben permanecer iguales. Esto significa que el sitio web debe realizar pasos explícitos para lograr el cambio de códec o flujo de bytes (con varios elementos multimedia o segmentos SourceBuffer
y alternando entre ellos), lo que aumenta la complejidad de la aplicación y la latencia visible para el usuario. (Estas transiciones requieren que la app web realice una acción síncrona en el subproceso principal del procesador). Esta latencia de transición afecta la fluidez de la reproducción de contenido multimedia en las transiciones.
Con su nuevo método changeType()
, un SourceBuffer
puede almacenar en búfer y admitir la reproducción en diferentes formatos de flujo de bytes y códecs. Este nuevo método retiene medios previamente almacenados en búfer, expulsión o eliminación de marcos codificados en MSE futuros de módulo, y aprovecha la lógica de empalme y almacenamiento en búfer en el algoritmo de procesamiento de tramas existente codificado con MSE.
A continuación, se muestra cómo usar el método changeType()
:
const sourceBuffer = myMediaSource.addSourceBuffer('video/webm; codecs="opus, vp09.00.10.08"');
sourceBuffer.appendBuffer(someWebmOpusVP9Data);
// Later on...
if ('changeType' in sourceBuffer) {
// Change source buffer type and append new data.
sourceBuffer.changeType('video/mp4; codecs="mp4a.40.5, avc1.4d001e"');
sourceBuffer.appendBuffer(someMp4AacAvcData);
}
Como era de esperar, si el navegador no admite el tipo que se pasó, este método arrojará una excepción NotSupportedError
.
Consulta la muestra para reproducir un elemento de audio con el almacenamiento en búfer de códecs y transmisiones de bytes cruzados, así como con la reproducción.
Intent de enviar | Seguimiento de Chromestatus | Error de Chromium
Opus en MP4 para ECM
El códec de audio abierto y altamente versátil Opus es compatible con los elementos <audio>
y <video>
desde Chrome 33. Luego, se agregó compatibilidad con Opus en ISO-BMFF (también conocido como Opus en MP4). Ahora Opus en MP4 está disponible en Chrome 70 para las extensiones de fuente de medios.
Sigue estos pasos para detectar si el Opus en MP4 es compatible con el ECM:
if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
// TODO: Fetch data and feed it to a media source.
}
Si deseas ver un ejemplo completo, consulta nuestra muestra oficial.
Debido a la falta de herramientas para combinar Opus en MP4 con valores correctos de recorte final y omisión previa, si esa precisión es importante para ti, deberás usar SourceBuffer.appendWindow{Start,End}
y SourceBuffer.timestampOffset
en Chrome para obtener una reproducción con precisión de muestra.
Intent de enviar | Seguimiento de Chromestatus | Error de Chromium
Cómo permitir la reproducción de contenido protegido de forma predeterminada en Android
En Chrome 70 para Android, el valor predeterminado de la configuración de "contenido protegido" del sitio cambia de "Preguntar primero" a "Permitido", lo que disminuye las dificultades asociadas con la reproducción de ese tipo de contenido multimedia. Este cambio es posible, en parte, debido a los pasos adicionales que se tomaron para borrar las licencias de medios junto con las cookies y los datos de sitios, lo que garantiza que los sitios no usen licencias de medios para hacer un seguimiento de los usuarios que borraron los datos de navegación.