ubuntu22.04编译安装使用gstreamer指南

这篇具有很好参考价值的文章主要介绍了ubuntu22.04编译安装使用gstreamer指南。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

环境准备

ubuntu发行版22.04,该发行版内置Gstreamer1.20.1,gstreamer源码最新版本为1.20.3,差距不大

下载gstreamer源码

下载gstreamer源码

安装git

sudo apt install -y git
fuqiang@fuqiang-VivoBook:~/Workspace/gstreamer$ git --version
git version 2.34.1

下载gstreamer

git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git
git checkout --track -b 1.20 origin/1.20        --->1.20是目前最新版本的稳定分支,最新的小版本号为1.20.3

准备编译环境

安装meson

gstreamer1.60以后(不包含1.60),使用meson+ninja来构建

sudo apt install -y meson
fuqiang@fuqiang-VivoBook:~/Workspace/gstreamer$ meson --version
0.61.2

安装glib

gstreamer是基于glib-gobject来实现的

sudo apt install -y libglib2.0-dev

安装libsoup

sudo apt install -y libsoup2.4-dev

安装libunwind

1.下载包,http://download.savannah.nongnu.org/releases/libunwind/
2. ./configure
3.make
4.sudo make install

安装libdw

sudo apt install -y libdw-dev

安装g-ir-scanner

系统中搜索g-ir-scanner,然后将其copy到/usr/lib/下,给予执行权限

安装gobject-introspection-1.0

sudo apt-get install -y libgirepository1.0-dev

安装gtk+-3.0

sudo apt-get install -y libgtk-3-dev

安装hotdoc

sudo apt-get install -y libjson-glib-devsudo apt install -y cmake python3-pip
sudo pip3 install hotdoc

安装xgettext

系统中搜索xgettext,复制到/usr/bin/下,并给予执行权限

安装alsa

sudo apt-get install -y libasound2-dev

安装cdda_paranoia

sudo apt install -y cdparanoia

还不行将cdparanoia先注释掉

安装libvisual-0.4

sudo apt install libvisual-0.4-dev

安装xv

打开终端输入 sudo snap install xv --edge,如果不能正常安装则按照提示输入 sudo snap install xv --edge --devmode即可安装成功

安装SDL2

sudo apt-get install -y libsdl2-2.0 libsdl2-dev libsdl2-mixer-dev libsdl2-image-dev libsdl2-ttf-dev  libsdl2-gfx-dev

安装qt5

sudo apt-get install -y clang qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools qtcreator
sudo apt-get install -y qt5*

安装bz2

sudo apt install -y libbz2-dev

安装nasm/yasm

sudo apt install -y nasm yasm

安装gettext

sudo apt-get install -y gettext

编译安装

创建out目录

cd gstreamer
mkdir out

编译

meson out
cd out
ninja
sudo ninja install

带参数编译示例

meson --reconfigure -Dauto_features=enabled -Dgst-plugins-base:opus=disabled -Dgst-plugins-base:ogg=disabled out

异常处理

异常1

subprojects/gstreamer/gst/parse/meson.build:7:0: ERROR: Program 'flex win_flex' not found or not executable

解决方案:

sudo apt install -y flex

异常2

subprojects/gstreamer/gst/parse/meson.build:34:0: ERROR: Program 'bison win_bison' not found or not executable

解决方案:

sudo apt install -y bison

异常3

fuqiang@fuqiang-VivoBook:~/Workspace/gstreamer/gstreamer/out$ninja
ninja: error: 'subprojects/gst-plugins-bad/gst-libs/gst/transcoder/transcoder-enumtypes.h', needed by 'subprojects/gst-devtools/validate/tools/gst-validate-transcoding-1.0.p/gst-validate-transcoding.c.o', missing and no known rule to make it

解决方案:

meson --reconfigure

异常4

fuqiang@ubuntu:~/workspace/gstreamer$ meson out

The Meson build system

Source dir: /home/fuqiang/workspace/gstreamer

Build dir: /home/fuqiang/workspace/gstreamer/out

Build type: native build

meson.build:81:15: ERROR: lexer

     ['gstreamer', {'build-hotdoc': true}],

解决方案:更新meson版本,ubuntu18.04会出现这个问题,原因是其meson版本过低,使用pip3来安装meson

sudo pip3 install meson

如果版本还是低的话,可能/usr/bin有原始的meson,/usr/local/bin中是新安装的meson,将/usr/local/bin下面的copy到/usr/bin下面即可

异常5

msgfmt: command not found

解决方案:文章来源地址https://www.toymoban.com/news/detail-449598.html

sudo apt-get -y install gettext

测试命令

基本虚拟测试

    gst-launch-1.0 videotestsrc ! autovideosink

    gst-launch-1.0 -v videotestsrc pattern=ball name=left ! autovideosink
    gst-launch-1.0 audiotestsrc ! autoaudiosink

黑洞fakesink

gst-launch-1.0 videotestsrc ! fakesink

音频播放

gst-launch-1.0 filesrc location='/home/fuqiang/音乐/audio.mp3' ! decodebin ! audioconvert ! audioresample ! autoaudiosink

视频播放

gst-launch-1.0 filesrc location='/home/fuqiang/视频/1080P.mov' ! decodebin ! autovideosink

分离MP4的音视频并分别播放

    gst-launch-1.0 filesrc location='/home/fuqiang/视频/1080P.mov' ! qtdemux name=demux demux.audio_0 ! queue ! decodebin ! audioconvert ! audioresample ! autoaudiosink demux.video_0 ! queue ! decodebin ! videoconvert ! videoscale ! autovideosink

    gst-launch-1.0 filesrc location='/home/fuqiang/视频/1080P.mov'  ! qtdemux name=demux demux.video_0 ! queue ! decodebin ! videoconvert ! videoscale ! autovideosink

视频播放并设置videobox

gst-launch-1.0 filesrc location='/home/fuqiang/视频/1080P.mov' ! qtdemux name=demux demux.video_0 ! decodebin ! videoscale ! video/x-raw,width=100,height=100 ! videobox border-alpha=0 top=-70 bottom=-70 right=-220 ! videoconvert ! autovideosink

摄像头采集播放(编码输出文件)

gst-launch-1.0 v4l2src ! videoconvert ! autovideosink

gst-launch-1.0 v4l2src ! videoconvert ! x264enc ! filesink location='/home/fuqiang/视频/xx.mp4'

gst-launch-1.0 v4l2src ! video/x-raw,width=1280,height=720 ! videoconvert ! openh264enc ! h264parse ! flvmux ! filesink location=aaa.flv

采集音频到文件

gst-launch-1.0 alsasrc ! audioresample ! audioconvert ! wavenc ! filesink location=/home/fuqiang/Videos/xx.wav

mp3转码ogg

gst-launch-1.0 filesrc location='/home/fuqiang/音乐/audio.mp3' ! decodebin ! audioconvert ! vorbisenc ! oggmux ! filesink location='/home/fuqiang/音乐/audio.ogg'

timeoverlay

gst-launch-1.0 videotestsrc ! timeoverlay ! xvimagesink

到了这里,关于ubuntu22.04编译安装使用gstreamer指南的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Ubuntu18.04/20.04/22.04的Apollo8.0软件包安装(免编译)

    本文主要介绍在如何使用软件包(即 deb 包)的方式来安装 Apollo,相对于源码方式安装,软件包安装方式不需要编译,更加快捷。但是对环境的支持比较单一,如果在自定义环境内安装,请移步源码安装方式 1. 安装 Ubuntu Linux 安装 Ubuntu 18.04+ 的步骤,参见 官方安装指南。 完

    2024年02月05日
    浏览(64)
  • 【PaddlePaddle】保姆级教程:Ubuntu22.04+CUDA12.2编译PaddlePaddle源码并安装

    恰逢研一开学,在上课之余想利用这可以自己支配的半年时间再扩展一项技能。 突然想到自己平常在某乎看到众多帖子均在写pytorch大大小小的坑,于是思来想去,决定支持一下国产深度学习框架:PaddlePaddle 开个新坑,记录自己的学习历程 需要先启用“适用于 Linux 的 Window

    2024年02月03日
    浏览(56)
  • Ubuntu 22.04安装使用easyconnect

    百度百科,EasyConnect能够帮助您在办公室之外使用公司内网的所有系统及应用。在您的公司部署深信服远程应用发布解决方案后,您的公司所有业务系统及应用都可以轻松迁移至移动互联网上。您可以通过手机、PAD等智能移动终端随时随地开展您的业务,尽享移动业务带来的

    2024年01月17日
    浏览(43)
  • [Ubuntu 22.04] Docker安装及使用

    使用脚本自动安装 安装完成后验证 1. 拉取镜像并启动容器 注 :OPTION是参数,TAG是标签(版本号) 以Ubuntu 20.04为例,如下: 2. 创建容器 镜像拉取完成后,可以使用以下命令创建并启动一个基于 Ubuntu 20.04 镜像的容器 这将创建一个交互式的终端会话,可以在 Ubuntu 20.04 容器内

    2024年01月17日
    浏览(48)
  • WSL安装与使用(Ubuntu22.04)

    本文主要记录Windows WSL的安装和使用过程,内容包括WSL安装过程、WSL安装Ubuntu、Ubuntu更换镜像源,Ubuntu安装Dcoker并配置等步骤。 Windows Subsystem for Linux(简称WSL)是一个在Windows 1011上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,

    2024年02月08日
    浏览(48)
  • 如何在 Ubuntu 22.04 上安装、配置、使用 Nginx?

    Nginx是一款高性能的开源Web服务器,同时也充当反向代理服务器和负载均衡器。它设计简洁,效率出众,以处理大量并发连接而闻名,成为许多网站和应用的首选服务器软件。在本文中,我们将深入介绍如何在Ubuntu 22.04上安装、配置和管理Nginx,以便您能更好地利用其强大功能

    2024年03月20日
    浏览(42)
  • ubuntu22.04安装使用 protobuf 23.3静态库

    https://github.com/protocolbuffers/protobuf/ 下载最新的release版本,23.3 必须需要依赖的第三方库 abseil,utf8_range mkdir build cd build cmake -DCMAKE_BUILD_TYPE=DEBUG  -DCMAKE_INSTALL_PREFIX=/usr/local -Dprotobuf_BUILD_SHARED_LIBS=OFF -Dprotobuf_WITH_ZLIB=OFF -Dprotobuf_BUILD_TESTS=OFF .. make sudo make install 或直接修改CmakeList.t

    2024年02月11日
    浏览(44)
  • Ubuntu 下 Wine的安装与使用(以22.04为例)

    验证是否为64位架构 返回 amd64 查看是否安装了32位架构 若显示 i386 则跳过此步,否则执行 再次检查 下载并添加 WineHQ 存储库密钥 根据需要选择需要使用的sources文件 使用官方的源 使用国内的源则编辑 /etc/apt/sources.list.d/winehq-jammy.sources 文件,在文件中写入以下内容 其他版本

    2024年02月12日
    浏览(53)
  • Ubuntu 22.04安装和使用ROS1可行吗

    可行。 ROS1可以一直使用下去的 ,这一点不用担心。Ubuntu会一直维护的。 Debian发行版^_^  AI:在Ubuntu 22.04上安装ROS1是可行的,但需要注意ROS1对Ubuntu的支持只到20.04。因此,如果要在22.04上安装ROS1,只能从源码编译安装。 目前的机器人相关操作系统还是 面向开发者 的(devel

    2024年02月14日
    浏览(47)
  • 如何在 Ubuntu 22.04 上使用 LEMP 安装 WordPress

    前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。 介绍 WordPress 是互联网上最流行的内容管理系统 (CMS) 之一,它允许用户来设置灵活的博客和网站。WordPress 是高效建立和运行网站的绝佳选择。初始设

    2024年01月21日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包