Atualizações de áudio/vídeo no Chrome 61

François Beaufort
François Beaufort

Otimizações de faixa de vídeo em segundo plano (somente MSE)

Para prolongar a duração da bateria, o Chrome agora desativa as faixas de vídeo quando o vídeo é reproduzido em segundo plano (por exemplo, em uma guia não visível) se ele usa Media Source Extensions (MSE).

Para inspecionar essas mudanças, acesse a página chrome://media-internals e filtre pela propriedade "info". Quando a guia com um vídeo em reprodução fica inativa, aparece uma mensagem como Selected video track: [] indicando que a faixa de vídeo foi desativada. Quando a guia é reativada, a faixa de vídeo é reativada automaticamente.

Painel de registros na página chrome://media-internals
Figura 1. Painel de registros na página chrome://media-internals

Para quem quer entender o que está acontecendo, aqui está um snippet de código JavaScript que mostra o que o Chrome está fazendo nos bastidores.

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

Talvez seja necessário reduzir a qualidade do stream de vídeo quando a faixa de vídeo estiver desativada. Basta usar a API Page Visibility, conforme mostrado acima, para detectar quando uma página está oculta.

Confira algumas restrições:

  • Essa otimização se aplica apenas a vídeos com uma distância de keyframe < 5s.
  • Se o vídeo não tiver faixas de áudio, ele será pausado automaticamente quando for reproduzido em segundo plano.

Bug do Chromium

Tela cheia automática de vídeo quando o dispositivo é girado

Se você girar um dispositivo para o modo paisagem enquanto um vídeo está sendo reproduzido na janela de visualização, a reprodução vai mudar automaticamente para o modo de tela cheia. Girar o dispositivo para o modo retrato coloca o vídeo de volta no modo de janela.

É possível implementar esse comportamento manualmente. Consulte o artigo Reprodução de vídeo na Web para dispositivos móveis.

Tela cheia automática de vídeo quando o dispositivo é girado
Figura 2. Tela cheia automática de vídeo quando o dispositivo é girado

Esse comportamento mágico só acontece quando:

  • O dispositivo é um smartphone Android (não um tablet)
  • A orientação da tela do usuário está definida como "Girar automaticamente".
  • o tamanho do vídeo é de pelo menos 200 x 200 pixels
  • o vídeo usa controles nativos
  • o vídeo está sendo reproduzido
  • pelo menos 75% do vídeo estejam visíveis (na tela)
  • a orientação gira 90 graus (não 180 graus)
  • ainda não há um elemento de tela cheia
  • a tela não está bloqueada usando a API Screen Orientation

Bug do Chromium