视频数字水印嵌入接口
更新时间:2024-07-31
说明
视频数字水印嵌入功能需通过发起视频转码任务使用。本文档主要介绍本功能相关参数及使用示例,转码相关接口请参考视频转码模板接口和视频转码任务接口。
为使用数字水印嵌入功能,主要有两种配置方法,适用于两种不同的应用场景,可根据自身需求选择:
- (推荐)在转码任务中配置数字水印。在转码任务中指定数字水印内容、密钥、算法参数等,可配合一般转码模板(转码模板无需配置数字水印)使用,无需预先创建数字水印模板。
- 在转码模板中配置数字水印。若应用场景的数字水印内容及转码配置相对固定,可预先创建数字水印模板,然后在转码模板中配置数字水印模板、密钥、算法参数,无需在任务中再次配置。
注:若同时在转码模板和转码任务中配置了数字水印参数,则转码任务参数优先生效。例如,在转码模板中配置了数字水印模板,同时在转码任务中配置了数字水印文字内容,则实际嵌入水印为任务中的文字。
算法版本说明
当前视频数字水印功能提供3种算法,可通过digitalWmAlgVersion参数选择。各算法的主要特点如下:
算法版本号 | 支持的水印类型 | 视频要求 | 水印容量 | 主要特点 | 适用场景 |
---|---|---|---|---|---|
0 | 图片、文字(仅支持ASCII字符) | 嵌入文字时, 宽×高>=327680 | 不超过40字符 | 早期版本,抗攻击能力较弱,不推荐使用 | 不推荐使用 |
1 | 文字 | 宽,高>=320(嵌入字符较多时最低分辨率可能增加) | 不超过100字节(中文算作3字节) | 可一定程度抵抗裁剪、遮挡、剪辑、拼接、转码压缩等攻击,对时域攻击抵抗能力较好 | 视频时长短、分辨率较高的场景 |
2 | 文字 | 时长>=30s | 不超过100字符(中英文不限) | 抗攻击能力强,可一定程度抵抗缩放、遮挡、剪辑、拼接、转码压缩等攻击(长视频效果更佳) | 视频时长可满足最低要求的场景 |
在转码任务中配置数字水印
接口描述
在转码任务中添加数字水印及密钥以在转码时嵌入数字水印。
请求体
注:只列出与视频数字水印功能相关的字段。文字与图片水印必须二选一,不可同时配置。
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
target | Object | 必选 | 输出信息的集合 | - | - |
+digitalWmTextContent | String | 可选 | 需嵌入的文字内容 | 字符数<=100, 支持中英文及标点符号(如需嵌入中文请选择v1及以上版本算法) | - |
+digitalWmImageBucket | String | 可选 | (仅算法0支持图片)需嵌入图片的Bos Bucket | - | - |
+digitalWmImageKey | String | 可选 | (仅算法0支持图片)需嵌入图片的Bos Key | - | - |
+digitalWmSecretKeyId | String | 可选 | 数字水印密钥模板ID,密钥用于对水印加密嵌入,提取水印需提供正确密钥 | 需从用户已创建的数字水印密钥模板选择,生效优先级高于转码模板中的密钥 | - |
+digitalWmAlgVersion | Integer | 可选 | 算法版本号 | 0 ~ 2 | 0 |
+digitalWmStrength | Float | 可选 | (算法1、2有效)数字水印嵌入强度,对同一算法,强度越高则抗攻击能力越强,隐蔽性越差 | 0 ~ 1 | 0.5 |
请求示例
POST /v3/job HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: 2023-11-08T21:21:21Z
host: media.bj.baidubce.com
accept: */*
connection: keep-alive
x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481
content-type: application/json
authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2023-11-08T21:21:21Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9
{
"pipelineName": "high_priority_pipe",
"source": {
"clips": [
{
"bucket": "input",
"sourceKey": "source.mp4"
}
]
},
"target": {
"bucket": "output",
"key": "source_embed.mp4",
"presetName": "x265_preset",
"digitalWmTextContent": "baidu",
"digitalWmSecretKeyId": "key-pi0nwwuw45zx0ya8",
"digitalWmAlgVersion": 2,
"digitalWmStrength": 0.5
},
}
在转码模板中配置数字水印
接口描述
在转码模板中添加数字水印模板及密钥以在转码时嵌入数字水印。转码模板的创建、修改等功能请参考视频转码模板接口。
请求体
注:只列出与视频数字水印功能相关的字段。
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
digitalWmId | String | 可选 | 需嵌入的数字水印模板ID | 需从用户已创建的数字水印模板选择 | - |
digitalWmSecretKeyId | String | 可选 | 数字水印密钥模板ID,密钥用于对水印加密嵌入,提取水印需提供正确密钥 | 需从用户已创建的数字水印密钥模板选择,生效优先级高于转码模板中的密钥 | - |
digitalWmAlgVersion | Integer | 可选 | 算法版本号 | 0 ~ 2 | 0 |
digitalWmStrength | Double | 可选 | (算法1、2有效)数字水印嵌入强度,对同一算法,强度越高则抗攻击能力越强,隐蔽性越差 | 0 ~ 1 | 0.5 |
请求示例
POST /v3/preset HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: 2023-11-08T21:21:21Z
host: media.bj.baidubce.com
accept: */*
connection: keep-alive
x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481
content-type: application/json
authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2023-11-08T21:21:21Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9
{
"presetName": "embed_preset",
"description": "embed digital watermark",
"container": "mp4",
"clip": {
"startTimeInSecond": 0
},
"audio": {
"bitRateInBps": 256000
},
"video": {
"codec": "h264",
"codecOptions": {
"profile": "baseline"
},
"bitRateInBps": 1024000,
"maxFrameRate": 30,
"maxWidthInPixel": 4096,
"maxHeightInPixel": 3072,
"sizingPolicy": "keep",
"playbackSpeed": 1.5
},
"digitalWmId": "dwm-pa4mz6n8i7sefz0p",
"digitalWmSecretKeyId": "key-pi0nwwuw45zx0ya8",
"digitalWmAlgVersion": 2,
"digitalWmStrength": 0.6,
}
查询视频数字水印嵌入任务
视频数字水印嵌入任务的查询接口同视频转码任务,请参考视频转码任务接口使用。