NETFLIX で画面キャプチャできない理由→DRM が機能してたからだった

iPad で Netflix を見ていて、好きなシーンを画面キャプチャをしようとしたら、真っ黒ではありませんか。→ なぜか字幕だけキャプチャできている。。

他にも Amazon Prime も同様に画面キャプチャで真っ黒になったので、Javascript でそんなことできるの?と気になったので、その仕組みを調べることに。。

DRM が原因であることはすぐにわかった

DRM は、Digital Rights Management の略で、動画などのデジタルコンテンツを保護する仕組み。例えば、動画ダウンロードしても見れなかったり、ネット回線に繋がっていないと見れいないのは、この機能が効いているから。
画面キャプチャで真っ黒になるのもこの DRM の せい おかげということはすぐにわかった。でももう少し詳細に仕組みが分からないと納得いかない。。ので調べてみることに。

具体的には、コンテンツプロバイダーとライセンスプロバイダーとのやりとりの話

Netflix はデジタルコンテンツを配信している "コンテンツプロバイダー" と呼ばれます。
そしてそのコンテンツを再生するにはライセンスプロバイダーからライセンスを入手する必要があります。

そのライセンス取得プロセス (= CDM) と ライセンスの利用方法はウェブの標準仕様 (= EME) で定義されています。ここでは詳細な説明を割けますが、この認証プロセスを通らないと、コンテンツは見ることができません。

【蛇足】
コンテンツというのは "1 動画" という単位ではなく、その動画の "数秒" などの細かい単位で、その単位でライセンスを入手しています。

ということで、画面キャプチャで撮られた画像もこのような認証プロセスを通らないと見ることができないのです。

上は動画を見るブラウザの話でしたが、
画面キャプチャ機能は、OS (Windows や iPadOS) から提供されており、ブラウザの時と同様に OS が認証プロセスを処理しているようです。
→ その処理の結果、ライセンスプロバイダーがその OS からの画面キャプチャを許可していないため、その認証プロセスが通らず、暗号化されたコンテンツを解読できない結果、真っ黒な画面となっていたのでした。

逆に言うと、認証プロセスを使わない別プログラムを使えば、キャプチャは可能になります。
例えば、Windows 標準の Snipping Tool ( OS 標準なのにこれは使えるのね。。) やサードパーティーの画面キャプチャツールを使えば可能になります。

それでも残る疑問

実はブラウザからハードウェアアクセラレーション機能を OFF にすると、画面キャプチャが可能です。。。

The hardware acceleration allows the HDCP content to remain encrypted all the way to the display. By disabling it, the video is decrypted in software usually at a reduced resolution and/or frame rate.

日本語訳
ハードウェアアクセラレーション は HDCP コンテンツを暗号化した状態でモニターまで送ることができる。OFF にすることで、ソフトで暗号化解除されたコンテンツが送られる。通常、低解像度/低フレームレート。

https://stackoverflow.com/questions/67698164/why-does-disabling-hardware-acceleration-in-google-chrome-allow-discord-users-to

どうやらハードウェアアクセラレーション機能を OFF にすると、HDCP (著作権保護技術) が使えず、そのためコンテンツが暗号化されずにモニターまで送られるため、画面キャプチャできているらしい。
→ HDCP 非対応だとそもそもコンテンツ再生しないケースもあるようなので本当かは疑問。。

もう少しオフィシャルなサイトからの情報がほしいところだけど。。。わかり次第追記します。



参考までに、下記を知っていたら、より理解が深まります。

CDM ( Content Decryption Module )

デジタルコンテンツ暗号化を解除するモジュール。
「デジタルコンテンツの保護」とは、そのコンテンツを暗号化し、それを解除しないと見れない仕組みで、その解除にはカギ (=長い文字列) が必要です。
この CDM は、暗号化されているコンテンツとそれを解除するためのカギを渡すことで、デジタルコンテンツが見れるようにしてくれる存在です。

EME ( Encrypted Media Extensions )

プラグインなしでウェブでデジタルコンテンツをみるための W3C 仕様。
(仕様の詳細ページ: https://w3c.github.io/encrypted-media/#introduction )

つまりは、ブラウザが CDM をどのように使えばいいかを細かく決めたルールで、これを実装していないと NETFLIX などの動画コンテンツが見れないので、各種プラウザは対応する必要がでてきました。

「Mozilla、FirefoxにDRMのためのW3C仕様「EME」実装を表明」

"ほとんどの競合ブラウザやコンテンツ業界がW3C EME仕様を取り入れる中、ユーザーが引き続き全てのコンテンツにアクセスできるようにするためには、MozillaもEMEを実装する以外の選択肢はほとんどなくなった"

https://atmarkit.itmedia.co.jp/ait/articles/1405/16/news120.html

Firefox が渋っていたのは、どうやら DRM の仕組みがブラックボックスなのが嫌だったようです。

MozillaはこれまでDRMに強く反対してきた。Mozillaのミッションステートメントは「私たちのミッションは、インターネット上のオープン性と革新、機会を促進すること」と謳っており、DRMはこの「オープン性」に反していると考えられるからだ。しかも他社と異なり、Mozillaは非営利団体である。

https://internet.watch.impress.co.jp/docs/news/648537.html

この記事が気に入ったらサポートをしてみませんか?