请用be.teletask.onvif的1.0.9版本类库,控制摄像头转动,请给出具体源代码demo
时间: 2024-03-25 16:41:34 浏览: 162
android系统控制onvif协议摄像头app源码.rar
5星 · 资源好评率100%
好的,以下是使用be.teletask.onvif类库控制摄像头转动的源代码demo:
```csharp
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using be.teletask.onvif;
using be.teletask.onvif.Models;
namespace OnvifControlDemo
{
class Program
{
static void Main(string[] args)
{
//设置摄像头连接信息
string username = "admin";
string password = "123456";
string ipaddress = "192.168.1.100";
int port = 80;
OnvifCamera camera = new OnvifCamera(new Uri($"http://{ipaddress}:{port}/onvif/device_service"), username, password);
//获取PTZ节点
PTZNode node = camera.GetPTZNode();
//设置PTZ速度
PTZSpeed speed = new PTZSpeed() { PanTilt = new Vector2D() { x = 1, y = 1 }, Zoom = new Vector1D() { x = 1 } };
//设置PTZ位置
PTZVector vector = new PTZVector() { PanTilt = new Vector2D() { x = 1, y = 1 } };
//相对移动
camera.RelativeMove(node.token, speed, vector);
//等待3秒
System.Threading.Thread.Sleep(3000);
//停止移动
camera.Stop(node.token);
Console.WriteLine("PTZ控制完成!");
Console.ReadKey();
}
}
}
```
以上代码中,首先创建了一个OnvifCamera对象,并传入了摄像头的连接信息。然后,调用GetPTZNode方法获取PTZ节点,设置PTZ速度和位置,最后调用RelativeMove方法实现相对移动,调用Stop方法停止移动。注意,此处的相对移动和停止移动是通过OnvifCamera类库提供的方法实现的。
希望这个demo对你有所帮助。
阅读全文