[英]Onvif get profiles
今天我正在使用 VDX 相機,我想使用 Onvif 協議控制它。 在我的程序中,我需要執行“GetProfiles”請求。
對於其他相機(Bosh、Lumens、Axis、ec...),我的方法可以正常工作,但對於 VDX,我有很多問題。 特別是如果我使用以下代碼段(使用端口 80),服務器會拋出異常(錯誤 414 URI 太大):
var httpTransport = new HttpTransportBindingElement
{
AuthenticationScheme = AuthenticationSchemes.Digest
};
var binding = new CustomBinding(new TextMessageEncodingBindingElement
(MessageVersion.None, Encoding.Default), httpTransport);
var builder = new UriBuilder("http", "10.0.34.32", 80, "/onvif/media_service");
var mediaAddress = builder.Uri;
var mediaClient = new MediaClient(binding, new EndpointAddress(mediaAddress));
mediaClient.ClientCredentials.HttpDigest.ClientCredential.UserName = username;
mediaClient.ClientCredentials.HttpDigest.ClientCredential.Password = password;
var getProfilesResponse = await mediaClient.GetProfilesAsync();
var profiles = getProfilesResponse.Profiles;
}
如果我用 81 更改端口號,服務器響應沒有錯誤,但配置文件是 null(實際上有 2 個配置文件)。
使用 Onvif 設備管理器它可以正常工作......有人可以告訴我我的錯誤嗎? 有任何想法嗎?
您如何選擇使用相對 URI /onvif/media_service
連接到端口80
上的媒體服務? 可能您沒有使用正確的版本(並且將它們硬編碼在代碼中是不好的,因為較新版本的固件可能會改變它)。
您應該從 設備管理服務調用GetServices
並使用正確的 URI 來訪問所需的服務。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.