Net Core 3.1 ONVIF 操控海康摄像头
先给出实现的代码
https://github.com/lu1770/onvif-client.git
也可以通过安装包来使用功能
dotnet add package Onvif
基本用法
Agent = new OnvifAgent(ipAddress, userName, password) var channels = Agent.Media.GetChannels();
// 上移
Agent.Ptz.MoveUp();
Thread.Sleep(1000);
Agent.Ptz.Stop();
// 下移
Agent.Ptz.MoveDown();
Thread.Sleep(1000);
Agent.Ptz.Stop();
// 左移
Agent.Ptz.MoveLeft();
Thread.Sleep(1000);
Agent.Ptz.Stop();
// 右移
Agent.Ptz.MoveLeft();
Thread.Sleep(1000);
Agent.Ptz.Stop();
// 复位
Agent.Ptz.GotoHomePosition();
如果使用nuget安装的形式,就到此为止了,
以下是直接使用源码并做扩展的部分:
这里实现了设备发现,登录,获得码流列表,获得画面rtsp,vlc播放,云台上下左右控制,放大缩小

安装nuget包

引入SOAP服务引用
http://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl http://www.onvif.org/ver10/media/wsdl/media.wsdl http://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl

发现设备列表,也就是界面左边这个列表

登录

我在登录之后让摄像机云台位置复位.
上下左右移动

缩放

此处感谢网上诸多大佬的帖子,有些没找到无法溯源了,这里开放全部源码.
https://github.com/lu1770/onvif-client.git
posted on 2023-02-22 22:37 ZhengyaoLu 阅读(791) 评论(0) 收藏 举报
浙公网安备 33010602011771号