基於OpenCV、PiCamera和FFmpeg構建的視頻處理框架:VidGear
知識
05-10
- 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
譯者:我是昵稱耶~
※如何在不停機的情況下在Django中創建索引
※用wxPython創建GUI應用程序展示NASA圖片(第一部分)
TAG:Python部落 |