‼️

【DRM】Netflix の最高画質が視聴環境によって変動する基準、知りたくない?

に公開

🎄Merry Christmas🎄 WWWAVE アドベントカレンダー 12/22の記事になります】

誰だお前は!?

ウェイブのアニメフェスタ担当のエンジニアです。ごきげんよう。

最近コンテンツを扱うサービスを担当している都合上、DRMについて調査する機会があり
その際に◯mazon Prime Video, ◯アニメストア等(敬称略)の仕様や基準について調査すると、
「なるほどなぁ」
と思うことが少なからずあり、記事という形でまとめることにしました。

前提

本記事では基本的に、PCブラウザ環境であることを前提に話を進めます。ただしLinuxは除きます。

また、これは「Netflixが設けている画質制限の技術的妥当性」を検証する記事であって、
「俺の環境で4K画質が見れないんだけど!? はぁ〜やっぱクソだわネトフリ」
的な主張をするものではないです。

最後に、本記事は雰囲気を掴んでもらうために書いているので、
「あいつの記事にこう書いてあったんだって!」
と、本記事を根拠にするのはDEPRECATION。非推奨です。

一次情報を根拠にしてください。

なぜブラウザによって選択できる画質が違うのか?

早速本題ですが、この結論は各ブラウザのセキュリティレベル。
ざっくり言うと

スクショや録画という「Netflix側の意図しない行為」に対して、どれだけ対策できるか

という点で管理されているように思いました。

1. コピー防止技術: DRMとは

動画等のコンテンツを意図しないユーザーに視聴・盗聴されないためにDRM (Digital Rights Management)と呼ばれる仕組みがあります。
そして、DRMにも種類があり、それぞれのDRMにセキュリティレベル的な概念があるんですね。

主要なDRM一覧

DRM技術 開発元 主な対応環境 セキュリティレベル分類
Widevine Google Chrome (Windows, macOS, Android版) L1 (高) / L2 / L3 (低)
PlayReady Microsoft Edge (Windows, Xbox版) SL3000 (高) / SL2000 / SL150 (低)
FairPlay Apple Safari (Apple製品) Hardware (高)

セキュリティレベルとは

これは暗号化によって保護されたデータ(DRMコンテンツ)の復号処理が

「デバイスのどの領域で行われるか」

で決定されます。

  • ハードウェア処理(高セキュリティ):
    • Widevine L1 / PlayReady SL3000 / FairPlay
    • SoC内のTEE (Trusted Execution Environment) や専用チップ(Apple T2チップ等)で暗号化解除・デコード処理を行う
      • ソフトウェアが関与できない領域で処理を実行する
      • OSや他のアプリから隔離されているため、画面収録がやスクリーンショットでコンテンツを保存しようとすると失敗する
  • ソフトウェア処理(低セキュリティ):
    • Widevine L3 / PlayReady SL150
    • 一般的なメモリ空間上でソフトウェア的に処理を行う
      • 解析やキャプチャが比較的簡単

2. 高レベルのDRMが利用できる環境

Netflixで4K動画の再生を行うために鍵となるのが、

「高レベルのDRM」

を利用しているかどうかです。

  • ここでの高いセキュリティレベルのDRMとは、以下のいずれかを利用できる環境を指します
    • Widevine: L1
    • PlayReady: SL3000
    • FairPlay

ネイティブDRMクライアントとは?

少し話はそれますが、OSやブラウザには「ネイティブDRMクライアント」が利用可能な場合があります。
これはWindows等のOSが、DRM関係の処理を専用チップに投げることのできる仕組み(API)のことを指します。
この仕組みが利用できるということは、DRM関連の処理をアプリ等のソフトウェアが担当せず、

「暗号化されたデータを持ってきたから、あとは再生できるように何とかしといてくれ!」

と、OSすらアクセスできない保護領域に処理を投げることができるということです。
さっきからこれのことを「ハードウェア処理」と言っているのですね。

利用できる環境とは

以下になります。(私が確認した限り)

ブラウザ / OS 使用DRM 動作モード 判定
Edge (Windows版) PlayReady Native
Safari FairPlay Native
Chrome (Android版) Widevine Native
(モノによる)
Chrome (Windows版)
Firefox(Windows版, macOS版)等
Widevine Software (CDM) ×
Edge (macOS版) Widevine Software (CDM) ×

WindowsにおけるPlayReady

Windows 10/11およびEdgeは、ネイティブDRMクライアントを利用できます。
Microsoftの公式ドキュメント[1]および開発者ブログ[2]において、PlayReadyがOSやチップセットに統合されたハードウェアDRM(HardwareDRM)として動作することが明記されていました。
これは、Windows × Edgeにおいて、高いセキュリティレベルでDRMを利用する環境が整っていることを指します。

macOSにおけるFairPlay

Apple環境においては、DRMの実装手段としてFairPlayがOSの中核機能として統合されています。[3]
そのため、SafariはOSのAPIを通じて、T2チップやAppleシリコン内のセキュアな領域(Secure Enclave等)を利用でき、WindowsのEdge同様に高いセキュリティレベルでDRMを利用できることを意味します。

AndroidにおけるWidevine

Android版ChromeアプリにおいてもWidevineがネイティブサポートされている場合があります。
ただ、ネイティブでDRMをサポートする場合、端末自体にMacのT2チップのような専用ユニットを搭載する必要があります。

もちろん搭載には相応のコストがかかるため、安価なAndroid端末にはそもそもこのユニットが搭載されていない場合があり、その場合は物理的にサポート不可ということになります。

ちなみに、私の手元にあったAndroid端末Rakuten Hand (定価20,000円)は、TEEとして利用できるユニットを搭載していないのか、Widevine L3のみのサポートとなっていました。

3. Netflixの最高画質対応表

閑話休題、ここでタイトル回収を行うのですが、Netflixが提供する現在のブラウザ別最大解像度は以下の通りです。

OS ブラウザ 利用できるDRM 最高画質
Windows Microsoft Edge PlayReady SL3000
Widevine L3
4K (2160p)
Chrome / Firefox等 Widevine L3 1080p
macOS Safari FairPlay 4K (2160p)
Chrome / Firefox等 Widevine L3 1080p
Microsoft Edge Widevine L3 720p

おかわりでしょうか?🍚
PCブラウザに限った場合、「高レベルのDRMが利用可能な環境」つまり、
ネイティブDRMクライアントを利用できる環境だけ
が4Kコンテンツの利用を許可されていますね。なるほど。

ちょ待てよ。Mac版Edgeが720pなんだが?

これに関してはちょっと調べてみました...!

調べてみた結果、よく分かりませんでした!
DRM以外の観点で評価されているんですかね?謎は深まるばかりです...
いかがでしたでしょうか?今後もMac版Microsoft Edgeから目が離せませんね(黙れ)

補足:低いセキュリティレベルでは、4Kは「技術的に不可能」なのか?

ここまで「高いセキュリティレベルに対応していないと4Kが見れない」という話をしてきましたが、これは

「Widevine L3の仕様上、4K解像度を扱えない」という意味ではありません。

技術的な規格の話だけをすれば、ソフトウェア処理(L3)であっても4K解像度の映像データを復号して再生すること自体は可能です。

ではなぜ見れないのか?

それは単純に、コンテンツプロバイダー(今回で言うNetflix)側が、
「セキュリティレベルの低いデバイス(L3)からのリクエストに対しては、
高画質データを送信しない」

という配信設定を行っているからです。

「じゃあNetflixが許可さえすれば、Chromeでも4K見れるじゃん!」

と思うかもしれませんが、Widevineを例に挙げると、
その運用規約(Compliance Rules)において、
「L3環境での高解像度・高価値コンテンツの再生は推奨しない(あるいは制限すべき)」[4]
といった旨の指針が存在します。

つまり、技術的に「できる/できない」の話ではなく、

「権利保護の観点から、あえてやらない」

というのが実情です。
ここを勘違いすると「技術力がないから4K再生できないんだ!」と誤った方向へ石を投げそうになるので注意が必要です。


4. まとめ: なぜ「特定のブラウザ」しか4Kで見れないのか

ここまでの話を整理すると、Netflixが4K画質を許可するかどうかの基準は、
「OSレベルのネイティブDRM(ハードウェア処理)が使えるか」
という点が大きく影響しているように見えると言うことです。

  • Edge (Windows) / Safari (Mac)
    • OS標準のブラウザであるため特権的に、OSが持つ「ネイティブDRMクライアント」を経由して、ハードウェア(TEE/Secure Enclave)に直接アクセスできます。
    • 判定: 「鉄壁の守り(L1/Hardware)」 → 4K OK
  • Chrome / Firefox (Windows/Mac)
    • アプリとしてインストールされた彼らはOSのネイティブ機能(深い領域)にアクセスできず、ブラウザ内のプログラムだけで復号を行います(ソフトウェア処理)。
    • 判定: 「そこそこの守り(L3/Software)」 → FHD (1080p) まで

つまり、**「復号した映像データを、OSやメモリに一切晒さずに画面に出せるか」**というハードウェア的な信頼性が、4K再生への条件になっているというわけです。

余談: 言いたいことは分からんでもない

「Chromeで4K見れないの理不尽過ぎん?」と感じる方もいると思いますが、ブラウザの機能面が障壁になっていることを考えるとChrome側に文句を言う方がまだ筋が通っている気がします。(?)

Ex. 余談:ディスプレイへの出力とHDCP

ここまで「PC内部での処理(DRM)」に焦点を当てていました。
しかし、いくらPC内部で厳重にデータを保護しても、
ディスプレイへ送るケーブル上の信号が生データのままでは、
そこで盗聴(キャプチャ)されるので、DRMそのものが無意味になってしまいますよね。

img

もちろんそんな訳はなく、PC─ディスプレイ間においても、暗号化されたデータをやりとりする仕組みが存在します。
この仕組みが HDCP (High-bandwidth Digital Content Protection) です。
※これについて深掘りはしません。

HDCPに対応するディスプレイの要件

ディスプレイ側には、送られてきた暗号化データを復号するための**HDCPモジュール(チップ)**が物理的に搭載されている必要があります。
特に4K再生には、より強固な暗号化を用いる HDCP 2.2 への対応が必須です。

皆様が利用しているディスプレイがHDCPのバージョンをどこまでサポートしているかは、購入サイトやディスプレイの仕様書等を確認する必要があります。

HDCPに対応するケーブルの要件

ケーブルについても、「HDCP2.xに対応!」と銘打たれて販売されているものがあります。
ここから生じる誤解として、HDMIケーブル自体に「HDCPに対応するためのチップ」が入っているというものがあります。(5mとかの長いケーブルその限りではない。詳しくは「HDMIケーブル アクティブタイプ」で検索)

しかし実際は異なり、**映像データと同時にHDCPの制御信号を安定して送れるだけの転送速度(Bandwidth)**を担保できているかどうかがHDCPの対応可否を決定しています。
単純な話、爆速でデータを転送できるケーブルであれば、HDCPのバージョンに関係なく「HDCPx.x対応!」と謳えるみたいです。私が調べた限りでは。

つまり、「特別な機能を持っているケーブル」が必要なわけではなく、**「4K 60Hzという大量の情報をこぼさずに転送できる(=高品質な)ケーブル」**であることが、結果としてHDCP 2.2環境での再生を成功させる条件となります。

最後に

DRMに関して調査をすると、毎回実装に関する記事やGithubよりも先に、
「いかにDRMを解除して動画をダウンロードするか」
当記事が大量出てくるに辟易しました。

「DRMを解除する方法」じゃねーんですよ!?
「Keepout」って書いてるテープ破って、無理やり通行しようとするのと大差ないですからね?

普段しないでしょ!?そんなことっ!

以上、通読感謝です。
またどこかでお会いすることがあれば〜

参考資料・引用元・脚注

できるだけ公式の文書からソースを持ってきました。

脚注
  1. Microsoft PlayReady for Windows and Xbox(公式) ↩︎

  2. Moving to HTML5 Premium Media (古の公式ブログ) ↩︎

  3. FairPlay Streaming Overview (Apple Developer) ↩︎

  4. Google Widevine DRM (米国のDRMコンテンツ保護を提供する企業) ↩︎

wwwave's Techblog

Discussion