一、准备工作
Gstreamer是一个支持Windows,Linux,Android,iOS的跨平台的多媒体框架,应用程序可以通过管道(Pipeline)的方式,将多媒体处理的各个步骤串联起来,达到预期的效果。每个步骤通过元素(Element)基于GObject对象系统通过插件(plugins)的方式实现,方便了各项功能的扩展。
GStreamer在Linux发行版中包含官方推荐使用最新版本的系统,比如Fedora、Ubuntu、Debain或OpenSuse。
二、安装所需依赖和GStreamer
一共15个依赖(包含GStreamer),系统已安装过的不会重复安装,未安装过的将会安装。
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
三、使用GStreamer构建应用
唯一需要的其他“开发环境”是gcc编译器和文本编辑器。代码编译(compile)需要GStreamer并使用GStreamer核心库的代码,所以要通过下面的代码指定给gcc编译器gstreamer-1.0头文件和库文件的位置。
pkg-config --cflags --libs gstreamer-1.0
执行结果如下:
-pthread -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0
四、验证安装是否成功
gst-inspect-1.0 --version
可以看到输出gst-inspect-1.0和GStreamer的版本信息。
(base) dzh:~$ gst-inspect-1.0 --version
gst-inspect-1.0 version 1.14.0
GStreamer 1.14.0
Unknown package origin
五、消除Anaconda的影响
由于Anaconda3的base环境也会安装gstreamer,导致
错误: 无法创建管道: 无组件“rtspsrc”
的问题。
1、输入命令查看已安装的gstreamer版本:
apt list --installed | grep gstreamer*
可以看到本地安装的gst工具都是1.14.5,但上面输出的版本为什么都是1.14.0呢?
2、根据之前环境变量的经验,输入命令whereis gst-launch-1.0
查看它的二进制文件位置,果不其然,anaconda3下也存在一个gst-launch-1.0,然后系统在环境变量中先找到的是anaconda3的。
(base) dzh:~$ whereis gst-launch-1.0
gst-launch-1: /usr/bin/gst-launch-1.0 /home/dzh/anaconda3/bin/gst-launch-1.0
3、接下来激活base环境,conda list看一下哪些与gstreamer有关,然后移除这些包。
conda activate base
conda list
conda remove gstreamer
conda remove gst-plugins-base
4、再次验证gst-launch-1.0默认版本:文章来源:https://www.toymoban.com/news/detail-784310.html
(base) dzh:~$ gst-launch-1.0 --version
gst-launch-1.0 version 1.14.5
GStreamer 1.14.5
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0
舍弃无意义的社交,远离消耗你的人,学会拒绝。文章来源地址https://www.toymoban.com/news/detail-784310.html
到了这里,关于ubuntu安装GStreamer1.0的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!