Onvif协议接入分析学习总结(设备取流)

一、前期准备

首先,你需要清楚知道前端IPC的ip地址、Onvif协议监听的端口(一般都是80)以及用户名密码(一般为登录IPC的用户名密码,海康设备IPC需要登录IPC的web端在配置添加Onvif用户)。

其次你需要知道IPC请求的各个服务支持的协议地址如:http://192.168.35.123/onvif/device_service(默认80端口,同:http://192.168.35.123:80/onvif/device_service),一般需要知道Devicemgmt的地址就可以通过这个协议地址往下操作。

如果你不知道IPC的ip以及port等信息,那你就需要使用一些Onvif的测试工具如ONVIF Device Test Tool和ONVIF Device Manager通过Onvif的Discovery协议(广播发现)获取IPC的ip和port信息。

拿到这些信息后就可以开始向设备请求信息获取取流的RTSP地址。

目前一些需要的信令的Onvif官网地址:

http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl

http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl

https://www.onvif.org/ver20/media/wsdl/media.wsdl


二、信息获取

1、其他服务地址获取--------GetServices(推荐)或者GetCapabilities

Onvif协议接入分析学习总结(设备取流)_第1张图片

该请求是获取各个服务的XAddr(如http://192.168.35.123/onvif/device_service)以及能力集。

取流过程通过该信令请求获取Media(如http://192.168.35.123/onvif/media_service)或者Media2(如http://192.168.35.123/onvif/media2_service)的服务地址。

2、设备的通道信息获取--------Media-GetProfiles(或者Media2-GetProfiles)

根据返回的信息记录保存ProfileToken。

里面重点的几个关键信息为VideoSourceConfiguration、VideoEncoderConfiguration。

VideoSourceConfiguration对应的是视频源配置,可以理解为一个摄像头,或者一个监控护画面,一个视频。

VideoEncoderConfiguration对应的是视频编码配置,可以理解为一个视频源对应不同的画面配置,一个视频对应的标清、高清或者超清等等(主码流、副码流、第三码流等)。

一个Profile下对应有一个VideoSourceConfiguration和一个唯一VideoEncoderConfiguration。

一个VideoSourceConfiguration可以对应多个VideoEncoderConfiguration。

3、设备的RTSP的流地址获取--------Media-GetStreamUri(或者Media2-GetStreamUri)

请求只需带上ProfileToken,设备会返回对应的Uri。

4、播放Uri

可以通过RTSP客户端播放实时流。

你可能感兴趣的:(Onvif协议接入分析学习总结(设备取流))