- 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 s'affiche en plein écran lorsque vous faites pivoter l'appareil.
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 (dans un onglet non visible, par exemple) si la vidéo utilise des extensions de source multimédia (MSE).
Vous pouvez inspecter ces modifications en accédant à la page chrome://media-internals
et en filtrant la propriété "info". Lorsque l'onglet contenant une vidéo en cours de lecture devient inactif, un message de type Selected video track: []
indique que la piste vidéo a été désactivée. Lorsque l'onglet redevient actif, la piste vidéo est automatiquement réactivée.
Si vous souhaitez comprendre ce qu'il se passe, voici un extrait de code JavaScript qui vous montre ce que Chrome fait 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. Ce serait aussi simple que 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 de l'image clé 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.
Lecture automatique de la vidéo en plein écran lorsque vous faites pivoter l'appareil
Si vous faites pivoter un appareil en mode paysage alors qu'une vidéo est en cours de lecture dans la fenêtre d'affichage, la lecture passe automatiquement en mode plein écran. Faire pivoter l'appareil en mode portrait rétablit la vidéo en mode fenêtre.
Notez que vous pouvez implémenter vous-même ce comportement manuellement. 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 pixels
- la vidéo utilise des commandes natives
- vidéo en cours de lecture
- au moins 75% de la vidéo est visible (à l'écran)
- rotation de l'orientation 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