개요

Widevine DRM은 Google의 프리미엄 미디어용 콘텐츠 보호 시스템입니다. Google Play, YouTube, Netflix, Disney+, Amazon Prime Video, HBO Max, Hulu, Peacock, Discovery+, Paramount+ 등 전 세계 주요 파트너가 사용합니다. Widevine은 디지털 배포보다는 프리미엄 콘텐츠를 시청할 수 있는 최상의 환경을 제공하는 데 중점을 두고 있습니다.

Widevine DRM은 다음 표준을 사용합니다.

지원되는 플랫폼

달리 명시되지 않는 한 Widevine 클라이언트는 기본적으로 기기 플랫폼에 삽입됩니다.

기기 또는 플랫폼 지원 여부
Android (모바일, TV, 자동차)
Android 오픈소스 (AOSP)
Apple iOS [1]
Apple TV (tvOS) -
Chromecast (Cast)
Google Home 및 Nest 기기
ChromeOS (Chromebook)
Chrome 브라우저 (Windows, Mac OS X, Linux)
Chromium 브라우저
Chromium Embedded Framework (CEF) / Electron
Firefox 브라우저
에지 브라우저
Opera (브라우저 및 내장형 기기)
Safari 브라우저 (데스크톱) -
Roku 기기
Amazon Echo 기기
Amazon Fire OS 기기
Amazon Fire TV 기기
Facebook 포털 기기
Nintendo Switch -
소니 플레이스테이션
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 (Cast) 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 구성요소를 보여줍니다.

프로비저닝, 키박스, OEMCrypto 구성요소는 기기 통합 프로세스와 관련이 있습니다. Widevine을 기기에 통합하는 데 관심이 있다면 Google에 문의하세요.

발신 클라이언트 기기의 라이선스 요청은 파트너 운영 프록시 메커니즘 (HTTPS를 통해)을 통해 수신됩니다. 이 프록시 메커니즘은 Widevine 라이선스 서비스에서 처리할 페이로드를 전송하기 전에 요청을 검증하고 비즈니스 규칙을 추가합니다.

Widevine 클라이언트 기기는 어떠한 경우에도 Widevine 라이선스 서비스와 직접 통신하지 않습니다.

Widevine 라이선스 발급

Widevine은 클라이언트에 라이선스를 발급하는 두 가지 방법을 제공합니다.

  • 클라우드 라이선스 서비스
    • 액세스 또는 거래 수수료 없이 전 세계에서 이용 가능한 서비스
    • 액세스 권한은 Widevine 라이선스 수혜자에게 조직별 사용자 인증 정보를 사용하여 제공됩니다.
  • 라이선스 서버 SDK
    • 자체 라이선스 서비스를 호스팅하도록 설계되었습니다.

Widevine Cloud 라이선스 서비스 사용

Cloud 라이선스 서비스에는 테스트와 프로덕션이라는 두 가지 환경이 있습니다. Widevine 라이선스 수혜자에게는 조직별로 고유한 사용자 인증 정보가 제공됩니다.

Cloud 라이선스 서비스는 다음과 같은 2개의 엔드포인트를 제공합니다.

  • 콘텐츠 암호화를 목적으로 콘텐츠 키 검색
    • 이러한 방식으로 요청된 콘텐츠 키는 Widevine 클라우드 라이선스 서비스에서 저장합니다.
  • 라이선스 발급
    • Widevine 클라이언트 기기에서 생성된 라이선스 요청을 처리합니다.

클라이언트 기기의 모든 라이선스 요청은 라이선스 프록시 메커니즘으로 처리해야 합니다.

  • Widevine은 Cloud 라이선스 서비스와 통신하기 위한 프록시 SDK를 제공합니다.
  • 라이선스 프록시는 들어오는 클라이언트 요청의 유효성을 검사한 후 적용할 비즈니스 규칙을 결정합니다.
  • 비즈니스 규칙은 기기의 원래 라이선스 요청에 추가되어 처리를 위해 라이선스 서비스로 전송됩니다.
  • 라이선스가 생성되면 라이선스 콘텐츠는 더 이상 수정할 수 없으며 요청하는 기기에 맞춤설정됩니다.

샤카 패키저

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 재생을 지원하는 포괄적인 교차 브라우저 자바스크립트 라이브러리 프레임워크를 제공하기 위한 Widevine의 이니셔티브입니다. GitHub 외부에서는 Widevine의 Shaka Player 개발자팀에서 Shaka Player 사용자 토론방을 운영하고 모니터링할 수 있습니다.

샤카 플레이어의 기능:

  • 모든 기능을 갖춘 오픈소스 플레이어 프레임워크
  • 구성 및 맞춤설정 가능한 UI
  • 크로스 플랫폼 및 크로스 브라우저 지원
  • HTML5, MSE, EME, DASH 지원
  • 멀티 DRM 옵션