- 前言
- Aravis簡介
- 依賴關係說明
- 安裝過程
- meson安裝
- aravis原始檔下載
- 構建和安裝aravis
- 影片檢視器
- 安裝過程中遇到的問題
- meson版本過低
- CMake版本過低
- 缺少GStreamer元件
- 參考文章
前言
最近在做採集軟體的開發,由於我自己使用過Huaray和Basler兩個品牌的相機,所以在設計軟體時嘗試設計統一的介面去控制不同品牌和型號相機的相同或類似的行為。當然,我的設計思路都是建立在呼叫各品牌SDK的基礎上。
後來我去外網搜尋,發現了一個開源專案Aravis,它透過提供一個通用的API,讓我們能夠不受相機的品牌或型號限制,自由地進行影像採集和相機控制,支援從簡單的影像捕獲到複雜的相機設定調整的一系列操作。
專案地址:https://github.com/AravisProject/aravis
Aravis簡介
Aravis是一個基於glib/gobject的庫,允許開發者對遵循GenICam標準的網路相機進行通訊和控制。它目前實現了工業相機使用的GigE和USB3協議。它還提供了一個簡單的乙太網相機模擬器和影片檢視器。
依賴關係說明
- Aravis庫依賴於zlib、libxml2和glib2,若選擇使用USB支援則需要依賴libusb1。
- GStreamer外掛除了需要Aravis庫的依賴外,還依賴於GStreamer1。
- 影片檢視器依賴於GStreamer1、Gtk+3以及Aravis庫的依賴。
- 所需的版本在Aravis原始碼中的meson.build檔案裡有指定。
- 可以只構建庫本身,以此將依賴減少到最少。
安裝過程
meson安裝
由於Aravis是使用meson進行專案構建的,所以我們先安裝meson:
apt install meson
安裝完畢後驗證是否安裝成功
meson --version
aravis原始檔下載
作者對aravis使用者的建議是最好使用發行版本而不是直接git checkout
在github上找到所需的aravis的發行版本,並下載:https://github.com/AravisProject/aravis/releases
我選擇的是0.8.31版本:
下載壓縮包後解壓即可
tar -xvf aravis-0.8.31.tar.xz
構建和安裝aravis
進入工作目錄,然後執行以下命令:
meson setup build
cd build
ninja
ninja install
在執行meson setup build
可能會有安裝失敗的項點,錯誤解決方法可以參考文末的《安裝過程中遇到的問題》
至此安裝已完成
影片檢視器
找到Aravis雙擊開啟,即可檢視已連線的相機裝置
安裝過程中遇到的問題
meson版本過低
我安裝的aravis版本是0.8.31,這個版本aravis的編譯依賴0.57.0及以上版本的meson,而我透過apt包管理器下載的meson版本為0.53.2,不滿足需求。因此要對meson進行升級操作:
①首先安裝或升級pip
apt install python3-pip
或
pip3 install --upgrade pip
②然後移除舊版本meson避免版本衝突
apt remove meson
③使用pip安裝最新版本的meson
推薦使用--user選項,這樣可以將Meson安裝在使用者目錄下,避免對系統全域性Python環境造成潛在的干擾
pip3 install --upgrade --user meson
④更新環境變數
在~/.bashrc
檔案中新增
export PATH="$HOME/.local/bin:$PATH"
然後重啟系統生效
⑤驗證meson版本
安裝或升級完成後,透過以下命令檢查Meson的版本,以確保安裝或升級成功
meson --version
我的安裝結果:
CMake版本過低
在構建專案的時候,提示了以下錯誤資訊:
說明我係統中的CMake版本過低,需要升級。
注意:apt包管理器中的CMake版本不是最新的,所以我們不使用apt install
更新CMake
我們採用從原始碼編譯的方法更新:
①移除舊cmake防止版本衝突
apt remove cmake
②下載原始碼
進入CMake官網下載所需版本的原始碼,我下載的是3.29.0釋出版本
③解壓下載的原始碼包
tar -zxvf cmake-3.29.0.tar.gz
④編譯和安裝CMake
cd ./cmake-*
./bootstrap
make
make install
⑤新增環境變數
在~/.bashrc
中新增
export PATH=/path/to/cmake/bin:$PATH
/path/to/cmake
是解壓出來的原始碼的路徑
⑥驗證CMake
cmake --version
缺少GStreamer元件
直接使用包管理器安裝即可
apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
參考文章
1.Installation and Debug