All Projects → 1996scarlet → Ipcamera Cpython Interface

1996scarlet / Ipcamera Cpython Interface

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

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
ctypes
15 projects

Projects that are alternatives of or similar to Ipcamera Cpython Interface

Video To Ascii
It is a simple python package to play videos in the terminal using characters as pixels
Stars: ✭ 960 (+2426.32%)
Mutual labels:  opencv, ffmpeg
Spacextract
Extraction and analysis of telemetry from rocket launch webcasts (from SpaceX and RocketLab)
Stars: ✭ 131 (+244.74%)
Mutual labels:  opencv, ffmpeg
Dokai
Collection of Docker images for ML/DL and video processing projects
Stars: ✭ 58 (+52.63%)
Mutual labels:  opencv, ffmpeg
Vidgear
A High-performance cross-platform Video Processing Python framework powerpacked with unique trailblazing features 🔥
Stars: ✭ 2,048 (+5289.47%)
Mutual labels:  opencv, ffmpeg
Delphi Opencv
Project Delphi-OpenCV. Translation of OpenCV library header files in Delphi
Stars: ✭ 354 (+831.58%)
Mutual labels:  opencv, ffmpeg
Rtsp Client Ffmpeg Opencv On Qt
RTSP Client Program using FFmpeg and OpenCV on Qt
Stars: ✭ 31 (-18.42%)
Mutual labels:  opencv, ffmpeg
Caption ocr tool
视频硬字幕提取工具
Stars: ✭ 98 (+157.89%)
Mutual labels:  opencv, ffmpeg
Ffdynamic
Library with dynamic audio/video composition and runtime control
Stars: ✭ 274 (+621.05%)
Mutual labels:  opencv, ffmpeg
Hplayer
A multi-screen player using Qt + FFmpeg.
Stars: ✭ 330 (+768.42%)
Mutual labels:  opencv, ffmpeg
Javacv
Java interface to OpenCV, FFmpeg, and more
Stars: ✭ 5,543 (+14486.84%)
Mutual labels:  opencv, ffmpeg
Pyimagevideo
write animated GIF, multipage append TIFF, AVI OGV video in Python
Stars: ✭ 36 (-5.26%)
Mutual labels:  opencv, ffmpeg
Snapchat Filter
3 facial filters on a webcam feed using OpenCV & ML - face swap, glasses and moustache
Stars: ✭ 35 (-7.89%)
Mutual labels:  opencv
Opencv Disparity Map Tuner
A simple Qt GUI application to tune OpenCV StereoCorrespondenceBM parameters and see live updates
Stars: ✭ 31 (-18.42%)
Mutual labels:  opencv
Traffic Light Detector
Detect traffic lights and classify the state of them, then give the commands "go" or "stop".
Stars: ✭ 37 (-2.63%)
Mutual labels:  opencv
Graph Based Image Segmentation
Implementation of efficient graph-based image segmentation as proposed by Felzenswalb and Huttenlocher [1] that can be used to generate oversegmentations.
Stars: ✭ 31 (-18.42%)
Mutual labels:  opencv
Camera calibration api
A simple Python API for single camera calibration using opencv
Stars: ✭ 36 (-5.26%)
Mutual labels:  opencv
Python Excel Automation
Examples of automation of excel via python, and related useful things
Stars: ✭ 31 (-18.42%)
Mutual labels:  opencv
Ng Open Cv
Angular 6+ & OpenCV.js integration service library
Stars: ✭ 36 (-5.26%)
Mutual labels:  opencv
Youtube Fetcher
📺 Youtube Podcasting 🎧
Stars: ✭ 31 (-18.42%)
Mutual labels:  ffmpeg
Analysisavp
音视频学习,相关文件格式/协议分析。h264 nalu aac adts flv
Stars: ✭ 38 (+0%)
Mutual labels:  ffmpeg

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].