跳过导航,直接进入主要内容跳过导航,直接进入主要内容跳过导航,直接进入主要内容

CLI:onvif-server

onvif-server 是 server/ 包的可运行形态:一台虚拟多目 ONVIF 相机。启动它,你的录像机、NVR 或 ONVIF 客户端就看到 1–10 个可配置的 相机 profile——带 PTZ 节点、成像服务、可选 pull-point 事件——完全 无需硬件。请按地址添加:该二进制只讲 SOAP over HTTP,不响应 WS-Discovery 多播探测。库自身的一致性回环测试驱动的就是同一个模拟器。

安装

go install github.com/mickeyzzc/onvif-go/v2/cmd/onvif-server@v2.2.0

用法

onvif-server -password 'test-pass' [-port 8080] [-profiles 3] \
    [-manufacturer onvif-go] [-model 'Virtual Multi-Lens Camera'] \
    [-ptz=true] [-imaging=true] [-events=false] [-info] [-version]
旗标 默认 含义
-host / -port 0.0.0.0 / 8080 监听地址
-username / -password admin / 必填 设备凭证
-manufacturer -model -firmware -serial onvif-go / Virtual Multi-Lens Camera / 1.0.0 / SN-12345678 通告的身份
-profiles 3 profile 数量,1–10
-ptz -imaging -events 开 / 开 / 关 服务开关
-info — 打印解析后的配置并退出
-version — 打印版本并退出

密码必填——旗标或 ONVIF_SERVER_PASSWORD 环境变量。模拟器拒绝空 凭证启动:空凭证是嵌入包文档化的全开放模式,不适合真网络上的演示 二进制。

profile 由十个轮换模板生成(主 1080p、广角 720p、长焦、低照度、 4K UHD、紧凑 VGA、PTZ 球机、鱼眼、热成像、车牌 60fps),各带 H264 编码器与快照配置;带 PTZ 的模板获得 pan/tilt/zoom 节点与两个 预置位。服务树挂载在给定端口的 /onvif 下。SIGINT/SIGTERM 优雅停机。

场景

无硬件的录像机接入。 开发并演示录像机的按地址添加相机流程—— 端点即 http://<host>:<port>/onvif/device_service, GetDeviceInformation 返回你设定的身份、 profile 与流地址照常应答——相机上桌之前全链路可跑:

onvif-server -password demo -manufacturer TestCam -model VC-1 -serial SIM-0001

单进程模拟一排相机。 -profiles 10 得到十台各异的虚拟相机 (模板轮换)——对外是一个设备地址、GetProfiles 展开一排;适合 UI 布局与主/子流选择测试。

PTZ 界面测试。 开 -ptz 后 PTZ 服务应答 GetStatus、连续/绝对 转动与预置位——足够驱动摇杆组件或预置位巡航逻辑,且永不磨损。

事件集成。 -events 启用 pull-point 服务;把订阅代码指向模拟器 即可离线开发 MotionAlarm 处理(托管客户端 API 见 events 手册)。

CI 浸润靶。 二进制单进程、磁盘零状态,受测录像机可随意增删它; 放进集成套件旁的容器就是一个确定性 ONVIF 对端。

TLS 与嵌入

可运行二进制只说纯 HTTP。要 HTTPS 用嵌入包的 Config.TLSCertFile/TLSKeyFile(TLS 在 Start 内自动启用)——见 server 手册,那里还有可插拔状态提供者、按 动作鉴权策略,以及二进制未暴露的 PublishEvent 接缝。

可访问性增强功能已加载,支持焦点管理、键盘导航和屏幕阅读器