系列文章目录
创建 gstreamer 插件的几种方式
使用 gst-template 创建自己的 gstreamer 插件
使用 gst-plugins-bad 里面的 gst-element-maker 工具创建gstreamer 插件
文章目录
前言
本文主要介绍如何使用 gst-template 来创建一个新的gstreamer 插件,涉及到 gst-template 的代码分支,版本,编译方法等
软硬件环境:
ubuntu18.04
meson 0.55.0
gstreamer 1.14.5
ninja 1.8.2
python 3.6.9
一、如何获取 gst-template 仓库代码
我们可以从gst-template 官方仓库地址 来获取gst-template 的源码,具体可以使用如下两种方式,gstreamer官网gst-template 相关页面 有相关的介绍,如下图所示
- 使用 git clone https://gitlab.freedesktop.org/gstreamer/gst-template.git 命令获取代码;
- 网页直接访问 https://gitlab.freedesktop.org/gstreamer/gst-template ,然后下载代码
二、gst-template 相关的软件依赖
1. 根据自己的ubuntu 版本及安装的gstreamer版本选择对应的gst-template 代码版本
本人PC 上安装的是ubuntu18.04 ,并且安装的gstreamer 版本是1.14.5
在这里我选择使用的是 gst-template 的 1.18 branch , 至于为社么要选择这个分支而不是main分支,下面会详细介绍,
因此在我们使用 git clone https://gitlab.freedesktop.org/gstreamer/gst-template.git 得到gst-template代码后,我们还需要使用 git checkout 1.18 命令来切换到1.18 分支上去(或者直接使用git clone https://gitlab.freedesktop.org/gstreamer/gst-template.git -b 1.18 命令克隆1.18分支到本地)
如下图所示,是目前gst-template main分支最新代码里的 meson.build,从里面可以看到编译时的环境依赖是 ubuntu上安装 的gstreamer版本要高于1.19,并且gstreamer安装路径下还要有 gstreamer-bast-1.0 目录(应该是只有安装高于gstreamer1.19以上的版本才会有这个目录),我电脑上安装的gstreamer 1.14.5版本,安装目录(/usr/lib/x86_64-linux-gnu)下是没有这个目录的, 所以我电脑目前ubuntu的环境是不能build gst-template main分支最新的代码的
如下图所示,为gst-template 1.18分支的meson.build 文件,可以看到,就没有需要gstreamer 版本要高于1.19 版本,和 gstreamer-bast-1.0 目录的要求了,就和我目前电脑ubuntu 上的环境想吻合了
特别说明:
- 这里之所以选择gst-template 1.18这个分支还和ubuntu 版本,及其上安装的meson 的版本, python3的版本都有关系,我就遇到过在ubuntu16.04 上 还会报无法识别meson.build文件中 join_paths 这个命令的