Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

1996scarlet/IPCamera-CPython-Interface

Open more actions menu

Repository files navigation

IPCamera-CPython-Interface-v4

这是什么东西(What is this)

  • 兼容主流海康和雄迈IPC的适用于C、C++和python2/3的帧数据获取接口
  • 简化海康和雄迈IPC连接、登录、注册回调、解码(FFMPEG)、取帧的步骤
  • 通过Ctypes支持python3

近期更新(Recent update)

  • 现已将接口打包为deb安装包 可以实现一键编译安装(测试于Ubuntu 19.04/18.04.2 LTS)
  • 添加对不同分辨率的摄像头的支持 并且支持在运行过程中动态切换分辨率
  • 现在可以在客户端取不同分辨率的帧数据
  • 现在在申请对象时会对buffer初始化 来防止取帧过快导致客户端崩溃
  • 为进一步优化取帧效率 启用了多线程解码(ffmpeg4.0及以上版本默认解码线程为1)

性能对比(Performance comparison)

一张图看懂取帧接口版本差异

原理简要说明(Brief description of the principle)

一张图看懂取帧接口处理流程

安装与测试(Install and testing)

接口调用方式(C/C++/Python)

目录结构说明(Files-Tree)

  • hk_interface - 存放海康接口源码、测试demo、SDK
  • xm_interface - 存放雄迈接口源码、测试demo、SDK
  • deb_packager - 用于打包libipc的deb安装包
  • py_packager - 用于打包libipc的python wheel安装包
  • release - 包括ffmpeg、opencv的安装脚本和预编译的libipc安装包
  • 每个关键子目录下都附带README文件

注意事项(Cautious)

  • 使用内存管道方法配合nginx_rtmp_module推流延迟较高,需要低延迟推流可以考虑使用基于类MJPEG协议的推流框架
  • 在Ubuntu 18.04上安装openCV可以参考这个链接
  • 编译安装ffmpeg前需要设置./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libx264 --enable-shared来防止opencv编译过程无法引用动态库导致的video.so相关错误
  • 编译安装opencv时若出现xfeatures2d相关错误,需要重新下载curl并按照如下步骤编译安装
    1. cd /root/Downloads/curl
    2. ./configure --with-ssl
    3. make
    4. sudo make install
  • 建议自行编译安装opencv-python来保持版本同步
    1. cd ./opencv/build/python_loader
    2. python3 setup.py install
    3. 或者通过python3 setup.py build命令 然后在dist文件夹下手动安装opencv-4.0.1-py3.7.egg

About

兼容主流海康和雄迈IPC的适用于C++和python的帧数据获取接口

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.