LiveNVR监控流媒体服务器:视频流水印(文字/图片/时间戳)叠加实现全攻略
- 一、前言
- 二、最优方案:摄像头OSD原生水印
- 三、轻量方案:前端页面Div叠加水印
- 配置方式
- 四、通用方案:服务端视频流原生水印
- 配置入口
- 核心配置参数说明
- 文字水印(含动态移动)示例
- 图片水印示例
- 时间戳水印示例
- 五、LiveNVR流媒体服务扩展说明
一、前言
在监控视频平台的应用场景中,视频水印叠加是保障视频版权、实现画面标记的重要需求。LiveNVR作为专业的Onvif/RTSP流媒体服务器,支持多种水印叠加方式,可灵活适配不同场景下的水印需求。本文将详细介绍LiveNVR中视频水印的三类实现方案,涵盖摄像头端OSD水印、前端页面叠加水印、服务端视频流原生水印(文字/图片/时间戳),帮助开发者快速落地水印功能。
二、最优方案:摄像头OSD原生水印
若摄像头/录像机支持源端OSD水印配置,优先推荐此方案。该方式无需服务器参与编解码,水印直接嵌入视频原始数据,性能无损耗且水印无法被轻易去除,安全性与稳定性最优。
三、轻量方案:前端页面Div叠加水印
当无法修改摄像头源端配置时,可采用前端播放页面Div层叠加水印(类似弹幕形式)。该方案无需服务器编解码资源,对服务端无性能压力;但需注意,此水印仅在当前播放客户端可见,原始视频流无水印数据,其他客户端拉流播放时无法显示。
配置方式
进入LiveNVR通道配置 → 展开「高级配置」→ 在「叠加水印」输入框中直接填写需叠加的文字即可。
四、通用方案:服务端视频流原生水印
若需将水印永久嵌入视频流(所有客户端播放均可见),可通过LiveNVR服务端实现文字、图片、时间戳水印的原生叠加。
配置入口
进入LiveNVR通道配置 → 展开「高级配置」,通过配置参数实现水印自定义,支持文字/图片水印同时配置,且可通过数学公式实现水印动态移动。
核心配置参数说明
| 参数名 | 作用说明 |
|---|---|
| draw_text | 文字水印内容,支持{name}通配符(替换为通道名称)、%{localtime}(时间戳) |
| draw_image | 图片水印绝对路径(需将图片上传至LiveNVR部署服务器) |
| draw_x/draw_y | 文字水印坐标(支持像素值/left/center/right/top/bottom,及数学公式) |
| draw_image_x/draw_image_y | 图片水印坐标(规则同文字水印) |
| draw_color | 文字颜色(支持16进制值如0x0000FF,或英文如red/blue/cyan) |
| draw_size | 文字字体大小(像素值) |
注:参数间可通过换行或英文逗号分隔;坐标支持数学公式,可实现水印动态移动效果。
文字水印(含动态移动)示例
draw_text={name}@liveqing.com # 叠加通道名称+固定后缀 draw_x=(w-tw)/2+((w-tw)/2)*cos(n/18) # 水平动态坐标 draw_y=(h-th)/2+((h-th)/2)*cos(n/32) # 垂直动态坐标 draw_size=40 # 字体大小 draw_color=cyan # 文字颜色图片水印示例
需先将图片上传至LiveNVR服务器,配置图片绝对路径及坐标:
draw_image=/root/livenvr/www/favicon.ico # 图片绝对路径 draw_image_x=-10 # 水平坐标(负数表示从右开始计算) draw_image_y=-10 # 垂直坐标(负数表示从底开始计算)时间戳水印示例
实时叠加系统本地时间作为水印,适合需标记视频播放时间的场景:
draw_text=%{localtime} # 时间戳变量 draw_color=white # 文字颜色 draw_size=30 # 字体大小 draw_x=10 # 水平左起10像素 draw_y=10 # 垂直上起10像素五、LiveNVR流媒体服务扩展说明
LiveNVR支持跨平台部署(Windows/Linux/国产CPU架构/嵌入式系统),除水印功能外,还提供RTSP/HLS/FLV/RTMP拉流、Onvif协议对接等核心能力:
- 安装包下载
- 安装使用说明
- 常见问题解答