2

openglレンダリングのコピー防止を実装したいのですが、ここにいくつかのアイデアがありますが、どれも納得できません。これを行う方法についていくつか提案をお願いします。

ChangeDisplaySettingsEx APIを使用すると、ディスプレイデバイスの構成を変更できます。VIDEOPARAMETERSコピー防止の詳細を含む構造を使用します。このAPIはWin2Kで導入されました。COPPまたはOPMがアプリケーションウィンドウごとにコピー防止設定を設定するのに対し、出力ごとにコピー防止設定をグローバルに設定します。

COPP APIは、VRM-7またはVMR-9 DirectShowフィルターでのみ使用可能であり、WinXP以降で使用できます。これを使用することは、DirectShowを使用してコンテンツをレンダリングする必要があることを意味します。Directshowなしでアプリを完全にレンダリングし、コピー防止を設定するためにダミーのVRM-9を作成するとどうなりますか?

OPM APIはVistaからのみ利用できますが、ヘッダーファイルはWindows7SDKの一部にすぎません。このAPIはCOPPよりも明らかに優れているようです。特に、アプリケーションがウィンドウのモニターハンドルからコピー防止パラメーターを設定できるため、Direct 3D、DirectShow、またはPMPを使用しなくても使用できるようです。

4

1 に答える 1

8

コピー防止は機能しません。限目。画面に表示されているコンテンツにアクセスする方法は常にあります。システムで実行されているプログラムで取得できない場合は、グラフィックカードの出力を利用します。250ドル未満で利用可能なHDMIビデオグラバーボックスがあります-そしてHDMIを保護するHDCPマスターキーがリークされました。

私のアドバイス:複雑なDRMスキームの実装を気にしないでください。重要で長続きすることに時間を費やすほうがよいでしょう。

コメントによる編集:コピー防止を有効にすることはOpenGLの機能ではありません。これは、オペレーティングシステムのグラフィックサブシステムに関連しています。Windowsの場合、HDCPコピー防止は、ビデオストリームのDirectXフィルターグラフの一部として実装されます。OpenGLはDirectXから分離されているため、OpenGLでレンダリングされたものを「保護」できる可能性はほとんどありません。

于 2010-12-01T15:32:41.790 に答える