Onvif之获取媒体信息GetProfiles
把海康摄像机设置为H265模式,显示反序列化失败。设置成H264模式,可以成功,
通过研究发现 ,我使用的soap协议的wsdl是如下版本:
https://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl
但是这个版本只支持:
并不支持H265的格式
然后,我就开始找啊找,终于找到了新版的wsdl,地址如下:
https://www.onvif.org/ver20/media/wsdl/media.wsdl
这个版本是支持H265格式的。
另外想要保存wsdl的话,直接右键链接地址下载即可。
想要查看怎么使用可以参考下面代码:
https://github.com/AlexBrochu/CameraManager
调用流程如下:
获取设备能力:
var deviceUri = new UriBuilder("http:/onvif/device_service"){Host = ip,Port = port};Binding binding;HttpTransportBindingElement httpTransport = new HttpTransportBindingElement();httpTransport.AuthenticationScheme = AuthenticationSchemes.Digest;binding = new CustomBinding(new TextMessageEncodingBindingElement(MessageVersion.Soap12WSAddressing10, Encoding.UTF8), httpTransport);DeviceClient device = new DeviceClient(binding, new EndpointAddress(deviceUri.ToString()));Service[] services = device.GetServices(false);
查找需要的服务地址,主要通过Namespace
Service xmedia2 = services.FirstOrDefault(s => s.Namespace == "http://www.onvif.org/ver20/media/wsdl");
查找到服务之后,在拿这个服务的地址获取想要的数据:
var media = new Media2Client(binding, new EndpointAddress(xmedia2.XAddr));media.ClientCredentials.HttpDigest.ClientCredential.UserName = username;media.ClientCredentials.HttpDigest.ClientCredential.Password = password;media.ClientCredentials.HttpDigest.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;var profiles = media.GetProfiles(null, null);string strRtspUrl = media.GetStreamUri("RTSP", profiles[0].token);
Onvif之获取媒体信息GetProfiles相关推荐
- Android之使用MediaMetadataRetriever类获取媒体信息
一.昨天,介绍了使用MediaMetadataRetriever类来获取视频第一帧: http://blog.csdn.net/u012561176/article/details/47858099, ...
- 3.onvif实现获取RTMP地址完整流程
获取摄像头推流地址 前面介绍了怎么来发现设备,接下来该介绍怎么来获取摄像头的推流地址,这也是项目需求,得到推流地址后就可以使用ffmpeg来拉去视频流,并推送到云端 先来看一下这个流程 probe:设 ...
- 03 SkeyeVSS国标视频汇聚云服务使用Onvif协议进行摄像机设备接入以及获取设备信息
SkeyeVSS国标视频融合云平台基于端-边-云一体化架构,部署轻量简单.功能灵活多样,平台可支持多协议(GB28181/RTSP/Onvif/海康SDK/Ehome/大华SDK/RTMP推流等).多 ...
- android获取mp3/mp4媒体信息
原文:http://blog.csdn.net/ameyume/article/details/7849641 API说明:MediaMetadataRetriever class provides ...
- linux c 读取摄像头,Linux下onvif客户端获取ipc摄像头 获取能力:GetCapabilities
getcapabilities:获取能力,主要目的获取设备能力信息(获取媒体服务地址) 鉴权:但是在调用获取设备能力之前是需要鉴权的.onvif协议规定,部分接口需要鉴权,部分接口不需要鉴权,在调用需 ...
- Atitit onvif协议获取rtsp地址播放java语言 attilx总结
Atitit onvif协议获取rtsp地址播放java语言 attilx总结 1.1. 获取rtsp地址的算法与流程1 1.2. Onvif摄像头的发现,ws的发现机制,使用xcf类库1 2. 调用 ...
- AVFoundation – AVMetadataItem 获取媒体属性元数据
目录 一.前言 1.AVAsset 2.AVAssetTrack 3.AVComposition / AVMutableComposition 4.AVMutableVideoComposition ...
- 在vb中使用Iphlpapi.dll获取网络信息(上)
※================================================================== ※本连载文章说明: ※1.连载首发于<软件报>(ht ...
- 最简单的基于DirectShow的示例:获取Filter信息
===================================================== 最简单的基于DirectShow的示例文章列表: 最简单的基于DirectShow的示例:视 ...
最新文章
- 8月第1周安全回顾 0Day漏洞成企业最大威胁 应重视网络监听
- php 数组美化_PHP格式化输出数组,一目了然
- PyTorch分布式训练
- Windows 系统安装Docker Compose 步骤
- 财务大数据比赛有python吗-Python大数据与机器学习之NumPy初体验
- JQuery iframe 刷新效果
- Java虚拟机学习(5):内存调优
- Struts2中<s:iterator>基本用法及示例
- 龙珠直播php,斗鱼、全民TV、龙珠等直播平台排行榜 看视频直播发展趋势
- Simulink学习——弹球仿真三维动画模型(Simulink3D演示动画学习01)
- JZ17 树的子结构
- L1-079 天梯赛的善良 (20 分)——java语言
- AD域帐号批量查询锁定帐号,批量解锁域帐号
- oracle分页排序查询,Oracle分页查询中排序与效率问题解决方法详解
- 阵阵的挫败感,让我痛苦迷茫
- 如何删除服务器的文件,服务器上有顽固文件!如何删除?
- 数组的最大值和最小值
- 使用信号量机制解决生产者消费者问题
- chatgpt赋能python:Python开立方函数math:让数学计算更加简单
- pdf、图片转OFD怎么实现?附详细代码