Actualizaciones multimedia en Chrome 70

François Beaufort
François Beaufort

Mira videos con la función pantalla en pantalla

La función Pantalla en pantalla (PIP) permite que los usuarios miren videos en una ventana flotante (siempre sobre otras ventanas) para que puedan seguir mirando lo que están viendo mientras interactúan con otros sitios o aplicaciones. Con la nueva API web de Picture-in-Picture, puedes iniciar y controlar la función de Picture-in-Picture para videos en 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 la compresión en más de un 30% en comparación con el VP9, el códec de video de vanguardia actual. Chrome 70 agrega un decodificador AV1 a la versión x86-64 del escritorio de Chrome según la especificación del flujo de bits oficial. Por el momento, la compatibilidad se limita al perfil 0 “Principal” y no incluye capacidades de codificación. El contenedor compatible es MP4 (ISO-BMFF) (consulta Contenedores y codecs para obtener una breve explicación de los contenedores).

Para probar AV1, haz lo siguiente:

  1. Ve a la página de YouTube TestTube.
  2. Selecciona "Preferir AV1 para SD" o "Siempre preferir AV1" para obtener la resolución de AV1 deseada. Ten en cuenta que, en resoluciones más altas, es más probable que el AV1 tenga problemas de rendimiento de reproducción en algunos dispositivos.
  3. Intenta reproducir clips de YouTube de la lista de reproducción del lanzamiento de la versión beta de AV1.
  4. Confirma el códec av01 en "Estadísticas".
Estadísticas para nerds que aparecen en AV1 en YouTube
Estadísticas para nerds con AV1 en YouTube.

Compatibilidad con el cambio de códec y contenedor en MSE

Chrome agregará compatibilidad con transiciones mejoradas entre códecs o flujos de bytes en la reproducción de Extensiones de fuente de medios con un nuevo método changeType() en SourceBuffer. Permite que luego se cambie el tipo de bytes de contenido multimedia agregado a SourceBuffer.

La versión actual de MSE admite la reproducción adaptativa de contenido multimedia. Sin embargo, la adaptación requiere que cualquier contenido multimedia agregado a un SourceBuffer cumpla con el tipo de MIME proporcionado cuando se crea el SourceBuffer inicialmente 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 en todo momento. Esto significa que el sitio web debe tomar medidas explícitas para lograr el cambio de códec o flujo de bytes (mediante el uso de varios elementos multimedia o pistas SourceBuffer y el cambio entre ellos), lo que aumenta la complejidad de la aplicación y la latencia visible para el usuario. (Dichas 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 el contenido multimedia almacenado en búfer anterior, modulo la expulsión o eliminación futuras de fotogramas codificados en MSE, y aprovecha la lógica de unión y almacenamiento en búfer en el algoritmo de procesamiento de fotogramas codificados en MSE existente.

Sigue estos pasos para 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 se esperaba, si el navegador no admite el tipo pasado, este método arroja una excepción NotSupportedError.

Consulta la muestra para reproducir y almacenar en búfer un elemento de audio con codificación y flujo de bytes cruzados.

Intent to Ship | Chromestatus Tracker | Error de Chromium

Opus en MP4 para MSE

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). Además, Opus en MP4 está disponible en Chrome 70 para las Extensiones de fuente de contenido multimedia.

A continuación, te mostramos cómo puedes detectar si Opus en MP4 es compatible con ECM:

if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
  // TODO: Fetch data and feed it to a media source.
}

Si quieres ver un ejemplo completo, consulta nuestra muestra oficial.

Debido a la falta de herramientas para combinar Opus en MP4 con valores de recorte final y omisión previa correctos, si esa precisión te resulta importante, deberás usar SourceBuffer.appendWindow{Start,End} y SourceBuffer.timestampOffset en Chrome para obtener una reproducción con precisión de muestra.

Intent to Ship | Chromestatus Tracker | 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 del sitio "Contenido protegido" cambia de "Preguntar primero" a "Permitir", lo que reduce los inconvenientes asociados con la reproducción de ese contenido multimedia. Este cambio es posible, en parte, debido a los pasos adicionales que se tomaron para borrar las licencias de contenido multimedia junto con las cookies y los datos del sitio, lo que garantiza que los sitios no usen las licencias de contenido multimedia para hacer un seguimiento de los usuarios que borraron los datos de navegación.

ALT_TEXT_HERE
Configuración de contenido protegido en Android.