在Ubuntu18.04上从源码构建Gstreamer

本文详细介绍了如何在Ubuntu 18.04上从源码构建Gstreamer 1.18.4,包括GST Framework、工作模型,以及安装meson、编译和安装各个gstreamer插件包的步骤,如gst-plugins-base、good、bad、ugly和libav。此外,还提到了Gstreamer调试工具的安装以及遇到的依赖问题和解决方法。
摘要由CSDN通过智能技术生成

GST Framework

GST工作模型

Elements可以分为Source, Sink 以及中间级的Filter和Codecs,Elements之间通过传递buffer以及消息来实现具体的业务逻辑,source elements生产buffer,sink elements消费buffer.

多个Elements通过pads首尾相连,可以构成一个Bin,从外部看,Bin可以看成一个更复杂的Elements,通常情况下,多个业务联系紧密的Elements可以构成一个Bin单元,通过Bin再向上提供新的功能。

包含源组件和汇组件的Bin可以构成pipeline,基于pipeline可以构建基于Gstreamer的应用程序。

1.apt-get安装

apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

安装过程如下:

安装结束后,gstreamer的开发环境就建好了,我们没有从源码开始编译,所以没有遇到什么问题。安装的文件包括gstreamer库以及一些可执行文件的用例,通过这些用例用户可以简单对gstreamer进行测试。

测试片源播放,以MKV容器格式的文件为例,用gst-play搭建播放管道:

gst-play-1.0 /media/caozilong/ntfs/The.Godfather.Part2.Blu-ray.720p.x264.DD51-HiS@MySiLU.mkv


基于gstreamer SDK做二次开发:

上面提到,通过命令行安装方式获得的gst sdk 除了包含类似于gst-play 这种开箱即用的程序之外,还包括释放了一大堆的运行库,供客户二次开发使用。

下面的命令可以查看GCC链接阶段引用的GST库有那些:

pkg-config --cflags --libs gstreamer-1.0

可以看到,客户二次开发需要引用到的和GST有关的库还真不少。

下面基于安装好的GST SDK环境开发一个简单的用户程序:

GST官网提供了教程程序,不用我们手搓代码,教程在GIT仓库中被管理,下载下来;

git clone https://gitlab.freedesktop.org/gstreamer/gst-docs

官网文档地址如下:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

papaofdoudou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值