ONVIF获取摄像机SD卡录像问题:TVT与Uniview设备响应异常
ONVIF录像分段问题解答
- 结论:这是厂商的简化/不规范实现,并非你误解了ONVIF规范。
- ONVIF规范的明确要求:
按照ONVIF的Recording Service规范,GetRecordings()或FindRecordings()+GetRecordingsSearchResults()接口应当返回对应实际录像分段的多个条目——比如按单个录像文件、单次报警触发的起止周期拆分,每个条目包含独立的时间范围、唯一片段标识等元数据,方便客户端精准定位播放目标片段。 - 厂商实现的问题:
TVT和Uniview的设备均对ONVIF接口做了裁剪,将同时间跨度内的多段录像合并为单个条目返回:- TVT设备在RTSP请求时间范围时自动拼接所有匹配片段连播,但不对外暴露分段的起止信息;
- Uniview设备仅返回匹配时间段内的第一段录像,需要客户端自行推算时长来尝试请求后续片段,属于更不符合规范的实现。
- 可行的应对方案:
- 对TVT:尝试在RTSP URL中传入更精确的时间戳参数(精确到秒级的起止时间),测试是否能强制设备返回单段录像;若无效,可考虑使用设备提供的私有SDK获取分段元数据。
- 对Uniview:先通过设备WEB管理后台确认实际录像的分段规则,再尝试调用ONVIF的
GetRecordingInformation()接口(若设备支持)获取更细粒度的片段信息;同样,私有SDK通常能提供更可靠的录像分段查询能力。
内容的提问来源于stack exchange,提问作者TMSZ
相关产品推荐
相关产品推荐

