
gstreamer
文章平均质量分 82
Aero Auto
learning...
展开
-
gstreamer [全收录]官方插件分类整理
Gstreamer官方插件全收录, 分类整理.原创 2023-01-05 09:59:01 · 818 阅读 · 1 评论 -
Gstreamer 内存分配协商机制
在两个衬垫的caps协商完成之后,元件之间需要确认如何分配buffer。本文梳理GStremer内存协商机制,比如当某元件不能自己分配内存时,如何使用其他元件的分配器。原创 2021-12-23 16:03:13 · 1803 阅读 · 1 评论 -
Gstreamer 内存池GstBufferPool
GStremer通过GstBufferPool提供了通用内存池的管理。原创 2021-12-21 17:12:59 · 1860 阅读 · 0 评论 -
Gstreamer 内存管理
内存分配内存的分配和管理是多媒体中非常重要的课题。高清晰度视频使用许多兆字节来存储一个图像帧。尽可能重用内存,而不是不断地分配和释放内存,这一点很重要。多媒体系统通常使用特殊用途的芯片,如dsp或gpu来执行繁重的工作(尤其是视频)。这些特殊用途的芯片通常对它们操作的内存,和如何访问内存都有严格的要求。本文讨论GStreamer插件可用的内存管理特性。我们将首先讨论管理对内存访问的底层对象GstMemory,然后继续讨论它的一个主要使用者GstBuffer,它用于在插件之间和应用程序之间交换数据。我原创 2021-12-14 22:19:39 · 4298 阅读 · 0 评论 -
gstreamer编译错误处理记录
1. server certificate verification failede0005055@ibudev20:~/wk/gst_scr$ git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.gitCloning into 'gst-plugins-base'...fatal: unable to access 'https://gitlab.freedesktop.org/gstreamer/gst-plugi原创 2021-10-30 11:35:54 · 1594 阅读 · 1 评论 -
gstreamer debug tracer使用概览
gstreamr traces提供了延时、内存泄露等配置,可以直接通过环境变量来控制相关信息输出。1. 延时统计延时主要计算元件中,从src到sink的时间。使用 GST_TRACERS="latency(flags=element)"来使能log:GST_TRACERS="latency(flags=element)" GST_DEBUG=GST_TRACER:7 ./filter_test0:00:04.662245924 14152 0x5555750b4120 TRACE原创 2021-09-26 14:45:49 · 2535 阅读 · 4 评论 -
gstreamer笔记:capabilities negociation 规格协商
caps协商主要通过问询和事件机制来实现.定义的衬垫都由自己可以处理的数据类型,规定了当前元素的功能和支持的参数,比如常见的音视频格式、比特率等。在元素连接的过程中,相邻的元素需要协商彼此可以衔接的数据格式,以便将对应的数据传给对方。最常见的协商是当前的src pad通过GST_QUERY_CAPS询问下游元素sink pad支持的格式,从中选择一个共同支持的格式。另外,下游也可以在规格需要更改的时候,发送重新配置的事件GST_EVENT_RECONFIGURE,之后会重新走一遍协商流程。无论怎样,原创 2021-09-01 11:26:00 · 1524 阅读 · 0 评论 -
从GTK、GLib到GObject与GType历史梳理
1. KDE与GNOME1.1 X Window System微软Windows取得市场地位后,unix业界也急于开发类似的图形化操作系统。麻省理工学院(MIT)在1984年与当时的DEC公司合作,致力于在UNIX系统上开发一个分散式的视窗环境X Window。作为图形环境与UNIX系统内核沟通的中间桥梁,任何厂商都可以在X Window基础上开发出不同的GUI图形环境。X Window使用X-Server作为Ui与系统交互的桥梁,UI不直接与系统交互,因此拥有很强的设计灵活性和可移植性,但因此决定了原创 2021-08-12 11:33:57 · 1794 阅读 · 1 评论 -
gstreamer信号、属性、消息、事件、问询、状态的详细梳理
1. 信号的作用信号时是属于元件的,用于元件和外部(应用或者其它元件)之间,基于预定事件的交互,比如元件创建了新的cap等。元件内部定义了本元件相关的信号。如果外部需要关心和了解这一信号,可以连接该信号和处理函数。这样,元件内部发生信号时,该函数将被调用执行。2. 元件创建信号...原创 2021-08-10 15:36:05 · 3619 阅读 · 0 评论 -
plugin插件加载和初始化流程详解
在插件学习中,总想要了解插件究竟是在哪里加载和初始化的,不然没头没脑的总不放心。结合源代码追溯流程,记录如下:插件函数与声明gstreamer的插件是如何被加载和初始化的呢?在所有插件中,有一个plugin_init函数,这是插件运行的起点。static gbooleanplugin_init (GstPlugin * plugin){ /* FIXME Remember to set the rank if it's an element that is meant to be原创 2021-07-28 17:13:56 · 2164 阅读 · 0 评论 -
gst 笔记1:信号、消息、事件、状态
基本操作示例gst-launch-1.0 filesrc location="/home/e0005055/Videos/test1.mp4" ! decodebin ! videoconvert ! autovideosink代码:#include <gst/gst.h>static gbooleanbus_call (GstBus *bus, GstMessage *msg, gpointer data){ GMainLoop *lo原创 2021-07-27 18:27:57 · 1061 阅读 · 0 评论 -
2021 gstreamer插件编写指南中英对照 (三) 编写一个插件
Writing a Plugin写一个插件You are now ready to learn how to build a plugin. In this part of the guide, you will learn how to apply basic GStreamer programming concepts to write a simple plugin.现在您已经为学习如何构建插件做好准备了。在本部分指南中,您将学习如何应用基本的GStreamer编程概念来编写一个简单的插件。Th原创 2021-07-21 19:16:17 · 2026 阅读 · 1 评论 -
2021 gstreamer插件编写指南中英对照 (二) 基础知识
Foundations 基础This chapter of the guide introduces the basic concepts of GStreamer. Understanding these concepts will help you grok the issues involved in extending GStreamer. Many of these concepts are explained in greater detail in the GStreamer Applica原创 2021-07-21 19:15:13 · 471 阅读 · 0 评论 -
2021 gstreamer插件编写指南中英对照 (一) 前言
Introduction 介绍GStreamer is an extremely powerful and versatile framework for creating streaming media applications. Many of the virtues of the GStreamer framework come from its modularity: GStreamer can seamlessly incorporate new plugin modules. But beca原创 2021-07-21 11:46:45 · 754 阅读 · 0 评论