- Ahora Chrome inhabilita los segmentos de video cuando se reproduce un video de MSE en segundo plano para optimizar el rendimiento.
- El video se mostrará en pantalla completa cuando se rote el dispositivo.
Optimizaciones de pistas de video en segundo plano (solo MSE)
Para mejorar la duración de la batería, Chrome ahora inhabilita las pistas de video cuando se reproduce un video en segundo plano (p.ej., en una pestaña no visible) si el video usa extensiones de Media Source (MSE).
Para inspeccionar estos cambios, ve a la página chrome://media-internals
y filtra por la propiedad "info". Cuando la pestaña que contiene un video en reproducción se vuelve inactiva, verás un mensaje como Selected video track: []
que indica que se inhabilitó la pista de video. Cuando la pestaña vuelve a estar activa, se vuelve a habilitar automáticamente la pista de video.
Para quienes quieran comprender lo que sucede, aquí hay un fragmento de código JavaScript que muestra lo que Chrome hace aproximadamente en segundo plano.
var video = document.querySelector('video');
var selectedVideoTrackIndex;
document.addEventListener('visibilitychange', function() {
if (document.hidden) {
// Disable video track when page is hidden.
selectedVideoTrackIndex = video.videoTracks.selectedIndex;
video.videoTracks[selectedVideoTrackIndex].selected = false;
} else {
// Re-enable video track when page is not hidden anymore.
video.videoTracks[selectedVideoTrackIndex].selected = true;
}
});
Es posible que desees reducir la calidad del flujo de video cuando la pista de video esté inhabilitada. Sería tan simple como usar la API de Page Visibility, como se muestra arriba, para detectar cuándo se oculta una página.
Estas son algunas restricciones:
- Esta optimización solo se aplica a los videos con una distancia entre fotogramas clave inferior a 5 s.
- Si el video no contiene pistas de audio, se pausará automáticamente cuando se reproduzca en segundo plano.
Pantalla completa automática de video cuando se rota el dispositivo
Si rotas un dispositivo al modo horizontal mientras se reproduce un video en el viewport, la reproducción cambiará automáticamente al modo de pantalla completa. Si rotas el dispositivo a la posición vertical, el video vuelve al modo de ventana.
Ten en cuenta que puedes implementar este comportamiento de forma manual. (Consulta el artículo Reproducción de video en la Web para dispositivos móviles).
Este comportamiento mágico solo ocurre en los siguientes casos:
- El dispositivo es un teléfono Android (no una tablet).
- La orientación de la pantalla del usuario está configurada como "Rotación automática".
- El tamaño del video es de al menos 200 × 200 px.
- El video usa controles nativos.
- Actualmente se está reproduciendo el video
- Al menos el 75% del video es visible (en pantalla).
- La orientación rota 90 grados (no 180 grados).
- Aún no hay un elemento de pantalla completa.
- La pantalla no está bloqueada con la API de Screen Orientation.