【发布时间】:2015-07-05 16:40:40
【问题描述】:
我正在尝试使用 ONVIF 获取流 URL,但我被卡住了。方法 GetStreamURL 总是返回 Null,但是当我在 Wireshark 中嗅探流量时,我得到了来自摄像头的正确响应。也许有人有类似的问题,可以帮助我吗?我的代码如下所示:
HttpTransportBindingElement httpBinding = new HttpTransportBindingElement();
EndpointAddress serviceAddress = new EndpointAddress(__url);
TextMessageEncodingBindingElement messegeElement = new TextMessageEncodingBindingElement();
httpBinding.AuthenticationScheme = AuthenticationSchemes.Digest;
messegeElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.WSAddressing10);
CustomBinding bind = new CustomBinding(messegeElement, httpBinding);
ONVIF.onvifMedia.mediaClient mclient = new ONVIF.onvifMedia.mediaClient(bind, serviceAddress);
ONVIF.onvifMedia.StreamSetup streamSetup = new ONVIF.onvifMedia.StreamSetup();
streamSetup.Stream = ONVIF.onvifMedia.StreamType.RTPUnicast;
streamSetup.Transport = new ONVIF.onvifMedia.Transport();
streamSetup.Transport.Protocol = ONVIF.onvifMedia.TransportProtocol.RTSP;
mediaUri uri = new mediaUri();
Profile[] profiles;
log.Debug("Trying to fetch profiles");
profiles = mclient.GetProfiles();
foreach (Profile item in profiles)
{
uri = mclient.GetStreamUri(streamSetup, item.token);
}
【问题讨论】:
-
你能把你用Wireshark找到的相应流量粘贴过来吗?
-
您是如何直接使用 ONVIF 课程的?我试图访问 api 以从相机中检索图像快照,但没有让它工作:stackoverflow.com/questions/32779467/…