prolove2046 2020-06-30 17:01 采纳率: 0%
浏览 843
已结题

如何通过ONVIF协议获取NVR中摄像头的RecordingToken

海康的NVR,支持 ONVIF协议。
开发平台: .Net Core 3.0

我的调用顺序是:

[onvif/search_services]  GetRecordingSummary
[onvif/search_services]  FindRecordings
[onvif/search_services]  GetRecordingSearchResults

在 GetRecordingSearchResults 的返回对象的Source中,没有任何信息。没有办法与具体的摄头对应。无法确认Recording是对应的哪一个摄像头。

哪位大佬有ONVIF回放录像的示例? 最好是可以直接运行的。

这个NVR感觉得很奇怪,用Happytime onvif client也是一样无法访问回放视频。不知道是海康NVR对ONVIF的支持不够好,还是软件有问题。

  • 写回答

3条回答 默认 最新

  • king_weng 2020-09-24 15:33
    关注

    1、需要先调用RecordingBindingProxy::GetRecordings();

    _trc__GetRecordingsResponse recordingsRep;
    _trc__GetRecordings recodingReq;
    RecordingBindingProxy::GetRecordings(&recodingReq ,&recordingsRep);
    

    2、然后通过_trc__GetRecordingsResponse返回的结果中的tt__GetRecordingsResponseItem来获取

    _trc__GetRecordingsResponse recordings;
            onvifRecoding->getRecoding(recordings);
            for (auto it = recordings.RecordingItem.begin(); it != recordings.RecordingItem.end(); ++it) {
                tt__GetRecordingsResponseItem * pRecordings = *it;
                cout << "recoding token = " << pRecordings->RecordingToken;
                tt__RecordingConfiguration *pRecordingConf = pRecordings->Configuration;
                if (pRecordingConf->Source) {
                    cout << "Recording SourceId = " << pRecordingConf->Source->SourceId.c_str();
                    cout << "Recording Name = " << pRecordingConf->Source->Name.c_str();
                    cout << "Recording Location = " << pRecordingConf->Source->Location.c_str();
                    cout << "Recording Description = " << pRecordingConf->Source->Description.c_str();
                    cout << "Recording Address = " << pRecordingConf->Source->Address.c_str();
                }
            }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记