国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Ubuntu20.04 編譯 gstreamer 支持gpu硬編解 opencv-python同支持gst

這篇具有很好參考價值的文章主要介紹了Ubuntu20.04 編譯 gstreamer 支持gpu硬編解 opencv-python同支持gst。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

什么是Gstreamer?

Gstreamer是一個支持Windows,Linux,Android, iOS的跨平臺的多媒體框架,應用程序可以通過管道(Pipeline)的方式,將多媒體處理的各個步驟串聯(lián)起來,達到預期的效果。每個步驟通過元素(Element)基于GObject對象系統(tǒng)通過插件(plugins)的方式實現(xiàn),方便了各項功能的擴展。

下圖是對基于Gstreamer框架的應用的簡單分層:
ubuntu20.04 編譯 gstreamer 支持gpu硬編解,opencv,gstreamer,部署,python,opencv,開發(fā)語言
可參考

新版編解碼

gstreamer 自1.17.1開始,便拋棄了老版本的gpu硬編解方案,采取了新方案,新方案對環(huán)境要求放松,意味著更好編譯,更穩(wěn)定:ubuntu20.04 編譯 gstreamer 支持gpu硬編解,opencv,gstreamer,部署,python,opencv,開發(fā)語言
老版方案裝一些預環(huán)境還比較麻煩,所以建議拋棄老版本,用新版本。
另外 ubuntu20.04的默認支持gst1.16.3 所有一些諸如桌面之類依賴會有gst相關的庫,在編譯時容易鏈接錯誤,預計用ubutnu22.04及其以上,配合新版本1.21.3以上,應該會好很多。由于目前需要使用ubutnu20.04,故以下以此記錄。

編譯安裝步驟

預備環(huán)境

Ubuntu20.04 python3.8系統(tǒng)自帶
測試過如果是anaconda的python,需要把anaconda帶的gst給卸載了:
conda uninstall gstreamer gst-plugins-base

編譯環(huán)境依賴安裝

sudo apt-get install build-essential dpkg-dev flex bison autotools-dev automake liborc-dev autopoint libtool gtk-doc-tools python3-pip libmount-dev python3-pip meson bison flex ninja-build  libglib2.0-dev nasm
sudo apt-get install valgrind libgirepository1.0-dev libcap-dev libgtk-3-dev libunwind-dev clzip gobject-introspection libdw-dev
sudo apt-get install libxv-dev libasound2-dev libtheora-dev libogg-dev libvorbis-dev
sudo apt-get install libbz2-dev libv4l-dev libvpx-dev libjack-jackd2-dev libsoup2.4-dev libpulse-dev
sudo apt-get install faad libfaad-dev libfaac-dev libx264-dev libmad0-dev

sudo apt install build-essential cmake git python3-dev python3-numpy \
libavcodec-dev libavformat-dev libswscale-dev libgtk-3-dev libgtk2.0-dev libcanberra-gtk-module \
libpng-dev libjpeg-dev libopenexr-dev libtiff-dev libwebp-dev \
libopencv-dev x264 libx264-dev libssl-dev ffmpeg

編譯安裝gst

安裝1.18版本,對于Ubuntu20.04是合適的選擇,對于meson的和ninja可以用系統(tǒng)默認版本,更高版本的gst,要對應升級meson和ninja
默認編譯安裝位置prefix 是/usr/local,由于ubuntu20.04桌面版本默認安裝了gst-1.16.3,所以安裝路徑不要是/usr,雖然可解決很多編譯鏈接問題。
若裝在/usr下,可以不用設置下邊的環(huán)境變量,但謹慎,若是桌面版本ubutnu20.04,依賴gst的桌面可能出問題,包括但不限于系統(tǒng)設置打不開,依賴qt的一些軟件可能打開異?!捎胐ocker裝無桌面環(huán)境,或者直接就是無桌面的系統(tǒng)規(guī)避這個問題。

以下以ubuntu20.04桌面版本,設置prefix的路徑安裝在gst-build下的install文件夾下,編譯后在設置合適的環(huán)境變量,即可正確找到動態(tài)庫

git clone -b 1.18 https://github.com/GStreamer/gst-build.git
meson setup --prefix=/home/lenovo/compiled_project/gst-build/install build -Dbad=enabled -Dgst-plugins-bad:nvcodec=enabled

#設置環(huán)境變量 可以編譯安裝之后設置,也可以現(xiàn)在按照下方的路徑規(guī)律,替換掉安裝的根目錄,主要是不是一步步的編譯方式,所有這個過程不太嚴謹
gedit ~/.bashrc
 
#在末尾添加 
export LD_LIBRARY_PATH=/home/lenovo/compiled_project/gst-build/install/lib:/home/lenovo/compiled_project/gst-build/install/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=/home/lenovo/compiled_project/gst-build/install/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH
export GST_PLUGIN_PATH=/home/lenovo/compiled_project/gst-build/install/lib/x86_64-linux-gnu/gstreamer-1.0
#激活環(huán)境變量
source ~/.bashrc

#編譯安裝
sudo ninja -C build install

gst-inspect-1.0  --version #查看是否安裝成功
gst-inspect-1.0 -a | grep nvh264

#測試代碼 若無報錯可跑基本沒啥問題
gst-launch-1.0 rtspsrc location=rtsp://xxx:xxx@192.168.0.2:554/h264/ch1/main/av_stream ! rtph264depay ! h264parse ! nvh264dec ! videoconvert ! videoscale ! video/x-raw,width=640,height=480 ! nvh264enc ! h264parse ! filesink location=vid2.mp4

#類似報錯 即下載出錯,自己用瀏覽器下載后解壓到subprojects下并修改為對應名稱,請注意版本,可以去對應名字的.wrap文件下去看,對于gst-plugins-base、gst-plugins-good,gst-plugins-bad,gst-plugins-ugly,去https://gitlab.freedesktop.org/gstreamer提前下載放subprojects下,版本對應1.18

subprocess.CalledProcessError: Command '['/bin/git', '-C', '/home/argo/compiled_project/gst-build-1.18/subprojects', 'clone', 'https://gitlab.gnome.org/gnome/libsoup.git', 'libsoup']' returned non-zero exit status 128.

opencv-python支持gst

opencv-python 支持此時的gst,也就同樣可以用硬編解
即重新編譯安裝opencv-python即可
參考

一些記錄

參考官網(wǎng)安裝,以及dpkg查看gstreamer安裝,
dpkg -l | grep libgstreamer
conda list | grep gst
ubuntu 桌面依賴于gst的,所有有相關的動態(tài)庫等的安裝 sudo apt show ubuntu-desktop | grep gstreamer
版本可見是1.16,所以如果不正確配置,會鏈接錯誤

參考網(wǎng)址:

https://mesonbuild.com/Tutorial.html
https://gstreamer.freedesktop.org/documentation/installing/index.html?gi-language=c
https://gitlab.freedesktop.org/gstreamer/gst-build
https://github.com/GStreamer/gst-build
編譯步驟參考:
https://blog.csdn.net/cdnight/article/details/112093636文章來源地址http://www.zghlxwxcb.cn/news/detail-680577.html

到了這里,關于Ubuntu20.04 編譯 gstreamer 支持gpu硬編解 opencv-python同支持gst的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • ubuntu20.04 編譯安裝運行emqx

    ubuntu20.04 編譯安裝運行emqx

    Erlang/OTP OTP 24 或 25 版本 GCC 4.8 或更高版本 Git make openssl-devel libcurl-devel

    2024年02月11日
    瀏覽(31)
  • Ubuntu20.04安裝fortran編譯器

    Ubuntu20.04安裝fortran編譯器

    1.打開終端:你可以通過按下 Ctrl + Alt + T 鍵組合來打開終端窗口。 2.更新包列表:運行以下命令以確保你的包列表是最新的:? sudo apt update 3.安裝Fortran編譯器:運行以下命令來安裝GNU Fortran編譯器: sudo apt install gfortran 4.驗證安裝:安裝完成后,你可以運行以下命令來驗證F

    2024年02月03日
    瀏覽(28)
  • ubuntu20.04搭建arm交叉編譯環(huán)境

    ubuntu20.04搭建arm交叉編譯環(huán)境

    源碼下載地址:Downloads | GNU-A Downloads – Arm Developer 要根據(jù)目標系統(tǒng)選擇編譯器版本,我的主板: aarch64bit體系結構(arm 64bit),linux內核GNU操作系統(tǒng)=GNU/Linux操作系統(tǒng)(簡稱linux) 大端模式(Big-endian),是指數(shù)據(jù)的高字節(jié),保存在內存的低地址中,而數(shù)據(jù)的低字節(jié),保存在內存

    2023年04月24日
    瀏覽(25)
  • Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0

    Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0

    準備工作: (1)電腦裝有 NVIDIA 顯卡 (2)安裝 ROS noetic/Installation/Ubuntu - ROS Wiki (3)安裝 cuda Ubuntu安裝cuda_GXU_Wang的博客-CSDN博客 (4)安裝 ceres 1.14.0 Ubuntu20.04安裝Ceres1.14.0_我是你de不死的bug的博客-CSDN博客 下載 opencv 源碼,選擇所需要的版本 opencv 4.6.0,相應的擴展opencv_cont

    2024年02月12日
    瀏覽(19)
  • Ubuntu20.04與22.04 openssl與openssl編譯安裝

    Ubuntu20.04與22.04 openssl與openssl編譯安裝

    操作系統(tǒng)openssl版本查看: 推薦根據(jù)操作系統(tǒng)默認版本下載對應修復版本 ubuntu20.04 openssl版本:OpenSSL 1.1.1f ubuntu22.04 openssl版本:OpenSSL 3.0.2 首先,使用 wget 命令下載 OpenSSL 的源代碼壓縮包。從 OpenSSL 官方網(wǎng)站上找到最新版本的源代碼。 如下以ubuntu20.04示例: 解壓源代碼 使用

    2024年02月06日
    瀏覽(56)
  • ubuntu 20.04 aarch64 平臺交叉編譯 opencv

    ubuntu 20.04 aarch64 平臺交叉編譯 opencv

    win10 64 位 VMware Workstation Pro 16 虛擬機 虛擬機安裝 ubuntu 20.04 opencv 版本: 來自 github 當前最新 4.7 交叉編譯 opencv,用于 嵌入式 aarch64 平臺 可以直接從 github 下載 release 版本或者 使用 git clone 最新的 opencv 倉庫 github opencv https://github.com/opencv/opencv git clone https://github.com/opencv/openc

    2024年02月09日
    瀏覽(38)
  • Ubuntu 20.04源碼編譯安裝OpenCV 4.7.0

    Ubuntu 20.04源碼編譯安裝OpenCV 4.7.0

    目錄 前言 1--下載OpenCV 4.7.0 2--編譯安裝OpenCV 4.7.0 3--測試 3-1--查看安裝的版本 3-2--基于VSCode和CMake測試項目 4--報錯解決(重點?。?4-1--OpenCV與FFmpeg不兼容 4-2--LIBTIFF報錯 4-3--系統(tǒng)與Anaconda的庫lib沖突 4-4--測試時CMake的find_package報錯 ? ? ? ? 建議先看第4節(jié)相關報錯及解決方法,再

    2024年01月16日
    瀏覽(25)
  • Ubuntu20.04部署編譯LVI-SAM

    Ubuntu20.04部署編譯LVI-SAM

    該動圖來自LVI-SAM開源地址(https://github.com/TixiaoShan/LVI-SAM) 近期在學習SLAM相關知識,拜讀了此篇經(jīng)典論文LVI-SAM,因為部署的時候系統(tǒng)版本與開源略有不同,遇到一些問題,故在此記錄一下。 若是大手子,請直接忽視本文。 衷心建議大家先參照開源各版本進行環(huán)境配置,可以

    2024年02月11日
    瀏覽(22)
  • Ubuntu20.04 交叉編譯Paddle-OCR

    Ubuntu20.04 交叉編譯Paddle-OCR

    參考鏈接: https://blog.csdn.net/sz76211822/article/details/130466597?spm=1001.2014.3001.5501 參考鏈接: https://blog.csdn.net/sz76211822/article/details/130461683?spm=1001.2014.3001.5501 1.將Paddle-Lite編譯好的cxx文件夾放置到PaddleOCR/deploy/lite目錄下 2.將編譯好的opencv文件夾放置到cxx目錄下 3.除了拷貝過來的源代碼

    2024年02月02日
    瀏覽(51)
  • 從頭搭建Android源碼編譯環(huán)境(Ubuntu 18.04 / 20.04 / 22.04)

    在新安裝的Ubuntu上(版本20.04LTS),完成搭建Android源碼編譯環(huán)境步驟如下。 順帶說一句,當前用的比較多的Ubuntu是18.04和20.04,在實際項目中一直在用,可用性和穩(wěn)定性都沒問題。 最新的Ubuntu22.04版本,系統(tǒng)默認的二進制庫變化比較大,編譯Android源碼有問題(實測過,沒細研

    2024年02月06日
    瀏覽(27)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包