Aggiornamenti audio/video in Chrome 61

Francesco Beaufort
François Beaufort

Ottimizzazioni della traccia video in background (solo MSE)

Per aumentare la durata della batteria, Chrome ora disattiva le tracce video quando il video viene riprodotto in background (ad esempio, in una scheda non visibile) se il video utilizza Media Source Extensions (MSE).

Per esaminare queste modifiche, vai alla pagina chrome://media-internals e filtra in base alla proprietà "informazioni". Quando la scheda contenente un video in riproduzione diventa inattiva, vedrai un messaggio come Selected video track: [] che indica che la traccia video è stata disattivata. Quando la scheda diventa nuovamente attiva, la traccia video viene riattivata automaticamente.

Riquadro del log nella pagina chrome://media-internals
Figura 1. Riquadro del log nella pagina chrome://media-internals

Per coloro che vogliono capire cosa sta succedendo, ecco uno snippet di codice JavaScript che mostra cosa sta facendo Chrome dietro le quinte.

    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;
      }
    });

Quando la traccia video è disattivata, è consigliabile ridurre la qualità del video stream. Per rilevare quando una pagina è nascosta, sarebbe sufficiente utilizzare l'API Page Visibility come mostrato sopra.

Ecco alcune restrizioni:

  • Questa ottimizzazione si applica solo ai video con una distanza dei frame chiave < 5 s.
  • Se il video non contiene tracce audio, verrà messo automaticamente in pausa durante la riproduzione in background.

Bug di Chromium

Video a schermo intero automatico quando il dispositivo viene ruotato

Se ruoti un dispositivo in orizzontale durante la riproduzione di un video nell'area visibile, la riproduzione passerà automaticamente alla modalità a schermo intero. Se ruoti il dispositivo in verticale, il video torna alla modalità a finestre.

Tieni presente che puoi implementare manualmente questo comportamento in autonomia. (consulta l'articolo Riproduzione video sul web mobile).

Video a schermo intero automatico quando il dispositivo viene ruotato
Figura 2. Video a schermo intero automatico quando il dispositivo viene ruotato

Questo comportamento magico si verifica solo quando:

  • il dispositivo è un telefono Android (non un tablet)
  • l'orientamento dello schermo dell'utente sia impostato su "Rotazione automatica"
  • la dimensione del video sia di almeno 200 x 200 px
  • il video utilizza controlli nativi
  • video attualmente in riproduzione
  • almeno il 75% del video sia visibile (sullo schermo)
  • ruota di 90 gradi (non di 180 gradi)
  • non esiste ancora un elemento a schermo intero
  • lo schermo non sia bloccato usando l'API Screen Orientation

Bug di Chromium