【问题标题】:Verify Display HDCP Compliance (Force HDCP output, disable output if HDCP unavailable)验证显示 HDCP 合规性(强制 HDCP 输出,如果 HDCP 不可用则禁用输出)
【发布时间】:2013-05-01 20:10:21
【问题描述】:

我正在使用 C# Windows 窗体,并希望确保我的窗体上的内容仅通过使用系统硬件的 HDCP 兼容流输出。这将需要一个多步骤的过程。该过程的高级框图描述是:

  1. 确定显示器是否支持 HDCP
  2. 确定图形适配器是否支持 HDCP
  3. 终于在输出上启用 HDCP 加密

如果这些阶段中的任何一个报告失败,那么将表单涂黑是一件小事。

我对这种方式进行了少量研究,但似乎找不到任何详细的示例、线索或说明来实现这一点。到目前为止,我一直在研究使用 DirectX 和 Windows OPM,但发现帮助不足。 Windows PlayReady 许可证似乎也解决了这个问题,但似乎是针对预加密内容的(而且价格也相当昂贵)。也许有一种我没有注意到或没有想过的方法?

如果您需要任何其他信息,请告诉我。

提前谢谢你。

【问题讨论】:

  • 你们找到解决办法了吗?
  • HDCP 是一项专有技术,旨在为英特尔谋取利润。为什么你会认为实施起来会很便宜?他们将其授权给内容提供商(== 你),而不是玩家。该协议在模拟时也是非常硬件密集型的,所以你真的想通过 DirectX 和 OPM。有一个 HDCP 兼容协议的开源实现,cs.sunysb.edu/~rob/hdcp.html,但它对你想要的几乎没用,对于实时视频输出来说太贵了,它可能需要你编写驱动程序。
  • ...而且您几乎只是在进行混淆,实际上绕过检查可能很容易。您只需要更改可执行文件中的几个字节,就可以保护消失了。或者有人可能会拦截您的输入等。或者您是否正在实现自己的视频播放器,需要符合 HDCP 标准?

标签: c# winforms hdcp


【解决方案1】:

HDCP 很好,但很难实现。即使您在市场上有这样的产品完全符合您的要求,它也不会通过 HDCP 认证,因为它很容易被破解。大多数情况下,与 HDCP 相关的东西,例如存储 HDCP 密钥的 ROM,是受硬件保护的,并且在您的产品上市时永远不会被读取。有时您甚至需要隐藏从一​​个组件到另一个组件的硬件路径,以防止从显卡芯片和 HDMI 连接器之间嗅出您的 HDCP 解密数据。

要回答您的问题,您只能检测显示器是否支持 HDCP,前提是您可以通过某种方式读取显示器的 EDID。我不认为你可以使用 Windows 中的现有工具来做到这一点。不过我可能是错的。

【讨论】:

  • 在哪里可以查看 EDID 以获取 HDCP 信息
猜你喜欢
  • 2011-10-02
  • 1970-01-01
  • 2020-09-22
  • 2017-05-20
  • 2020-01-13
  • 1970-01-01
  • 1970-01-01
  • 2013-10-19
  • 1970-01-01
相关资源
最近更新 更多