【问题标题】:Is there a way to render DRM content with WebGL?有没有办法用 WebGL 渲染 DRM 内容?
【发布时间】:2021-04-16 11:22:52
【问题描述】:

我目前正在尝试使用 WebGL 绘制一些 DRM 内容。我已经设法在没有 DRM 的情况下绘制普通和简单的内容,但绘制 DRM 内容只会显示黑屏。我正在关注这些功能:https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/texSubImage2D 以渲染我的东西。有人知道为什么吗?以前有人试过吗?谢谢!

this._gl.bindTexture(this._gl.TEXTURE_2D, webGLTexture);

 this._gl.texSubImage2D(this._gl.TEXTURE_2D, 0, 0, 0, this._gl.RGBA,
        this._gl.UNSIGNED_BYTE, video);

 this._gl.bindTexture(this._gl.TEXTURE_2D, null);

【问题讨论】:

    标签: javascript browser webgl drm


    【解决方案1】:

    在许多设备上,DRM 将利用安全的媒体路径 - 这旨在确保加密的视频内容被解密并直接显示在屏幕上,而无需任何其他应用程序甚至操作系统能够访问解密的视频。

    在某些设备上,可以进行一些基本操作来支持,例如 VR,但这些通常不允许任何读取选项。

    如果您的用例是在 webGL 创建的“世界”中显示受 DRM 保护的视频,那么这在许多/大多数设备上都是可能的 - 通常您会在生成的世界中添加安全或受保护的视图或窗口并播放加密的视频在那个视图中。

    【讨论】:

    • 如果 WebGL 不支持创建和操作受保护的纹理怎么办?
    • 您的意思是保护例如 3D 模型本身吗? AFAIK,目前没有主流的 DRM 技术来保护模型并允许它们被操纵。
    • 不,我的意思是在 WebGL 中创建一个受保护的内容(或纹理),比如这个 OpenGL 扩展:khronos.org/registry/EGL/extensions/EXT/…
    • 您能否将您的代码以及浏览器控制台输出也发布到问题中 - 如果问题与 DRM 许可证有关,通常会有一个日志记录到控制台。
    • 没有异常错误。视频可以正确访问,因为我实际上可以听到视频。我将编辑我的帖子以显示我的绘图代码,但正如我所说,它与正常的、不受保护的内容完美配合。
    猜你喜欢
    • 2016-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 2017-02-27
    • 2018-04-05
    • 2011-02-28
    相关资源
    最近更新 更多