Chrome 70의 미디어 업데이트

François Beaufort
François Beaufort

PIP 모드를 사용하여 동영상 보기

PIP 모드를 사용하면 사용자가 플로팅 창(항상 다른 창 위에 있음)에서 동영상을 볼 수 있으므로 다른 사이트 또는 애플리케이션과 상호작용하는 동안 보고 있는 내용을 지켜볼 수 있습니다. 새로운 PIP 모드 웹 API를 사용하면 웹사이트에서 동영상의 PIP 모드를 시작하고 제어할 수 있습니다.

자세한 내용은 도움말을 참조하세요.

AV1 디코더

AV1은 Alliance for Open Media에서 개발한 차세대 코덱입니다. AV1은 현재 최첨단 동영상 코덱인 VP9에 비해 압축 효율을 30%이상 향상합니다. Chrome 70에서는 공식 비트스트림 사양에 따라 Chrome 데스크톱 x86-64에 AV1 디코더를 추가합니다. 현재 지원은 '기본' profile 0으로 제한되며 인코딩 기능은 포함되지 않습니다. 지원되는 컨테이너는 MP4(ISO-BMFF)입니다. 컨테이너에 관한 간단한 설명은 컨테이너 및 코덱을 참고하세요.

AV1을 사용해 보려면 다음 안내를 따르세요.

  1. YouTube TestTube 페이지로 이동합니다.
  2. 'SD용 AV1 사용' 또는 '항상 AV1 사용'을 선택하여 원하는 AV1 해상도를 가져옵니다. 해상도가 높을수록 AV1의 일부 기기에서 재생 성능 문제가 발생할 가능성이 높습니다.
  3. AV1 베타 출시 재생목록에서 YouTube 클립을 재생해 보세요.
  4. '전문 통계'에서 코덱 av01을 확인합니다.
YouTube에서 AV1을 추천하는 전문 통계
YouTube에서 AV1을 추천하는 전문 통계입니다.

MSE에서 코덱 및 컨테이너 전환 지원

Chrome에서는 SourceBuffer의 새로운 changeType() 메서드를 사용하여 미디어 소스 확장 프로그램 재생에서 교차 코덱 또는 바이트 스트림 전환을 개선하기 위한 지원을 추가합니다. 이를 통해 SourceBuffer에 추가된 미디어 바이트 유형을 나중에 변경할 수 있습니다.

현재 버전의 MSE는 미디어의 적응형 재생을 지원합니다. 그러나 적응을 위해서는 SourceBuffer에 추가된 모든 미디어가 MediaSource.addSourceBuffer(type)를 통해 SourceBuffer를 처음 만들 때 제공된 MIME 유형을 준수해야 합니다. 해당 유형의 코덱과 이전에 파싱된 초기화 세그먼트가 전체적으로 동일하게 유지되어야 합니다. 즉, 웹사이트에서 여러 미디어 요소 또는 SourceBuffer 트랙을 사용하고 이들 간에 전환하여 코덱 또는 바이트 스트림 전환을 완료하기 위한 명시적인 단계를 실행해야 하므로 애플리케이션 복잡성과 사용자에게 표시되는 지연 시간이 증가합니다. 이러한 전환을 위해서는 웹 앱이 렌더기 기본 스레드에서 동기 작업을 실행해야 합니다. 이러한 전환 지연 시간은 전환 시 미디어 재생의 부드러움을 저하시킵니다.

새로운 changeType() 메서드를 통해 SourceBuffer는 다양한 바이트 스트림 형식과 코덱에서 버퍼링을 하고 재생을 지원할 수 있습니다. 이 새로운 메서드는 이전에 버퍼링된 미디어, 모듈로 향후 MSE 코딩 프레임 제거 또는 제거를 유지하며, 기존 MSE 코딩된 프레임 처리 알고리즘의 스플라이싱 및 버퍼링 로직을 활용합니다.

changeType() 메서드를 사용하는 방법은 다음과 같습니다.

const sourceBuffer = myMediaSource.addSourceBuffer('video/webm; codecs="opus, vp09.00.10.08"');
sourceBuffer.appendBuffer(someWebmOpusVP9Data);

// Later on...
if ('changeType' in sourceBuffer) {
  // Change source buffer type and append new data.
  sourceBuffer.changeType('video/mp4; codecs="mp4a.40.5, avc1.4d001e"');
  sourceBuffer.appendBuffer(someMp4AacAvcData);
}

예상대로 전달된 유형이 브라우저에서 지원되지 않는 경우 이 메서드는 NotSupportedError 예외를 발생시킵니다.

크로스 코덱 및 크로스 바이트 스트림 버퍼링과 오디오 요소 재생으로 재생하려면 샘플을 확인하세요.

배송 의도 | Chromestatus Tracker | Chromium 버그

MSE용 MP4 형식의 Opus

다목적 개방형 오디오 코덱 Opus는 Chrome 33부터 <audio><video> 요소에서 지원되었습니다. 이후 ISO-BMFF의 Opus 지원(MP4의 Opus라고도 함)이 추가되었습니다. 이제 MP4 형식의 Opus를 Chrome 70에서 미디어 소스 확장 프로그램에 사용할 수 있습니다.

다음은 MP4 형식의 Opus가 MSE에서 지원되는지 감지하는 방법입니다.

if (MediaSource.isTypeSupported('audio/mp4; codecs="opus"')) {
  // TODO: Fetch data and feed it to a media source.
}

전체 예를 보려면 공식 샘플을 확인하세요.

올바른 끝 자르기 및 사전 건너뛰기 값으로 MP4에서 Opus를 다중 처리할 도구가 없기 때문에 이러한 정밀도가 중요한 경우 Chrome에서 SourceBuffer.appendWindow{Start,End}SourceBuffer.timestampOffset를 사용하여 샘플의 정확한 재생을 얻어야 합니다.

배송 의도 | Chromestatus Tracker | Chromium 버그

Android에서 기본적으로 보호된 콘텐츠 재생 허용

Android용 Chrome 70에서는 '보호된 콘텐츠' 사이트 설정의 기본값이 '우선 확인'에서 '허용됨'으로 변경되어 이러한 미디어 재생과 관련된 마찰이 줄어듭니다. 이러한 변경은 부분적으로는 쿠키 및 사이트 데이터와 함께 미디어 라이선스를 삭제하는 추가 단계를 거치므로 사이트에서 인터넷 사용 기록을 삭제한 사용자를 추적하기 위해 사이트에서 미디어 라이선스를 사용하지 않도록 하는 데 있습니다.

ALT_TEXT_HERE
Android의 보호된 콘텐츠 설정입니다.