Chrome 61의 오디오/동영상 업데이트

프랑수아 보포르
프랑수아 보포르

백그라운드 동영상 트랙 최적화 (MSE만 해당)

배터리 수명을 개선하기 위해 이제 동영상이 미디어 소스 확장 프로그램 (MSE)을 사용하는 경우 동영상이 백그라운드에서 (예: 보이지 않는 탭)에서 재생될 때 Chrome에서 동영상 트랙을 사용 중지합니다.

chrome://media-internals 페이지로 이동하여 'info' 속성으로 필터링하여 이러한 변경사항을 검사할 수 있습니다. 재생 중인 동영상이 포함된 탭이 비활성화되면 Selected video track: []와 같은 동영상 트랙이 사용 중지되었음을 나타내는 메시지가 표시됩니다. 이 탭이 다시 활성화되면 동영상 트랙이 자동으로 다시 사용 설정됩니다.

chrome://media-internals 페이지의 로그 패널
그림 1. chrome://media-internals 페이지의 로그 패널

무슨 일이 일어나고 있는지 알고 싶은 사용자를 위해 다음 자바스크립트 코드 스니펫을 사용하면 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;
      }
    });

동영상 트랙을 사용 중지하면 동영상 스트림의 화질을 낮추는 것이 좋습니다. 위와 같이 Page Visibility API를 사용하여 페이지가 숨겨져 있는지 감지하는 것만큼 간단합니다.

몇 가지 제한사항은 다음과 같습니다.

  • 이 최적화는 키프레임 거리가 5초 미만인 동영상에만 적용됩니다.
  • 동영상에 오디오 트랙이 포함되어 있지 않으면 백그라운드에서 재생될 때 동영상이 자동으로 일시중지됩니다.

Chromium 버그

기기 회전 시 자동 동영상 전체화면 재생

표시 영역에서 동영상이 재생되는 동안 기기를 가로 모드로 회전하면 재생이 자동으로 전체 화면 모드로 전환됩니다. 기기를 세로 모드로 회전하면 동영상이 창 모드로 돌아갑니다.

이 동작은 직접 직접 구현할 수 있습니다. 모바일 웹 동영상 재생 도움말을 참고하세요.

기기 회전 시 자동 동영상 전체화면 재생
그림 2. 기기 회전 시 자동 동영상 전체 화면

이 매직 동작은 다음과 같은 경우에만 발생합니다.

  • 기기가 태블릿이 아닌 Android 휴대전화인 경우
  • 사용자의 화면 방향이 '자동 회전'으로 설정되어 있음
  • 동영상 크기가 200x200픽셀 이상
  • 동영상은 네이티브 컨트롤을 사용하여
  • 현재 동영상 재생 중
  • 동영상의 75% 이상이 화면에 표시됨
  • 방향이 90도 회전 (180도 아님)
  • 아직 전체 화면 요소가 없는 경우
  • 화면이 Screen Orientation API를 사용하여 잠기지 않음

Chromium 버그