Mises à jour audio/vidéo dans Chrome 61

François Beaufort
François Beaufort

Optimisations de la piste 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 est réactivé, la piste vidéo est automatiquement réactivée.

Panneau de connexion sur la page chrome://media-internals
Figure 1. Panneau de connexion sur la page chrome://media-internals

Pour ceux qui souhaitent comprendre ce qui se passe, voici un extrait de code JavaScript qui vous montre ce que Chrome fait approximativement 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 lors de la lecture en arrière-plan.

Bug Chromium

Affichage automatique de la vidéo en plein écran lorsque l'utilisateur fait pivoter l'appareil

Si vous faites pivoter un appareil en mode paysage pendant qu'une vidéo est en cours de lecture 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 redevient en mode fenêtre.

Notez que vous pouvez implémenter manuellement ce comportement vous-même. Consultez l'article Lecture de vidéos sur le Web mobile.

Affichage automatique de la vidéo en plein écran lorsque l'utilisateur fait pivoter l'appareil
Figure 2. Affichage automatique de la vidéo en plein écran lorsque l'utilisateur fait pivoter l'appareil

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
  • 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.

Bug Chromium