Actualizaciones multimedia en Chrome 70

François Beaufort
François Beaufort

Mirar videos con la función Pantalla en pantalla

La función 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 esta función 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% en comparación con el VP9, el códec de video de vanguardia actual. 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 capacidades de codificación. El contenedor compatible es MP4 (ISO-BMFF) (consulta Contenedores y códecs para obtener una explicación breve de los contenedores).

Para probar AV1, haz lo siguiente:

  1. Ve a la página de TestTube de YouTube.
  2. Selecciona "Preferir AV1 para SD" o "Siempre preferir AV1" 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.
  3. Intenta reproducir clips de YouTube desde la lista de reproducción de lanzamiento de la versión beta de AV1.
  4. Confirma el códec av01 en “Estadísticas”.
Estadísticas de AV1 en YouTube
Estadísticas sobre AV1 en YouTube.

Compatibilidad con el cambio de códecs y contenedores en MSE

Chrome agrega compatibilidad con transiciones mejoradas de códecs o transmisiones entre 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 multimedia 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 anexado a una 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 (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. (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 método nuevo conserva los medios almacenados en búfer anteriormente, la expulsión o la eliminación de marcos futuros codificados con MSE de módulo y aprovecha la lógica de empalme y almacenamiento en búfer en el algoritmo existente de procesamiento de fotogramas con código de MSE.

A continuación, te mostramos 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 se espera, si el navegador no admite el tipo que se pasó, este método arroja una excepción NotSupportedError.

Consulta la muestra para reproducir con almacenamiento en búfer de códecs cruzados y transmisiones de bytes, así como con la reproducción de un elemento de audio.

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. Después se agregó 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.

A continuación, te mostramos cómo puedes detectar si el 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 correctos de recorte de fin 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 precisa con la muestra.

Intent de enviar | Seguimiento de Chromestatus | Error de Chromium

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 realizaron para borrar las licencias de medios junto con las cookies y los datos del sitio, 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.

ALT_TEXT_HERE
Parámetro de configuración de contenido protegido en Android.