当用户或企业拥有大量敏感数据资产时,需要对数据盗取和搬运行为进行溯源,并提供取证支持,以避免发生数据泄露造成重大经济损失。为此,视频点播提供数字水印功能。数字水印技术是指在不影响视频画面、图片等视觉质量及完整性的前提下,将数字信息(即数字水印)隐藏式地嵌入到音视频、图片等载体文件中,适用于版权保护、泄露溯源、文件验真等场景。本文为您介绍如何为视频文件添加暗水印,保障版权安全。
工作原理
版权水印
将肉眼不可见的自定义文字信息嵌入视频中,可以在视频被传播或加工后,通过提取识别嵌入的文字信息来明确视频的版权归属。

溯源水印
盗用发生后,被传播的盗用视频进行水印提取,从而追踪到盗用人的身份。

优势特性
数字水印具有以下优势:
- 效果美观:数字水印不影响载体的正常使用,且难以感知水印信息的存在,保持视觉美观。
- 内容安全:由于水印难以被感知、篡改或受到针对性攻击,能够确保内容的安全性。
- 精准提取:经过特殊编码的水印信息能够准确提取,确保信息的唯一性和准确性。
- 鲁棒性强:数字水印能够抵抗各种视频压缩、选择、缩放和帧率变化等操作,保持稳定性和可靠性。
- 水印加密:水印信息经过特殊编码加密,难以被篡改,确保提取的准确性和保密性。
费用说明
使用视频点播的暗水印添加和提取功能会产生以下费用。
- 向视频文件添加暗水印,会产生以下费用:
- 从视频文件提取暗水印,会产生暗水印提取费用。
说明
暗水印添加和提取功能目前为公测阶段,暂不计费。
使用限制
暗水印功能存在以下限制:
- 暗水印的添加和提取仅支持 Vid 模式。
- 输入文件大小:单文件大小最大 1 GB。
- 内容和长度:暗水印内容仅支持 0 到 9 的数字,长度不超过 19 位。
- 视频格式:暗水印提取目前仅支持 MP4、HLS、FLV、TS 格式。
- 视频时长:暗水印视频时长至少 5 秒。
- 片源限制:要求转码后视频的面积需大于 122,800 像素,约 350 * 350 px。
前提条件
使用版权水印
步骤 1:生成版权水印视频
配置水印贴片模板
在视频点播控制台创建水印贴片模板并配置添加暗水印,如下图所示。具体操作请见水印贴片模板。暗水印文本内容可为数字和文字水印变量 Key。如配置文字水印变量 Key,您可以在调用 StartWorkflow 接口触发工作流时动态替换文字水印内容,具体请见动态替换文字水印内容。

配置工作流(可选)
在视频点播控制台配置工作流,勾选视频转码或极智超清的工作流任务,开启添加水印贴片,并关联配置了添加暗水印的水印贴片模板,如下图所示。具体操作请见工作流。

触发转码任务
使用单个转码模板或工作流对视频进行转码,在转码的同时添加水印。视频点播支持在上传音视频时或上传音视频后触发转码。
- 单模板处理:通过视频点播控制台指定单个媒体处理模板来触发转码任务,具体请见触发媒体处理。
- 工作流处理 :可以设置空间级别的默认工作流、上传时指定工作流 ID 或上传后手动触发工作流。具体操作请见触发工作流。
获取版权水印视频播放地址
触发转码后,您可以通过以下方式获取已添加版权水印的视频播放地址。
控制台方式
- 登录视频点播控制台,进入指定空间。
- 单击左侧导航栏媒体处理 > 媒体处理任务,查看媒体处理任务状态。
- 状态为成功后,单击操作列的查看详情按钮。
- 在媒体处理任务详情页面,单击查看产物按钮。
- 在视频地址页签下,通过查看水印标签找到转码生成的版权水印视频。

- 单击复制链接获取版权水印视频的播放地址。
OpenAPI/服务端 SDK
- 调用 GetWorkflowExecution 接口获取工作流任务执行状态。
- 状态为成功后,调用 GetPlayInfo 接口获取视频播放地址。您必须设置如下参数,以获取版权水印视频的播放地址:
Vid
:源版权视频上传至视频点播服务后生成的视频 ID。LogoType
:设置为您在视频点播控制台创建水印贴片模板时配置的自定义水印贴片标签。Format
、Codec
、Definition
参数:需与转码模板配置匹配。
- 接口调用成功后,通过返回参数
PlayInfoList
获取版权水印视频的播放地址。
自行拼接
- 配置工作流执行完成或媒体处理任务执行完成事件通知。视频点播服务会在任务执行完成时及时通知您。您可以从接收到的回调结果中
TranscodeInfo
数组中的 FileName
参数获取到转码生成视频的文件路径。通过水印贴片标签 LogoType
参数判断该转码产物是否带水印。 - 通过自行拼接的方式获取到播放地址,拼接方式如下:
- 拼接规则:
Protocol://PlaybackDomain/FileName?auth_key=xxx
- 拼接示例:假设您的点播加速域名
PlaybackDomain
为 play.vod.com
,获取到的 FileName
为 /40e625a6d1694fe7b6f03f9eddcc16a5
,则该视频的播放地址为 http://play.vod.com/40e625a6d1694fe7b6f03f9eddcc16a5
。如果您在视频点播控制台开启了 URL 鉴权,则还需根据鉴权类型计算签名 auth_key
,具体请见 URL 鉴权概述。
步骤 2:模拟版权水印视频盗用
常见的视频盗用方式有以下几种:
- 直接传播:盗取版权水印视频的播放地址,直接下载到本地进行传播。
- 录屏:通过录屏工具对播放中的版权水印视频进行录制。
- 设备外录:使用手机、照相机等设备对播放中的版权水印视频进行录制。
参考以下步骤模拟视频盗用:
- 登录视频点播控制台,进入指定空间。
- 在视频管理页面,单击目标视频操作列的详情按钮,进入视频详情页面。
- 在视频地址页签下,通过查看水印标签找到转码生成的版权水印视频,然后通过以下方式模拟视频盗用:
- 直接传播:单击复制链接,将获取到的视频播放地址复制到浏览器中,然后将视频下载到本地。
- 录屏:单击预览,然后使用录屏工具对播放中的视频进行录屏。
- 设备外录:单击预览,然后使用手机、照相机等设备对播放中的视频进行录制。
步骤 3:从盗用视频中提取版权水印
- 在视频点播控制台配置工作流。勾选暗水印提取工作流任务并关联系统内置的暗水印提取模板,如下图所示。具体操作请见工作流。

- 将步骤 2:模拟版权水印视频盗用盗用中保存到本地的盗用视频或通过录制生成的盗用视频上传到视频点播中。
- 使用包含暗水印提取任务的工作流处理盗用视频,提取盗用视频的版权水印信息。具体操作请见触发工作流。
- 查看提取的版权水印信息:
- 登录视频点播控制台,进入指定空间。
- 单击左侧导航栏媒体处理 > 媒体处理任务,查看工作流任务执行状态。
- 状态为成功后,单击查看详情按钮。
- 单击查看产物按钮,进入视频详情页面。
- 在水印贴片页签下,查看版权水印提取结果和内容。

步骤 4:比对版权水印内容
将步骤 3 提取出的版权水印文字与步骤 1:生成版权水印视频中配置的水印文本内容进行比对,即可明确该盗用视频的版权归属。
使用溯源水印
步骤 1:生成溯源水印 AB 流
配置自适应码流模板
在视频点播控制台创建和配置自适应转码模板,开启暗水印 AB 流并只配置一条子流。如下图所示。具体操作请见自适应码流模板。

在工作流中配置自适应码流任务
通过视频点播控制台在工作流中勾选自适应码流任务并关联您配置的自适应转码模板,如下图所示。具体操作请见工作流。

触发自适应码流转码任务
您可以设置空间级别的默认工作流、上传时指定工作流 ID 或上传后手动触发包含自适应转码任务的工作流。具体操作请见触发工作流。
获取溯源水印视频地址
- 调用 GetWorkflowExecution 接口获取工作流任务执行状态。
- 状态为成功后,调用 GetPlayInfo 接口获取视频播放地址。用户请求播放时,根据已经生成 AB 流的视频 ID 组装生成唯一序列的 M3U8 溯源水印视频,供用户播放。调用
GetPlayInfo
接口时,您必须设置如下参数,以生成 M3U8 溯源水印视频:
Vid
:源版权视频上传至视频点播服务后生成的视频 ID。Definition
:设置为 auto
。Format
:设置为 hls
。DigitalWatermarkType
:设置为 ABTraceStream
。UserToken
:自定义溯源水印的水印信息,例如溯源水印-用户A
。
- 接口调用成功后,通过返回参数
AdaptiveBitrateStreamingInfo
获取溯源水印视频的播放地址。
步骤 2:模拟溯源水印视频盗用
从步骤 1:生成溯源水印 AB 流获取到溯源水印视频的播放地址后,可以将播放地址复制到浏览器中,然后将视频下载到本地模拟视频盗用。
步骤 3:从盗用视频中提取溯源水印
- 在视频点播控制台配置工作流。勾选暗水印提取工作流任务并关联系统内置的暗水印提取模板,如下图所示。具体操作请见工作流。

- 将步骤 3:从盗用视频中提取溯源水印中保存到本地的盗用视频上传到视频点播中。
- 使用包含暗水印提取任务的工作流处理盗用视频,提取盗用视频的版权水印信息。具体操作请见触发工作流。
- 查看提取的版权水印信息:
- 登录视频点播控制台,进入指定空间。
- 单击左侧导航栏媒体处理 > 媒体处理任务,查看工作流任务执行状态。
- 状态为成功后,单击查看详情按钮。
- 单击查看产物按钮,进入视频详情页面。
- 在水印贴片页签下,查看溯源水印提取结果和内容。

步骤 4:比对溯源水印内容
将步骤 3 提取出的溯源水印文字与步骤 1:生成溯源水印 AB 流中获取播放地址时设置的 UserToken
参数值进行比对,即可明确该盗用视频的泄露用户。
常见问题
为什么从盗用视频中提取暗水印失败?
当您提取暗水印失败时,可从如下方面进行排查:
- 确认您用于分发播放的视频是否已成功添加暗水印。
- 确认您用于分发播放的视频地址是否为版权水印视频流地址或溯源水印视频流地址,而非源文件地址或其他转码生成的地址。
- 确认您用于提取暗水印的盗用视频的时长、格式是否符合要求,具体请见使用限制。