- 웹 개발자는 동영상의 PIP 모드를 제어할 수 있습니다.
- 이제 Chrome 데스크톱 x86-64에서 AV1 디코더가 지원됩니다.
- MSE에서는 교차 코덱 및 교차 바이트 스트림 버퍼링 및 재생이 가능합니다.
- 이제 Chrome에서 MSE를 사용한 MP4의 Opus를 지원합니다.
- Android에서는 보호된 콘텐츠 재생이 기본적으로 허용됩니다.
PIP 모드를 사용하여 동영상 시청하기
PIP 모드를 사용하면 사용자가 플로팅 창(항상 다른 창 위에 표시)에서 동영상을 시청할 수 있으므로 다른 사이트 또는 애플리케이션과 상호작용하는 동안 시청 중인 동영상을 계속 볼 수 있습니다. 새로운 Picture-in-Picture Web API를 사용하면 웹사이트에서 동영상의 PIP를 시작하고 제어할 수 있습니다.
도움말을 읽고 자세히 알아보세요.
AV1 디코더
AV1은 Alliance for Open Media에서 개발한 차세대 코덱입니다. AV1은 현재 최첨단 동영상 코덱인 VP9보다 압축 효율성을 30%이상 개선합니다. Chrome 70에서는 공식 비트스트림 사양에 따라 Chrome 데스크톱 x86-64에 AV1 디코더를 추가합니다. 현재 지원은 '기본' 프로필 0으로 제한되며 인코딩 기능은 포함되지 않습니다. 지원되는 컨테이너는 MP4 (ISO-BMFF)입니다(컨테이너에 관한 간단한 설명은 원시 동영상에서 웹 준비 상태로 참고).
AV1을 사용해 보려면 다음 단계를 따르세요.
- YouTube TestTube 페이지로 이동합니다.
- 'SD에 AV1 사용' 또는 '항상 AV1 사용'을 선택하여 원하는 AV1 해상도를 가져옵니다. 해상도가 높을수록 일부 기기에서 AV1의 재생 성능 문제가 발생할 가능성이 높습니다.
- AV1 베타 출시 재생목록에서 YouTube 클립을 재생해 보세요.
- '전문 통계'에서 코덱 av01을 확인합니다.

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 추적기 | 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를 mux하는 도구가 없으므로 이러한 정밀도가 중요한 경우 Chrome에서 SourceBuffer.appendWindow{Start,End}
및 SourceBuffer.timestampOffset
를 사용하여 샘플 정확한 재생을 얻어야 합니다.
출고 예정 | Chromestatus 추적기 | Chromium 버그
Android에서 기본적으로 보호된 콘텐츠 재생 허용
Android용 Chrome 70에서는 '보호된 콘텐츠' 사이트 설정의 기본값이 '먼저 묻기'에서 '허용됨'으로 변경되어 이러한 미디어 재생과 관련된 불편을 줄입니다. 이 변경사항은 쿠키 및 사이트 데이터와 함께 미디어 라이선스를 삭제하기 위한 추가 단계가 취해져 사이트에서 미디어 라이선스를 사용하여 브라우징 데이터를 삭제한 사용자를 추적하지 못하도록 하기 때문에 가능했습니다.
