- 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(压缩模式)实现的基本示例如下所示:
先决条件
- 注意: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)获取):
贡献与发展
欢迎您对这个项目进行pull requests。
您可以克隆此仓库来获取最新版本进行开发,安装方式如下:
支持的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
译者:我是昵称耶~