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

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

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

Для улучшения времени работы батареи Chrome теперь отключает видеодорожки, когда видео воспроизводится в фоновом режиме (например, в невидимой вкладке), если видео использует Media Source Extensions (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 (не планшет)
  • Ориентация экрана пользователя установлена на «Автоповорот».
  • размер видео не менее 200x200 пикселей
  • видео использует собственные элементы управления
  • видео в данный момент воспроизводится
  • не менее 75% видео видно (на экране)
  • ориентация поворачивается на 90 градусов (не на 180 градусов)
  • пока нет полноэкранного элемента
  • экран не заблокирован с помощью API ориентации экрана

Ошибка хрома