水印
录制和推流可以添加一些特定的内容(比如图片、时间戳或者文字)作为水印。
Pano支持图片、文字和时间戳三种类型水印。通过在云端录制和CDN推流请求中设置水印参数,可以动态添加、更新和删除水印。
图片水印
图片水印是使用一张图片作为水印。
参数形式:
[
{
"type": 0,
"x": 200,
"y": 300,
"width": 50,
"height": 50,
"imageUrl": "https://storage12.pano.video/123456/1.jpg"
}
]
参数说明:
- type - 值为int,水印类型,0表示图片水印
- x - 值为int,表示水印左上角横坐标,单位为像素,缺省值为0
- y - 值为int,表示水印左上角纵坐标,单位为像素,缺省值为0
- width - 值为int,水印的宽度,单位为像素,缺省值为0
- height - 值为int,水印的高度,单位为像素,缺省值为0
- imageUrl - 值为string,图片的下载链接
如果图片和设定的水印尺寸不一致,则将图片按照原始宽高比缩放,放置在水印中间区域;如果未设定水印的宽高(width或height等于0),默认将图片实际宽高设为水印的尺寸。
文字水印
文字水印是使用一段文字内容做为水印
参数形式:
[
{
"type": 1,
"x": 200,
"y": 300,
"text": "3d3j2345ndsgdsfg",
"fontSize": 30,
"font": "FZKai",
"color": "#808080"
}
]
参数说明:
- type - 值为int,水印类型,1表示文字水印
- x - 值为int,表示水印左上角横坐标,单位为像素,缺省值为0
- y - 值为int,表示水印左上角纵坐标,单位为像素,缺省值为0
- text - 值为string,文字内容
- fontSize - 值为int,字体大小,单位为磅,缺省值13
- font - 值为string,字体,缺省值 wqy-microhei,支持的字体参考下面的字体列表
- color - 值为string,文字颜色,设置为十六进制 RGB 格式(如 #FF8080),缺省值为灰色(#808080)
文字内容仅支持UTF-8编码,非英文字符(如中文)需要做UTF-8编码
时间戳水印
时间戳水印显示服务器的当前时间,动态变化,显示格式是:“2021-03-17 16:00:27”
参数形式:
[
{
"type": 2,
"x": 200,
"y": 300,
"fontSize": 30,
"font": "FZKai",
"color": "#808080",
"timezoneOffset":8
}
]
参数说明:
- type - 值为int,水印类型,2表示时间戳水印
- x - 值为int,表示水印左上角横坐标,单位为像素,缺省值为0
- y - 值为int,表示水印左上角纵坐标,单位为像素,缺省值为0
- fontSize - 值为int,字体大小,单位为磅,缺省值13
- font - 值为string,字体,缺省值 wqy-microhei,支持的字体参考下面的字体列表
- color - 值为string,文字颜色,设置为十六进制 RGB 格式(如 #FF8080),缺省值为灰色(#808080)
- timezoneOffset - 值为int,显示时间和GMT时间的时差,单位为小时,缺省值0
默认情况下,使用服务器当前GMT时间作为水印。如果希望调整水印时间的时区,可以设置timezoneOffset,比如东八区(timezoneOffset=8)
字体列表
字体 | 含义 |
---|---|
wqy-microhei | 文泉微米黑 |
wqy-zenhei | 文泉驿正黑 |
Droid-Sans-Fallback-Regular | Droid Sans Fallback Regular |
FZFangSong | 方正仿宋 |
FZHei | 方正黑体 |
FZKai | 方正楷体 |
FZShuSong | 方正书宋 |
添加水印
以下两种方式即可添加不同类型的水印:
- 开启录制时,调用
/recording/start
接口,设置watermarks
参数 - 开启推流时,调用
/streaming/start
接口,设置watermarks
参数
请求示例:
以下请求示例演示了如何在录制中添加3个水印:1 个图片水印,1 个文字水印,1 个时间戳水印。
POST /recording/start
{
"channelId":"HelloPano",
"streamList": [
{
"streamId": 1,
"watermarks": [
{
"type": 0, // 图片水印
"x": 200,
"y": 300,
"imageUrl": "https://storage12.pano.video/123456/1.jpg"
},
{
"type": 1, // 文字水印
"x": 200,
"y": 300,
"text": "abcde12345",
"fontSize": 30,
"font": "FZKai",
"color": "#808080"
},
{
"type": 2, // 时间戳水印
"x": 200,
"y": 300,
"fontSize": 30,
"font": "FZKai",
"color": "#808080",
"timezoneOffset":8
}
]
...
}
]
}
更新水印
更新水印时,原先的水印的设置和个数都会被更改:
- 更新录制时,调用
/recording/update
接口,设置新的watermarks
参数 - 更新推流时,调用
/streaming/update
接口,设置新的watermarks
参数
请求示例:
以下请求示例演示了如何在录制中更新水印:1 个图片水印,1 个文字水印。
PUT /recording/update
{
"channelId":"HelloPano", // string, 必填, 频道ID
"streamList": [
{
"streamId": 1, // int, 必填, 用户指定的流ID
"watermarks": [
{
"type": 0,
"x": 200,
"y": 300,
"imageUrl": "https://storage12.pano.video/123456/1.jpg"
},
{
"type": 1,
"x": 200,
"y": 300,
"text": "abcde12345",
"fontSize": 30,
"font": "FZKai",
"color": "#808080"
}
]
...
}
]
}
删除水印
调用/recording/update
和/streaming/update
接口,将watermarks
设置成空数组,可删除已添加的水印。
请求示例:
以下请求示例演示了如何在录制中删除水印。
PUT /recording/update
{
"channelId":"HelloPano", // string, 必填, 频道ID
"streamList": [
{
"streamId": 1, // int, 必填, 用户指定的流ID
"watermarks": []
...
}
]
}
水印添加跑马灯效果
跑马灯效果,支持图片、文字和时间戳三种类型水印,可以实现水印在视频上方,沿着一个方向循环滚动。通过在水印参数中添加roll
参数,设置跑马灯的滚动方向、速度和间隔。
以下示例为文字水印添加了跑马灯。
参数形式:
[
{
"type": 1,
"x": 200,
"y": 300,
"text": "3d3j2345ndsgdsfg",
"fontSize": 30,
"font": "FZKai",
"color": "#808080",
"roll": {
"direction": 1,
"cycle": 20,
"rollInterval": 0
}
}
]
参数说明:
- direction - 值为int,跑马灯滚动方向,0表示从左往右,1表示从右往左,2表示从上往下,3表示从下往上
- cycle - 值为int,滚动周期,表示水印循环滚动一次的耗时,单位为秒,设置cycle可以调节水印滚动速率
- rollInterval - 值为int,滚动间隔,单位为秒。非0值表示水印停顿一段时间后滚动一次,0值表示无缝滚动,没有停顿