개요
Widevine DRM은 프리미엄 미디어를 위한 Google의 콘텐츠 보호 시스템입니다. Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+, Paramount+ 등 전 세계의 주요 파트너가 사용하고 있습니다. Widevine은 디지털 배포를 통해 프리미엄 콘텐츠를 시청할 수 있는 최고의 환경을 제공하는 데 중점을 두고 있습니다.
Widevine DRM은 다음 표준을 채택합니다.
- 암호화된 미디어 확장 프로그램: W3C 사양입니다.
- 일반적인 암호화
- ISO/IEC 23001-7 - ISO 기본 미디어 파일 형식 파일의 일반적인 암호화
- ISO/IEC 23001-9 - MPEG-2 전송 스트림의 일반 암호화
지원되는 플랫폼
Widevine 클라이언트는 달리 명시되지 않는 한 기본적으로 기기 플랫폼에 내장되어 있습니다.
기기 또는 플랫폼 | 지원 여부 ? |
Android (모바일, TV, Automotive) | 예 |
Android 오픈소스 (AOSP) | 예 |
Apple iOS | 예[1] |
Apple TV (tvOS) | - |
Chromecast (전송) | 예 |
Google Home 및 Nest 기기 | 예 |
ChromeOS (Chromebook) | 예 |
Chrome 브라우저 (Windows, Mac OS X, Linux) | 예 |
Chromium 브라우저 | 예 |
Chromium Embedded Framework (CEF) / Electron | 예 |
Firefox 브라우저 | 예 |
Edge 브라우저 | 예 |
Opera (브라우저 및 삽입된 기기) | 예 |
Safari 브라우저 (데스크톱) | - |
Roku 기기 | 예 |
Amazon Echo 기기 | 예 |
Amazon Fire OS 기기 | 예 |
Amazon Fire TV 기기 | 예 |
Facebook Portal 기기 | 예 |
Nintendo Switch | - |
소니 PlayStation | 예 |
Microsoft Xbox | - |
스마트 TV 및 블루레이 플레이어 (Tizen, WebOS) | 예 |
지원되는 암호화 스키마
아래 표에는 Widevine 통합 플랫폼 전반의 암호화 스키마 매핑이 나와 있습니다.
플랫폼 | cenc | 인구 조사 | cbc1 | cbcs |
Android 4.4~6.x (Android TV 포함) | Y | - | - | - |
Android 7.x 이상 (Android TV 포함) | Y | - | - | Y |
Chromecast (전송) | Y | - | Y | Y |
Google Home | Y | - | - | - |
스마트 TV 및 블루레이 플레이어 | Y | - | - | Y |
Widevine iOS | Y | - | - | Y |
Chrome 브라우저 (데스크톱) 및 ChromeOS | Y | - | - | Y |
Chrome 브라우저 (모바일) | Y | - | - | Y |
Mozilla Firefox | Y | - | - | Y |
오페라 | Y | - | - | Y |
NexPlayer SDK | Y | - | - | Y |
생태계
위의 다이어그램은 DRM 생태계 내에서 사용할 수 있는 Widevine 구성요소를 보여줍니다.
프로비저닝, Keybox, OEMCrypto 구성요소는 기기 통합 프로세스에 따라 다릅니다. Widevine을 기기에 통합하고자 하는 경우 Google에 문의해 주세요.
원래 클라이언트 기기에서 보낸 라이선스 요청은 HTTPS를 통해 파트너가 운영하는 프록시 메커니즘을 통해 수신됩니다. 이 프록시 메커니즘은 Widevine 라이선스 서비스에서 처리할 페이로드를 전송하기 전에 요청을 검증하고 비즈니스 규칙을 추가합니다.
Widevine 클라이언트 기기는 어떠한 경우에도 Widevine 라이선스 서비스와 직접 통신하지 않습니다.
Widevine 라이선스 발급
Widevine은 클라이언트에 라이선스를 발급하는 두 가지 방법을 제공합니다.
- Cloud License Service
- 액세스 또는 거래 수수료 없이 전 세계에서 액세스할 수 있는 서비스입니다.
- Widevine 라이선스 소유자에게는 조직별 사용자 인증 정보를 사용하여 액세스가 제공됩니다.
- 라이선스 서버 SDK
- 자체 라이선스 서비스를 호스팅하도록 설계되었습니다.
Widevine Cloud License Service 사용
클라우드 라이선스 서비스에는 테스트 및 프로덕션의 두 가지 환경이 있습니다. Widevine 라이선스 소유자에게는 조직별 고유한 사용자 인증 정보가 제공되어 액세스할 수 있습니다.
Cloud License Service는 다음과 같은 2가지 엔드포인트를 제공합니다.
- 콘텐츠를 암호화하기 위해 콘텐츠 키를 가져옵니다.
- 이 방식으로 요청된 콘텐츠 키는 Widevine Cloud License Service에 저장됩니다.
- 라이선스 발급
- Widevine 클라이언트 기기에서 생성한 라이선스 요청을 처리합니다.
클라이언트 기기의 모든 라이선스 요청은 라이선스 프록시 메커니즘에서 처리해야 합니다.
- Widevine은 클라우드 라이선스 서비스와 통신하기 위한 프록시 SDK를 제공합니다.
- 라이선스 프록시는 수신되는 클라이언트 요청을 검증하고 적용할 비즈니스 규칙을 결정합니다.
- 비즈니스 규칙은 기기의 원래 라이선스 요청에 추가되고 처리를 위해 라이선스 서비스로 전송됩니다.
- 라이선스가 생성되면 라이선스 콘텐츠는 더 이상 수정할 수 없으며 요청하는 기기에 맞게 개별화됩니다.
Shaka Packager
Widevine의 Shaka Packager (이전 명칭: eDASH-Packager)는 DASH 호환 MP4 형식을 생성하고, Widevine PSSH를 사용하여 암호화하고, DASH 매니페스트를 만드는 방법에 관한 오픈소스 참조 구현입니다. 버그 및 기능 요청을 제출하려면 GitHub 페이지를 방문하세요.
플레이어 - Android
Google에서 유지관리하는 오픈소스 ExoPlayer 프로젝트는 Widevine CENC 미디어의 재생을 보여주는 권장되는 참조 플레이어 라이브러리입니다. 기본적으로 ExoPlayer를 빌드하면 Widevine팀에서 제공하는 정상적으로 작동하는 CENC 콘텐츠의 사전 설정된 목록이 포함된 데모 앱이 생성됩니다.
플레이어 - 브라우저
Shaka Player 오픈소스 프로젝트는 CDM (가급적 Widevine)을 사용하여 CENC HTML5 재생을 지원하는 포괄적인 교차 브라우저 JavaScript 라이브러리 프레임워크를 제공하기 위한 Widevine의 이니셔티브입니다. 깃허브 외부에는 Shaka Player 사용자 토론 그룹이 있으며 Widevine의 Shaka Player 개발자팀에서 이 그룹을 이용하고 모니터링합니다.
Shaka Player는 다음을 제공합니다.
- 모든 기능을 갖춘 오픈소스 플레이어 프레임워크
- 구성 가능하고 맞춤설정 가능한 UI
- 교차 플랫폼 및 교차 브라우저 지원
- HTML5, MSE, EME, DASH 지원
- 멀티 DRM 옵션