DRM-X 6.0 鸽子和橄榄枝标志DRM-X 6.0文档
◎ 简体中文

Moodle 受保护视频活动

安装 Moodle 活动模块,将受保护内容添加到课程,并复用平台原生的报名和可用性规则。

查看 Markdown在线示例更新于 2026-09-25

配置一览#

当前下载:1.3.0-preview.6 · 可选过滤器 1.3.0-preview.2。

通常只需在管理界面中配置插件。保留现有用户、购买和课程报名记录;不需要另建访问授权记录。

  1. 1. 配置连接,只需一次Site administration → Plugins

    安装活动模块,并在其设置中输入服务器凭据。

  2. 2. 选择视频Course → Add an activity

    添加 DRM-X Protected Video,输入 Content ID,选择 VOD/Live 和策略。

  3. 3. 保留课程访问规则Activity → Restrict access

    使用 Moodle 的报名、可用性和角色权限。

这是字段位置示意图,不是截图。Moodle 的标签和布局可能因版本及主题而异。

安装活动模块#

在 Moodle 的“网站管理 → 插件 → 安装插件”中安装 mod_drmx。插件目录为 mod/drmx。完成 Moodle 数据库升级后,打开 DRM-X 受保护视频活动设置。

填写 Site ID、Site Key、Access Key 和默认许可证策略。在托管部署中,可通过 Moodle 的 forced_plugin_settings 从受保护的主机配置注入这些设置。

下载 Moodle 活动模块

创建受保护视频活动#

在课程中开启编辑并添加 DRM-X 受保护视频。在 DRM-X 6.0 Universal Player 区域粘贴已发布内容的 Content ID,选择 VOD 或 Live,并选择保护策略。问号帮助会说明各字段的含义;策略名称同时保留 API 标识符。保存并显示活动后,使用学员账号测试。访问限制和完成条件仍在 Moodle 活动设置中配置。

每次播放请求都会检查登录账号、课程报名状态、mod/drmx:view 权限,以及该活动对当前用户是否可见。请求中的 Content ID 必须与活动保存的值一致。访客、暂停报名的用户以及无权访问该活动的用户将被拒绝。

完成跟踪记录的是用户已查看活动,并不能证明用户观看了整段视频。

使用过滤器嵌入已有活动#

先安装 mod_drmx,再安装 filter_drmx,并在“管理过滤器”中启用。请使用活动 URL 中的课程模块 ID,而非内部视频记录 ID。

{drmx activityid="123"}

旧版 contentid 标记只有在当前课程中恰好存在一个 Content ID 和内容类型均匹配的 DRM-X 活动时才会生效。请将旧过滤器中的凭据复制到活动设置中;旧过滤器凭据字段不再使用。

下载可选的 Moodle 过滤器

备份、恢复与测试#

活动模块包含 Moodle 备份与恢复处理程序。恢复活动时会清空 Content ID,管理员需要确认目标内容映射后才能启用播放。服务器凭据不应通过课程备份恢复。

已在本地安装 Moodle 5.2.2+,并验证活动绑定、篡改 Content ID、隐藏活动和暂停报名等场景。上线前还需验证您实际使用的角色覆盖规则、分组与日期限制、备份恢复以及真实 DRM 播放。

播放器加载与 HTTPS#

将 mod_drmx 升级到 1.3.0-preview.6。若使用可选文本过滤器,同时将 filter_drmx 升级到 1.3.0-preview.2。完成 Moodle 升级,清除所有 Moodle 缓存,然后重新加载页面。活动模块按正确顺序加载经过验证的 Shaka 运行时和 DRM-X SDK,避免 RequireJS 匿名模块冲突。

请使用 DRM-X 活动模块或其文本过滤器嵌入播放器。删除同一页面中以前手动粘贴的 Shaka 和 DRM-X script 标签;这些标签与插件混用可能再次引发加载冲突。不要禁用 Moodle 的 RequireJS 加载器。

请通过具有有效证书的 HTTPS 地址打开教学网站。http://192.168.31.98:8080 这样的 HTTP 局域网地址不属于浏览器安全上下文,可能无法使用 DRM 播放所需的 Encrypted Media Extensions(EME)。同一台电脑上的 HTTP localhost 可用于本机测试,属于例外情况。如果 HTTPS 页面仍提示 EME 不可用,请确认浏览器支持 DRM,并允许播放受保护内容;通过 iframe 嵌入时,还需允许该框架使用 encrypted-media。

集成源码下载 · ASP.NET Core 集成 · Node.js + Express 集成

升级活动模块并验证访问权限#

备份 Moodle,将 mod_drmx 更新为 preview.6,然后在“网站管理 → 通知”中完成升级。若使用可选过滤器,请将 filter_drmx 保持为 preview.2,然后清除所有 Moodle 缓存。正常升级会保留现有活动的内容映射。

活动模块会拒绝非 JSON 请求、超过 16 KiB 的请求,以及返回了不同 Content ID 的会话。请使用随附的播放器和端点。测试已报名及已暂停的用户、隐藏活动、日期/组限制、被篡改的 Content IDs 和实际播放。恢复备份后,仍需要管理员重新输入 Content ID。