基於OpenCV、PiCamera和FFmpeg構建的視頻處理框架:VidGear

FFmpeg OpenCV 樹莓派 Python YouTube 照相機 Python部落 2019-06-19
  • 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

譯者:我是暱稱耶~

相關推薦

推薦中...