ONVIF -从摄像机获取记录



我有两台网络摄像机,一台是TVT的,另一台是Uniview的。我触发SD卡记录报警输入,我正试图从他们的SD卡获取记录。两家制造商都有能够做到这一点的自定义协议,但我必须使用ONVIF(根据客户规范)。

我已经使用了RTSP(地址我已经从GetRecordings())与范围选择这两个相机,但它不是很有用。TVT播放所有的记录从指定的时间作为一个连续的流(我不知道录音何时开始和停止,如果有更多的一个),而Uniview只播放第一次记录从指定的时间(如果我想播放第二个我想我将不得不计算长度,并尝试从下一秒播放)。如果我能进入录音列表,这将会很好。

在响应ONVIF GetRecordings()或FindRecordings() + GetRecordingsSearchResults()他们都是回答只有一个项目,显然涵盖整个记录的时间跨度。阅读ONVIF规范,我希望在这些回应中有多个项目。我是误解了ONVIF规范,还是这种行为是某种简化?

我仍然不确定如何解释GetRecordings()或FindRecordings() ONVIF规范/合规性,但看起来我可以使用FindEvents与这些相机和返回的结果允许我确定何时开始和结束记录。

我一直致力于相机的边缘同步功能。你是正确的,大多数相机不提供多个文件,相反,他们给一个RTSP URL作为一个单一的流,很难解释他们。我所做的一件事是在OpenRtsp参数中提供了开始时间和结束时间,以便在下载文件达到限制后停止它。然后我把它们转换成合适的格式。对于处理文件丢失错误,我依赖于RTSP本身,大多数相机在相机内部没有文件时给出500内部服务器错误,您尝试下载这个其他简单的启动,然后立即停止制作0kb文件。你可以创建一个重试机制,这样如果相机的行为在一段时间内每次都是相同的,就离开这个条目,它不在相机内。附言:如果你通过onvif知道更好的方法,我很乐意知道。

最新更新