不支持ExportRecordedData的IP摄像机如何通过ONVIF访问SD卡内容
ONVIF协议访问IP摄像机SD卡存储的可行方案
目前不存在100%不受厂商限制的通用方案,以下方法仅针对符合ONVIF Recording Control接口标准的设备有效,不需要依赖ExportRecordedData接口即可实现录像获取:
- 第一步调用
GetRecordings接口拉取设备上所有录像实例,SD卡存储的录像会对应独立的RecordingToken,返回结果包含该段录像的起止时间、关联视频源等基础信息,该Token是后续操作的核心凭证。 - 第二步调用
GetReplayUri接口,传入上一步获取的RecordingToken,同时指定需要的流传输协议(常用为RTSP),接口会返回对应录像的RTSP播放地址,直接拉取该地址的流即可获取SD卡上的录制内容,将流存储到本地即可等价实现录像导出效果。 - 若需要获取指定时间段的录像片段,可在调用
GetReplayUri或GetStreamUri时传入Start、End时间戳参数,就能精准拉取对应时间范围的录像内容。该方案刚好适配你已有的移动检测事件触发场景,你拿到PullMessages返回的移动检测事件时间戳后,直接作为时间参数传入即可拉取对应触发时段的录像,完全可以实现事件触发式的录像自动存储能力。
兼容性说明
- 部分厂商会裁剪ONVIF协议实现,如果调用
GetRecordings返回空值,说明设备未实现标准的Recording Control接口集,这种情况下没有通用ONVIF方案可以访问SD卡存储内容,仅能通过厂商私有SDK或私有HTTP接口实现对应能力。 - 拉取Replay返回的RTSP地址时,需要和拉取实时流一样携带设备的ONVIF鉴权信息,部分设备默认关闭匿名访问RTSP的权限。
内容的提问来源于stack exchange,提问作者Thabet Sabha
相关产品推荐
相关产品推荐

