ONVIF设置osd或相机标题

本文关键字:相机 标题 osd 设置 ONVIF | 更新日期: 2023-09-27 18:00:01

我是ONVIF的新手。我连接了相机的Web服务,可以向相机索取一些数据(我使用了此处描述的方法:Visual Studios 2010中.NET 4.0中的ONVIF身份验证)。我也可以向媒体网络服务索取信息。不幸的是,当我调用GetOSDs()或CreateOSD()方法时,我会得到"Optional Action Not Implemented"异常。GetVideoSourceConfiguration()方法正在工作,所以我认为我的媒体Web服务处理程序是可以的,这些方法实际上没有实现,但在制造商提供的带有摄像头的桌面软件中,我可以修改操作系统,以便应用程序以某种方式接收这些数据,所以也许我做错了什么。我的代码:

EndpointAddress serviceAddress = new EndpointAddress("http://192.168.1.64/onvif/device_service");
EndpointAddress mediaAddress = new EndpointAddress("http://192.168.1.64/onvif/Media");
HttpTransportBindingElement httpBinding = new HttpTransportBindingElement();
httpBinding.AuthenticationScheme = AuthenticationSchemes.Digest;
var messegeElement = new TextMessageEncodingBindingElement();
messegeElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None);
CustomBinding bind = new CustomBinding(messegeElement, httpBinding);
        // Add our custom behavior - this require the Microsoft WSE 3.0 SDK
PasswordDigestBehavior behavior = new PasswordDigestBehavior("admin", "12345");
MediaClient media = new MediaClient(bind, mediaAddress);
DeviceClient client = new DeviceClient(bind, serviceAddress);
client.Endpoint.Behaviors.Add(behavior);
media.Endpoint.Behaviors.Add(behavior);
        // We can now ask informations
var date = client.GetSystemDateAndTime(); // OK
var configs = media.GetVideoSourceConfigurations(); // OK
var osds = media.GetOSDs(configs.ElementAt(0).token); // exception Optional Method Not Implemented
var osds2 = media.GetOSDs(""); // exception Optional Method Not Implemented

我的目标是以编程方式每隔2秒在屏幕上设置一些覆盖文本。它可以是OSD,也可以是名称,但以后必须在记录中可见。有什么想法吗?

ONVIF设置osd或相机标题

Onvif OSD实现是可选的,大多数制造商都没有实现。

他们只是检查他们的相机是否能在没有测试OSD的Onvif设备测试工具中幸存下来。

尽管摄像头确实有其他方式来检查和配置OSD文本。通常,还有一个其他REST接口不是基于Onvif的。