Обновления аудио/видео в Chrome 61

Франсуа Бофор
François Beaufort

Оптимизация фоновой видеодорожки (только MSE)

Чтобы увеличить время автономной работы, Chrome теперь отключает видеодорожки, когда видео воспроизводится в фоновом режиме (например, на невидимой вкладке), если видео использует расширения источника мультимедиа (MSE) .

Вы можете проверить эти изменения, перейдя на страницу chrome://media-internals и отфильтровав свойство «info». Когда вкладка, содержащая воспроизводимое видео, станет неактивной, вы увидите сообщение типа Selected video track: [] , указывающее, что видеодорожка отключена. Когда вкладка снова станет активной, видеодорожка снова включится автоматически.

Панель журнала на странице chrome://media-internals
Рисунок 1. Панель журнала на странице chrome://media-internals

Для тех, кто хочет понять, что происходит, вот фрагмент кода JavaScript, который показывает, что примерно делает Chrome за кулисами.

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

Возможно, вы захотите снизить качество видеопотока, когда видеодорожка отключена. Это было бы так же просто, как использовать API видимости страниц , как показано выше, чтобы определить, когда страница скрыта.

И вот некоторые ограничения:

  • Эта оптимизация применима только к видео с расстоянием между ключевыми кадрами < 5 секунд.
  • Если видео не содержит звуковых дорожек, оно будет автоматически поставлено на паузу при фоновом воспроизведении.

Ошибка хрома

Автоматический полноэкранный режим видео при повороте устройства

Если вы повернете устройство в горизонтальное положение во время воспроизведения видео в области просмотра, воспроизведение автоматически переключится в полноэкранный режим. Поворот устройства в портретную ориентацию возвращает видео в оконный режим.

Обратите внимание, что вы можете вручную реализовать это поведение самостоятельно. (См. статью «Воспроизведение мобильного веб-видео» ).

Автоматический полноэкранный режим видео при повороте устройства
Рис. 2. Автоматический полноэкранный режим видео при повороте устройства.

Такое волшебное поведение происходит только тогда, когда:

  • устройство — телефон Android (не планшет)
  • ориентация экрана пользователя установлена ​​на «Автоповорот»
  • размер видео не менее 200х200 пикселей.
  • видео использует встроенные элементы управления
  • видео сейчас воспроизводится
  • не менее 75 % видео видно (на экране)
  • ориентация поворачивается на 90 градусов (не 180 градусов)
  • полноэкранного элемента пока нет
  • экран не заблокирован с помощью API ориентации экрана

Ошибка хрома