使用 gst-plugins-bad 里面的 gst-element-maker 工具创建gstreamer 插件

news/2024/11/30 9:37:38/

系列文章目录

创建 gstreamer 插件的几种方式
使用 gst-template 创建自己的 gstreamer 插件
使用 gst-plugins-bad 里面的 gst-element-maker 工具创建gstreamer 插件


文章目录

  • 系列文章目录
  • 前言
  • 一、获取gst-plugins-bad 源码
  • 二、gst-plugins-bad 相关的软件依赖
    • 1. 根据自己的ubuntu 版本及安装的gstreamer版本选择对应的gst-plugins-bad 代码版本
    • 2. meson 及其相关依赖软件的安装
  • 三、使用 gst-element-maker 工具生成新的 gstreamer 插件
    • 1. 插件模板
    • 2. 创建一个基于 videofilter base class的 gstreamer 插件
    • 3. 修改生成的插件文件,重新编译
    • 4. 交叉编译
      • 4.1 source 交叉工具链
      • 4.2 使用交叉工具链编译新插件
      • 4.3 交叉编译生成的新插件
  • 总结
  • 参考资料


前言

本文主要介绍如何使用gst-plugins-bad 里面的 gst-element-maker 工具创建新的gstreamer插件,这是目前创建gstreamer插件最新的方法。
软硬件环境:
ubuntu18.04
meson 0.55.0
gstreamer 1.14.5
ninja 1.8.2
python 3.6.9



http://www.ppmy.cn/news/1129189.html

相关文章

PY32F003F18之RTC

一、RTC振荡器 PY32F003F18实时时钟的振荡器是内部RC振荡器,频率为32.768KHz。它也可以使用HSE时钟,不建议使用。HAL库提到LSE振荡器,但PY32F003F18实际上没有这个振荡器。 缺点:CPU掉电后,需要重新配置RTC&#xff…

十七,IBL-打印各个Mipmap级别的hdr环境贴图

预滤波环境贴图类似于辐照度图,是预先计算的环境卷积贴图,但这次考虑了粗糙度。因为随着粗糙度的增加,参与环境贴图卷积的采样向量会更分散,导致反射更模糊,所以对于卷积的每个粗糙度级别,我们将按顺序把模…

Direct3D融合技术

该技术能使我们将当前要进行光栅化的像素的颜色与先前已已光栅化并处于同一位置的像素的颜色进行合成,即将正在处理的图元颜色值与存储在后台缓存中的像素颜色值进行合成(混合),利用该技术我们可得到各种各样的效果,尤其是透明效果。 在融合…

第2章 算法

2.1 开场白 2.2 数据结构与算法之间的关系 在“数据结构”课程中,就算谈到算法,也是为了帮助理解好数据结构,并不会详细谈及算法的方方面面。 2.3 两种算法的比较 2.4 算法的定义 算法是解决特定问题求解步骤的描述,在计算机…

使用c++实现输出爱心(软件:visual Studio)

#include <iostream> using namespace std;int main() {//爱心曲线方程(x^2y^2-a)^3-x^2*y30double a 0.5;//定义绘图边界double bound 1.3 * sqrt(a);//x,y坐标变化步长double step 0.05;//二维扫描所有点,外层逐层扫描for (double y bound; y > -bound; y - ste…

传统安防音视频平台架构

内部级联,为上下级均为自己平台海康子进程调用海康的设备SDKPTPCS通过封装代理不同的私有协议的差异,封装为大华统一的三代协议PC客户端通过调用平台SDKCMS一般采用双机热备技术PTPCS系统一般采用Windows嵌入式,由于部分设备厂家提供的SDK只有Windows的服务和服务之间的调用通过…

Chrome(谷歌浏览器)如何关闭搜索栏历史记录

目录 问题描述解决方法插件解决&#xff08;亲测有效&#xff09;自带设置解决步骤首先打开 地址 输入&#xff1a;chrome://flags关闭浏览器&#xff0c;重新打开Chrome 发现 已经正常 问题描述 Chrome是大家熟知的浏览器&#xff0c;但是搜索栏的历史记录如何自己一条条的删…

flutter 递归

if (!Global.wsImMessageQueueState) {Global.wsImMessageQueueState true;startProcessingMessageQueue(true);//开始执行}startProcessingMessageQueue(bool isExistMessage) {if (isExistMessage) {if (Global.wsImMessageQueue.isNotEmpty) {PrintUtil.prints(WsIm消息队列…