【海康视频SDK】linux服务器端截图与下载视频

任务描述:

 给定海康摄像头的ip地址、端口、用户名、密码,要求能够在linux服务器端运行脚本,完成实时抓图,和下载近期1分钟视频的功能。

我尝试了但失败的方法:

  1. 在windows下跑通vs工程后, 用opencv-swig接口文件将其打包成python库,在进行服务器端python编写。(这个网上的链接主要有​​​​​​ Windows下Python调用海康SDK实时显示网络摄像头 、Ubuntu下使用Python-opencv获取海康威视RTSP码流教程等,但是因为需要的配置文件比较复杂, 而且本身官方文档并不支持,所以我最后fail了)
  2. 运用linux SDK的“回放和下载”模块。 (这个我到很后面才发现我跟踪的海康摄像头是没有自动录视频功能的,所有的都是实时显示,也就是说我无论使用回放、查找还是下载,在linux/windows端会显示DVR设备忙或网络故障的错误,最后fail)
  3. 用linux端qt+opencv的方法。(参考链接,装qt也麻烦,我后来就懒了emm)

最后的解决方案及需注意的bug:

  1. 参考它linux端的“实时预览”板块开发文档,同时参考了windows demo里的RealPlayDlg.cpp+ linux里的GetStream.cpp. 具体修改的函数也就是NET_DVR_SaveRealData 和 NET_DVR_StopSaveRealData【海康视频SDK】linux服务器端截图与下载视频_第1张图片
  2. 用shell脚本循环运行(可参考shell编程链接)

    【海康视频SDK】linux服务器端截图与下载视频_第2张图片

  3. 把获得的视频和windows客户端连按2次录像按钮 保存的视频进行比较。 (ps 虽然保存的视频是.mp4格式 但在我的电脑上除了海康自带的视频播放器 其他都无法正常播放 不确定是不是bug)

其他参考链接:

  • 海康sdk官网:https://www1.hikvision.com/cn/download_61.html(一定要下载自己系统的对应版本! 我一开始蠢炸了在linux下尝试了很久的windows SDK emmmm)
  • windows下用vs配置客户端环境: https://blog.csdn.net/qq_15029743/article/details/79733960(文中用了vs2013 我用了vs2010也是能跑的通的)

总之,大概就是稍微总结了一下这次下载视频遇到的坑咯~ 还是比较naive,多谢指正。 

祝小伙伴们都能用这个sdk开发出自己想用的功能咯kkk

你可能感兴趣的:(【海康视频SDK】linux服务器端截图与下载视频)