- Pour optimiser les performances, Chrome désactive désormais les pistes vidéo lorsqu'une vidéo MSE est lue en arrière-plan.
- La vidéo passe en plein écran lorsque l'appareil est pivoté.
Optimisations des pistes vidéo en arrière-plan (MSE uniquement)
Pour améliorer 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 elle utilise les extensions Media Source (MSE).
Pour examiner ces modifications, accédez à la page chrome://media-internals
et filtrez la propriété "info". Lorsqu'un 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 qui se passe, voici un extrait de code JavaScript qui vous montre ce que Chrome fait à peu près en coulisses.
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 vous suffira 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 images clés est inférieure à 5 s.
- 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 des vidéos lorsque l'appareil est pivoté
Si vous faites pivoter un appareil en mode paysage pendant la lecture d'une vidéo dans la fenêtre d'affichage, la lecture passe automatiquement en mode plein écran. Si vous faites pivoter l'appareil en mode Portrait, la vidéo repasse en mode fenêtré.
Notez que vous pouvez implémenter manuellement ce comportement vous-même. (consultez l'article Lecture de vidéos sur le Web mobile).
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)
- L'orientation pivote de 90 degrés (et non de 180 degrés).
- Il n'y a pas encore d'élément plein écran.
- l'écran n'est pas verrouillé à l'aide de l'API Screen Orientation.