基于OpenCV、PiCamera和FFmpeg构建的视频处理框架:VidGear

  • VidGear是一个基于OpenCV,PiCamera和FFmpeg构建的高级一体化视频处理框架。它使用方便,易于扩展。
  • 它包含强大的功能(多线程视频处理类)来处理/控制不同设备特定的视频流,如下所示:
  • 类功能CamGear处理IP摄像头/USB摄像头/网络流/YouTube视频PiGear处理Raspberry Pi相机模块VideoGear用于访问视频捕获设备WriteGear通过灵活的视频压缩功能实现无损视频编码
  • 它具有各种内置功能,如灵活控制视频源属性(包括分辨率、帧率以及色域等),并支持简单的直接网络流管道(支持GStreamer,YouTube和其他网络流,如http(s)、rtp、rstp以及mms等)。
  • 它兼容Raspberry-Pi相机模块(RPiCam),可以方便地使用其提供的各种特性,如亮度、饱和度以及传感器模式等。
  • 此外,VidGear利用FFmpeg强大的编码器对输出进行编码,达到降低尺寸而不牺牲视频质量的效果。它提供了对FFmpeg输出参数的完全控制。

主要特征

是什么让VidGear从所有用于视频处理的Python工具中脱颖而出呢?

  • 多线程高速帧捕捉(高FPS)
  • 灵活且直接控制视频源属性
  • 无损视频编解码
  • 灵活的输出视频编码器、压缩以及质量控制
  • 使用其URL地址实现直接YouTube视频流水线
  • 简单的视频源色域转换
  • 自动安装
  • 内置强大的错误处理和帧同步功能
  • 多设备兼容性(包括RpiCamera)
  • 支持实时网络视频流(包括Gstreamer Raw Pipeline)

文档及使用

  • 您可以通过阅读VidGear的wiki来深入了解每个类的用法。

基础示例:

对于常见的Live WebCamera流,使用WriteGear(压缩模式)实现的基本示例如下所示:

基于OpenCV、PiCamera和FFmpeg构建的视频处理框架:VidGear

先决条件

  • 注意:VidGear会根据您的系统要求自动处理所有必要的先决条件(FFmpeg除外)。

必要条件:

  • OpenCV(contrib):安装VidGear前,必须在机器上安装OpenCV 3.0以上版本的python库。您可以从头开始构建它(Raspberry Pi)或者VidGear将根据PyPi自动为您安装。
  • FFmpeg:VidGear需要安装FFmpeg实现压缩功能。可以按照此wiki安装最新的FFmpeg。

额外条件:

  • PiCamera:如果您使用的是Raspberry Pi相机模块,如OmniVision OV5647和Sony IMX219,安装之前需要在Raspberry Pi机器上安装额外的Picamera库(建议使用最新版本)。
  • 此外,请确保在使用此库之前开启了Raspberry Pi硬件特定设置。
  • pafy:要实现将YouTube视频流水线直接导入OpenCV,需要安装Pafy python库。

安装

  • PyPI(限稳定版):VidGear可以通过如下方式轻松实现安装(可通过Python Package Index(PyPI)获取):

基于OpenCV、PiCamera和FFmpeg构建的视频处理框架:VidGear

贡献与发展

欢迎您对这个项目进行pull requests。

您可以克隆此仓库来获取最新版本进行开发,安装方式如下:

基于OpenCV、PiCamera和FFmpeg构建的视频处理框架:VidGear

支持的Python版本

  • Python 2.7是2.x系列中唯一支持的版本。对Python 2.7的支持将在2019年底结束。
  • Python 3.x版本遵循OpenCV版本。

作者

  • Abhishek Thakur @abhiTronix

许可

Copyright © 2019 AbhiTronix

此项目属于MIT许可,相关文档请参阅LICENSE文件。

英文原文:https://github.com/abhiTronix/vidgear

译者:我是昵称耶~

相关推荐