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

为受保护的播放添加可见水印

由可信后端发送水印设置,使用兼容播放器渲染三种可见样式,并验证会话的完整生命周期。

查看 Markdown在线示例更新于 2026-11-10

集成教程

为受保护的流媒体播放会话添加与观众相关的可见水印。可选择随机位置、移动对角线、全屏网格,也可组合使用。

查看请求示例

可见水印如何传递给播放器

经过身份验证的后端为会话选择水印文字和图层。

  1. 授权

    确认观众有权观看所请求的内容。

  2. 请求

    在播放会话请求中发送水印和兼容播放器的能力声明。

  3. 渲染

    在可渲染所需图层的播放器中加载已授权的会话。

1. 选择水印图层#

图层类型观众看到的效果建议的初始设置
random-static直立文字在一个位置短暂停留,然后更换位置。intervalSeconds: 8
diagonal在视频画面上沿对角线移动的文字。speed: "slow"
full-screen在视频上叠加重复排列的文字网格。rows: 3, columns: 3

每个会话中每种类型只能出现一次。可分别设置各图层的不透明度,测试时请使用简短的虚构观众标识。流媒体播放期间,播放器将水印渲染在画面上方。

2. 在后端请求中添加水印#

在您的后端验证观众身份及其对所选 Content ID 的访问权限,并在后端生成水印文字。仅在所选播放器实现该能力时转发 watermarkVersion: 1。

将这些字段合并到现有的已授权 播放会话请求中,发送到 POST /api/v1/playback/environments/{environmentId}/sessions。保留现有 DRM、主体、策略和会话字段,以及其他受支持的能力。

{
  "platformCapabilities": {
    "clientPlatform": "web",
    "watermarkVersion": 1
  },
  "watermark": {
    "version": 1,
    "text": "Demo viewer A104",
    "layers": [
      { "type": "random-static", "opacity": 0.38, "intervalSeconds": 8 },
      { "type": "diagonal", "opacity": 0.30, "speed": "slow" },
      { "type": "full-screen", "opacity": 0.16, "rows": 3, "columns": 3 }
    ]
  }
}

文字最多为 512 个 UTF-8 字节,且不超过三行。使用纯文本和一到三种不同的图层。普通流媒体会话可省略 watermark。

3. 使用 PHP 示例进行测试#

从 SDK 水印评估示例开始。在您自己的 PHP 示例副本中,在 config/drmx.php 中设置 watermark 解析函数。示例在验证观众身份和内容访问权限后调用该函数。

'watermark' => static function (string $viewerId, string $contentId): array {
    return [
        'text' => 'Demo viewer A104',
        'layers' => [
            ['type' => 'random-static', 'opacity' => 0.38],
            ['type' => 'diagonal', 'speed' => 'slow'],
            ['type' => 'full-screen', 'opacity' => 0.16],
        ],
    ];
},

生产环境应从自己的已授权观众记录中生成简短的化名标识。将凭据留在后端,并避免在 URL、日志、分析数据和共享缓存中记录观众文字。返回已授权的播放器响应时使用 Cache-Control: no-store。

4. 在兼容的播放器上渲染并验证#

将规范化后的会话响应(包括 watermark)交给兼容的 Universal Player。Web 端使用受支持的 <drmx-universal-player> 组件,使播放器能够管理全屏水印。如果客户端无法渲染必需的图层,请停止播放并释放会话占用。

集成可用性
PHP Web 演示评估示例使用兼容的 Web SDK 预览版,可在这里测试三种图层。
公开发布的 SDK 和 CMS 软件包检查实际部署的软件包是否支持 watermark v1。现有下载别名和 LMS 插件可能仍使用较早的播放器版本。
原生和电视平台源码预览版提供针对各平台的渲染器。生产环境要求使用水印前,请验证具体的 SDK 版本和设备。

分别测试每种图层及其组合。暂停、跳转、调整尺寸并进入全屏,然后停止播放并确认会话已释放。检查旧版客户端无法启动其不能渲染必需水印的会话。

本教程涵盖流媒体播放中的可见叠加层。离线播放和仅传送视频画面的外部播放需要单独验证。