- Chrome désactive désormais les pistes vidéo lorsqu'une vidéo MSE est lue en arrière-plan afin d'optimiser les performances.
- La vidéo passe en plein écran lorsque l'appareil est pivoté.
Optimisations des pistes vidéo en arrière-plan (MSE uniquement)
Pour prolonger l'autonomie de la batterie, Chrome désactive désormais les pistes vidéo lorsque la vidéo est lue en arrière-plan (par exemple, dans un onglet non visible) si la vidéo utilise des extensions de source multimédia (MSE).
Pour inspecter ces modifications, accédez à la page chrome://media-internals
et filtrez la propriété "info". Lorsque l'onglet contenant une vidéo en cours de lecture devient inactif, un message tel que Selected video track: []
s'affiche pour indiquer que la piste vidéo a été désactivée. Lorsque l'onglet redevient actif, la piste vidéo est automatiquement réactivée.
Pour ceux qui souhaitent comprendre ce qu'il se passe, voici un extrait de code JavaScript qui montre ce que fait Chrome en arrière-plan.
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;
}
});
Vous pouvez réduire la qualité du flux vidéo lorsque la piste vidéo est désactivée. Il suffit d'utiliser l'API Page Visibility, comme indiqué ci-dessus, pour détecter quand une page est masquée.
Voici quelques restrictions :
- Cette optimisation ne s'applique qu'aux vidéos dont la distance entre les keyframes est inférieure à cinq secondes.
- Si la vidéo ne contient aucune piste audio, elle est automatiquement mise en pause lorsqu'elle est lue en arrière-plan.
Plein écran automatique de la vidéo lors de la rotation de l'appareil
Si vous faites pivoter un appareil en mode paysage alors qu'une vidéo est en cours de lecture dans le viewport, la lecture passe automatiquement en mode plein écran. Si vous faites pivoter l'appareil en mode portrait, la vidéo revient en mode fenêtré.
Notez que vous pouvez implémenter ce comportement manuellement vous-même. Consultez l'article Lecture de vidéos Web mobiles.
Ce comportement magique ne se produit que dans les cas suivants:
- L'appareil est un téléphone Android (et non une tablette)
- l'orientation de l'écran de l'utilisateur est définie sur "Rotation automatique" ;
- la taille de la vidéo est d'au moins 200 x 200 px ;
- la vidéo utilise des commandes natives ;
- La vidéo est en cours de lecture
- au moins 75% de la vidéo est visible (à l'écran) ;
- pivote de 90 degrés (et non de 180 degrés)
- Aucun élément en plein écran n'est encore disponible
- L'écran n'est pas verrouillé à l'aide de l'API Screen Orientation.