文档中心 点播分发 视频添加水印

视频添加水印

更新时间:2023-11-09 17:12:34

一. 功能简介

  水印是一种轻量级的版权保护方式,网宿点播平台支持在指定位置添加图片水印、视频水印和文字水印,也支持实现动态水印。

  (1) 图片水印: 支持自适应缩放, 即按视频分辨率变化比例最大值调整水印图片大小。

  (2) 视频水印:一般适用于在源视频中插入广告视频,又不影响主体视频播放的应用场景。

  (3) 文字水印:不支持自适应缩放。

  (4) 动态水印:水印支持按照一定的时间间隔或者指定时间变换位置。

二. 功能说明

  视频添加水印,支持常见的视频/音频封装格式和编码格式的源文件,如:

  (1) 视频格式: MP4、FLV、M3U8、TS、MKV、MOV、WMV、AVI、VP8、VP9、RealVideo、Windows Media Video等;

  (2) 音频格式:AAC、AC-3、MP1、MP2、MP3、PCM、RealAudio、Windows Media Audio(WMA)、OGG等;

  (3) 编码格式:H.265、H.264、H.263、MPEG等。

  客户上传视频文件的时候,可以同时配置添加水印操作参数,也可以同时配合使用视频转码、视频转封装、音视频操作等功能,即可通过同一条API命令实现多个功能。

2.1. 请求说明


  请求参数以如下格式组织,作为请求内容提交:


bucket=<Urlsafe_Base64_Encoded_Bucket>&key=<Urlsafe_Base64_Encoded_Key>&fops=<Urlsafe_Base64_Encoded_Fops>&notifyURL=<Urlsafe_Base64_Encoded_PersistentNotifyUrl>&force=<Force>&separate=<Separate>

表1 请求参数说明
参数 必填 描述
bucket 空间名,即:原文件所在的空间
key 文件名,即:原文件的文件名
fops 视频添加水印参数列表;支持同时请求多个处理,参数列表之间用; 分隔,即:fops=Urlsafe_Base64_Encode(操作1;操作2;……)
notifyURL 处理结果通知接收URL,通知数据详细说明处理后的内容信息,比如视频码率、时长等。请参考通知数据内容说明
force 是否强制执行数据处理。支持设置以下数值:
(1)0:指定的数据处理结果如果存在,返回文件已存在,不进行处理,避免重复处理浪费资源;
(2)1:强制执行数据处理并覆盖已有文件;
默认为0。
separate 处理是否分开通知。支持设置以下数值:
(1)0:表示所有转码指令执行完后再一次性通知notifyURL
(2)1:表示每个转码指令执行完后都通知notifyURL
默认为0。

  使用以下格式填充参数后,并将其URL安全的Base64编码后的值填充到fops参数中:


<op>/<Format>
    /wmImage2/<Urlsafe_Base64_Encode(<bucket>:<key>)>
    /wmGravity/<Gravity>
    /wmauto/<wmauto>
    /wmWidth/<WmWidth1>,<WmWidth2>...
    /wmHeight/<WmHeight1>,<WmHeight2>...
    /wmDissolve/<alpha1>,<alpha2>...
    /wmdx/<dx1>,<dx2>…
    /wmdy/<dy1>,<dy2>…
    /wmInterval/<wmInterval>
    /multiConvertTime/<ConvertTime1>,<ConvertTime2>...
    /wmText/<Urlsafe_Base64_Encode(<Text1>),<Urlsafe_Base64_Encode(<Text2>)...
    /wmFont/<Urlsafe_Base64_Encode(<Color1>,<Color2>...)>
    /wmFontColor/<Urlsafe_Base64_Encode(<Font1>,<Font2>...)>
    /wmFontSize/<size1>,<size2>...
    /wmFontDissolve/<alpha1>,<alpha2>...
    /wmFontBorderWidth/<w1>,<w2>...
    /wmFontBorderColor/<Urlsafe_Base64_Encode(<Color1>,<Color2>...)>
    /wmTextGravity/<gravity1>,<gravity2>...
    /wmtextdx/<dx1>,<dx2>...
    /wmtextdy/<dy1>,<dy2>...
    /wmTextInterval/<interval1>,<interval2>...
    /wmFontBold/<b1>,<b2>...
|saveas/<Urlsafe_Base64_Encode(bucket:filekey)>
表2 水印参数表
参数 必填 描述
<op> avthumb(操作类型-音视频处理)
<format> 输出的目标格式,支持mp4、flv、m3u8等。
|saveas/<bucket:filekey> 保存为指定文件,参数中需要填入"空间: 文件名"URL安全的Base64编码后的值。
图片水印、视频水印参数
/wmImage2/<Urlsafe_Base64_Encode(<bucket1> :<key1> ,<bucket2> :<key2> ...)> 图片&视频水印列表,采用“,”分隔多个水印图片路径,需要经过URL安全的Base64编码。
/wmGravity/<Gravity1> ,<Gravity2> … 水印位置,参见“表6视频偏移参数表”。
/wmauto/<wmauto> 根据视频转码分辨率变化自适应缩放图片&视频水印,为1则若转码有进行分辨率操作,则图片&视频水印进行自适应缩放,否则为原图片&视频水印大小。
例如:原视频1200x600,水印40x40,输出分辨率设置为300x200,则最终添加水印图片大小为10x10。
/wmWidth/<WmWidth1> ,<WmWidth2> ... 图片&视频水印的分辨率宽。可以是像素或者百分比。其中百分代表水印图片占用输出视频画面大小的百分比。
例如:wmWidth=50%&wmHeight=20%代表水印大小宽度为输出画面的一半,高度为输出画面的1/5。wmWidth=40&wmHeight=60代表水印大小分辨率为40x60,以像素为单位。特殊说明:当wmWidth或者wmHeight的值为0或者小于0时,代表自适应;当wmWidth和wmHeight两个元素都为0或者负值时,代表对于这个水印,不启用设置分辨率的功能。
/wmHeight/<WmHeight1> ,<WmHeight2> ... 图片&视频水印分辨率高。可以是像素或者半分比。举例和说明见wmWidth参数。
/wmDissolve/<alpha1> ,<alpha2> ... 图片&视频水印透明度,支持变换,数字类型。范围为[0,100]。其中100为不透明,0为全透明。当超过这个范围时,自动被限制到这个范围。比如-4变成0,120变成100。默认值:100。
/wmdx/<dx1> ,<dx2> … 用于对视频图片水印位置在偏移列表的基础上做横向微调,当值为正数时则向右偏移,反之向左。指定该参数时,wmGravity为必填,且参数个数与wmGravity保持一致。
/wmdy/<dy1> ,<dy2> … 用于对视频图片水印位置在偏移列表的基础上做纵向微调,当值为正数时则向下偏移,反之向上。指定该参数时,wmGravity为必填,且参数个数与wmGravity保持一致。
/wmInterval/<wmInterval> 发生水印变换的时间间隔,单位是:秒。
/multiConvertTime/<ConvertTime1> ,<ConvertTime2> ... 开始发生水印变换的视频文件时间列表,采用“,”分隔,单位是:秒。
注:与wmInterval参数不可共用
文字水印参数
/wmText/Urlsafe_Base64_Encode(<Text1>),Encode(<Text2>)... 文字列表,若需要支持变换,不同于图片/视频水印,文字水印 需要每串文字先进行URL安全的Base64编码后,再用逗号连接到一块(考虑到文字包含逗号)。中文需要是UTF-8编码,否则可能显示乱码。
/wmFont/<Urlsafe_Base64_Encode(<Font1>,<Font2>...)> 文字水印字体名字,若需要支持变换,字体名先用逗号连接字体名字列表,再URL安全的Base64编码。字体名字只能包含数字、大小写字母、空格和减号“-”。
/wmFontColor/<Urlsafe_Base64_Encode(<Color1>,<Color2>...)> 文字水印字体颜色,若需要支持变换,字体颜色先用逗号连接,再URL安全的Base64编码。其中每一项颜色是形如0xrrggb或&Hrrggbb的字符串(大小写不敏感),分别代表颜色RGB分量,也可以省略0x或&H前缀。颜色格式需要正确。默认值:0xffffff,即白色。
/wmFontSize/<size1>,<size2>... 文字水印字体大小,支持变换。整数类型,整数后面可加一个百分号。可以有两种形式,即像素和百分比形式。当数字后面有百分号时,是指字体占输出画面高度的百分比;反之为绝对像素大小。比如10代表10个像素高,而10%代表字体高度为输出画面高度10%。当为像素时,需要在[5,2160]范围内。当为百分比时,需要在(0,100%]范围内。默认值:6%。
/wmFontDissolve/<alpha1>,<alpha2>... 文字水印文字透明度,支持变换,数字类型。范围为[0,100]。其中100为不透明,0为全透明。当超过这个范围时,不会报错,自动被限制到这个范围。比如-4变成0,120变成100。默认值:100。
/wmFontBorderWidth/<w1>,<w2>... 文字水印字体描边,支持变换,整数类型。小于或等于0为不描边;否则为描边。默认值:0。
/wmFontBorderColor/<Urlsafe_Base64_Encode(<Color1>,<Color2>...)> 文字水印字体描边颜色,若需要支持变换,字体描边颜色先用逗号连接,再URL安全的Base64编码。格式同wmFontColor。默认值:0x000000,即黑色。
/wmTextGravity/<gravity1>,<gravity2>... 文字水印文字位置,字符串类型,大小写不敏感,若需要支持位置变换,预设位置以逗号分割。格式同wmGravity。必须是9个预设值之一。默认值:top_right。
/wmtextdx/<dx1>,<dx2>... 文字水印文字位置预设基础上的水平偏移,支持变换,整数类型。格式和含义类似wmdx。默认值:0。
/wmtextdy/<dy1>,<dy2>... 文字水印文字位置预设基础上的竖直偏移,支持变换,整数类型。格式和含义类似wmdy。默认值:0 。
/wmTextInterval/<interval1>,<interval2>... 文字水印切换的时间间隔,支持变换,单位为秒,数字类型。格式和含义类似wmInterval.需要大于或等于1。
/wmFontBold/<b1>,<b2>... 文字水印字体是否粗体,支持变换,整数类型。0代表文字不使用粗体。非0代表使用粗体。默认值:0
表3 视频偏移参数表
参数 说明
TOP_LEFT 左上角为坐标原点,x轴从左到右,y轴从上到下,也是默认值
TOP_CENTER 上部中间位置为坐标原点,x轴从左到右,y轴从上到下。
TOP_RIGHT 右上角位置为坐标原点,x轴从右到左,y轴从上到下。
CENTER_LEFT 左边缘中间位置为坐标原点,x轴从左到右,y轴从上到下。
CENTER 正中间位置为坐标原点,x轴从左到右,y轴从上到下。
CENTER_RIGHT 右边缘的中间位置为坐标原点,x轴从右到左,y轴从上到下。
BOTTOM_LEFT 左下角为坐标原点,x轴从左到右,y轴从下到上。
BOTTOM_CENTER 下边缘的中间为坐标原点,x轴从左到右,y轴从下到上。
BOTTOM_RIGHT 右下角坐标原点,x轴从右到左,y轴从下到上。

2.2. 响应说明


    如果请求成功,则返回如下内容的Json串:

{ "persistentId": <persistentId> }  

    如果请求失败,则返回如下内容的Json串:

{
  "code": "<code string>",
  "message":  "<ErrMsg string>"
} 
表4 响应参数说明
字段名 必填 描述
persistentId 上传预处理或者触发持久化处理的进程ID
code HTTP请求响应码,参见HTTP响应状态码<返回码>
message 处理失败的提示信息

2.3. 使用范例

2.3.1. 添加图片水印

  实现将vod-wcs-test001空间名下的test.mp4视频在画面左上角增加图片水印,水印图片位于vod-wcs-test001空间名下名称为watermark.jpg,且每隔5s进行动态变换,实现效果为:

  (1) 最开始视频水印置于画面左上角;

  (2) 5s后变换到画面右上角向左偏移20个像素点的位置;

  (3) 5s后再变换到左上角……如此反复。

  将处理后的视频文件存到vod-wcs-test001空间下,命名为test_watermark.mp4。


 curl -v -X POST –d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/mp4/wmImage2/Urlsafe_Base64_Encode(vod-wcs-test001:watermark.jpg) /wmGravity/TOP_LEFT,TOP_RIGHT/wmInterval/5/wmdx/0,-20/wmdy/0,0/wmWidth/20%/wmHeight/20%|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_watermark.mp4))&force=1&separate=1" –H "Authorization:mgrAuthorization_A:mgrAuthorization_B" --url "http://mgrDomain/fops"

  加密后为:


curl -v -X POST -d"bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tcDQvd21JbWFnZTIvZG05a0xYZGpjeTEwWlhOME1EQXhPbmRoZEdWeWJXRnlheTVxY0djPS93bUdyYXZpdHkvVE9QX0xFRlQsVE9QX1JJR0hUL3dtSW50ZXJ2YWwvNS93bWR4LzAsLTIwL3dtZHkvMCwwL3dtV2lkdGgvMjAlL3dtSGVpZ2h0LzIwJXxzYXZlYXMvZG05a0xYZGpjeTEwWlhOME1EQXhPblJsYzNSZmQyRjBaWEp0WVhKckxtMXdOQT09&force=1&separate=1" -H "Authorization:mgrAuthorization_A:mgrAuthorization_B" --url "http://mgrDomain/fops"

  其中:

  (1) mgrAuthorization_A:mgrAuthorization_B:管理凭证,由AK(访问密钥)、SK(安全密钥)、Path、Path、Body通过管理凭证生成工具生成,其中AK、SK从“控制台-账号管理-用户信息管理-AccessKey管理”处获取,Path为/fops,Body为请求内容。

  (2) mgrDomain:管理域名,从“控制台-对象存储-对应存储空间-概览”处获取。

2.3.2. 添加视频水印

  实现将vod-wcs-test001空间名下的test.mp4视频左上角添加视频动态水印,水印视频位于vod-wcs-test001空间名下名称为watermark.mp4,且水印视频占主体视频的1/5,将处理后的视频文件存到vod-wcs-test001空间下,命名为test_video.mp4。


 curl -v -X POST –d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/mp4/wmImage2/Urlsafe_Base64_Encode(vod-wcs-test001:watermark.mp4)/wmGravity/TOP_LEFT/wmWidth/20%/wmHeight/20%|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_video.mp4))&force=1&separate=1" –H "Authorization:mgrAuthorization_A:mgrAuthorization_B" --url "http://mgrDomain/fops"

  加密后为:


curl -v -X POST -d"bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tcDQvd21JbWFnZTIvZG05a0xYZGpjeTEwWlhOME1EQXhPbmRoZEdWeWJXRnlheTV0Y0RRPS93bUdyYXZpdHkvVE9QX0xFRlQvd21XaWR0aC8yMCUvd21IZWlnaHQvMjAlfHNhdmVhcy9kbTlrTFhkamN5MTBaWE4wTURBeE9uUmxjM1JmZG1sa1pXOHViWEEw&force=1&separate=1" -H "Authorization:mgrAuthorization_A:mgrAuthorization_B" --url "http://mgrDomain/fops"

  参数解释请参考2.3.1. 添加图片水印。

2.3.3. 添加文字水印

  实现将vod-wcs-test001空间名下的test.mp4视频在画面左上角增加文字水印“网宿科技 点播加速”,字体为Arial Unicode MS,并将处理后的视频文件存到vod-wcs-test001空间下,命名为test_file.mp4。


 curl -v -X POST –d "bucket=Urlsafe_Base64_Encode(vod-wcs-test001)&key=Urlsafe_Base64_Encode(test.mp4)&fops=Urlsafe_Base64_Encode(avthumb/mp4/wmText/Urlsafe_Base64_Encode(网宿科技 点播加速)/wmFont/Urlsafe_Base64_Encode(Arial Unicode MS)/wmTextGravity/TOP_LEFT|saveas/Urlsafe_Base64_Encode(vod-wcs-test001:test_file.mp4))&force=1&separate=1" –H "Authorization:mgrAuthorization_A:mgrAuthorization_B" --url "http://mgrDomain/fops"

  加密后为:


curl -v -X POST -d"bucket=dm9kLXdjcy10ZXN0MDAx&key=dGVzdC5tcDQ=&fops=YXZ0aHVtYi9tcDQvd21UZXh0L0ppTjROMFkxTVRzbUkzZzFRa0pHT3lZamVEYzVSREU3SmlONE5qSTRNRHNnSmlONE56QkNPVHNtSTNnMk5FRkVPeVlqZURVeVFUQTdKaU40T1RBeFJqcz0vd21Gb250L1FYSnBZV3dnVlc1cFkyOWtaU0JOVXc9PS93bVRleHRHcmF2aXR5L1RPUF9MRUZUfHNhdmVhcy9kbTlrTFhkamN5MTBaWE4wTURBeE9uUmxjM1JmWm1sc1pTNXRjRFE9&force=1&separate=1" -H "Authorization:mgrAuthorization_A:mgrAuthorization_B" --url "http://mgrDomain/fops"

  (1) “网宿科技 点播加速”UTF-8编码为:#x7F51;#x5BBF;#x79D1;#x6280; #x70B9;#x64AD;#x52A0;#x901F;

  (2) 其余参数解释请参考 2.3.1. 添加图片水印。

三. 应用场景

  (1) 实现轻量级版权保护;

  (2) 添加广告视频作为水印,提高营收。

四. 注意事项

  (1) 视频添加水印功能只能对存储于云存储(WCS)上的视频文件进行操作,因此必须同时开通点播和云存储功能。

  (2) 视频添加水印功能属于增值服务,若要使用需另行付费。

五. 字体及版权说明

字体参数值

版权说明

Noto Sans CJK SC





Noto Sans CJK SC Regular可以在客户平台的法律内容页面加入,内容可以为:
——————————————————
XX(比如:视频水印)中Noto Sans SC、Noto Serif 字体版权方为:Google,使用授权基于OFL协议,OFL协议的原文见:https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL
Noto Sans CJK SC Black
Noto Sans CJK SC Bold
Noto Sans CJK SC DemiLight
Noto Sans CJK SC Light
Noto Sans CJK SC Medium
Noto Sans CJK SC Thin
Noto Sans Mono CJK SCNoto Sans Mono CJK SC Regular
Noto Sans Mono CJK SC Bold
Noto Serif CJK SC




Noto Serif CJK SC
Noto Serif CJK SC Black
Noto Serif CJK SC ExtraLight
Noto Serif CJK SC Light
Noto Serif CJK SC Medium
Noto Serif CJK SC SemiBold
Roboto





Roboto可以在客户平台的法律内容页面加入,内容可以为:
——————————————————
XX(比如:视频水印)中Roboto字体版权方为:Google,使用授权基于Apache协议,Apache协议的原文见:http://www.apache.org/licenses/LICENSE-2.0.txt
Roboto Condensed
Roboto Condensed Light
Roboto Black
Roboto Light
Roboto Medium
Roboto Thin
文泉驿等宽正黑WenQuanYi Zen Hei Mono可以在客户平台的法律内容页面加入,内容可以为:
——————————————————
XX(比如:视频水印)中文泉驿字体版权方为:FangQ和“文泉驿信任委员会(Board of Trustees),使用授权基于GNU General Public License协议,GNU General Public License协议的原文见:http://wenq.org/wqy2/index.cgi?GPL
文泉驿点阵正黑WenQuanYi Zen Hei Sharp
文泉驿正黑WenQuanYi Zen Hei
本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!