
GStreamer
文章平均质量分 52
冰山一脚2013
这个作者很懒,什么都没留下…
展开
-
gst_init和gst_init_check区别
gst_init和gst_init_check区别原创 2025-02-18 11:13:08 · 221 阅读 · 0 评论 -
gst_pad_add_probe使用笔记
gst_pad_add_probe使用笔记原创 2025-02-07 10:01:51 · 287 阅读 · 0 评论 -
MP4格式分析
MP4格式分析原创 2024-11-18 16:41:06 · 468 阅读 · 0 评论 -
Gstreamer的webrtcbin插件
Gstreamer的webrtcbin插件原创 2024-10-22 11:31:44 · 819 阅读 · 0 评论 -
弱网下FEC的rtpulpfecdec插件分析
弱网下FEC的rtpulpfecdec插件分析原创 2024-09-25 15:28:47 · 295 阅读 · 0 评论 -
GStreamer音调不变的倍数播放
GStreamer音调不变的倍数播放原创 2024-09-24 08:47:26 · 203 阅读 · 0 评论 -
gstreamer libav插件分析
gstreamer libav插件分析原创 2024-09-13 09:57:08 · 387 阅读 · 0 评论 -
GStreamer日志调试笔记
GStreamer日志调试笔记原创 2024-05-06 14:25:39 · 454 阅读 · 0 评论 -
rtph264depay插件分析笔记
rtph264depay插件分析笔记原创 2024-03-28 16:08:38 · 599 阅读 · 0 评论 -
GStreamer的x264enc插件支持RGB色彩空间
GStreamer的x264enc插件支持RGB色彩空间原创 2024-01-23 08:53:40 · 706 阅读 · 0 评论 -
GStreamer MIME类型
GStreamer MIME类型原创 2023-09-13 19:18:50 · 156 阅读 · 0 评论 -
GStreamer基本的接口
GStreamer基本的接口原创 2023-09-13 19:15:05 · 311 阅读 · 0 评论 -
spice-gtk的gstreamer解码过程
原创 2023-05-17 10:57:06 · 480 阅读 · 2 评论 -
基于GStreamer开发程序列举加载的插件
基于GStreamer开发程序列举加载的插件原创 2023-05-11 10:51:36 · 239 阅读 · 0 评论 -
GStreamer插件优先级
GStreamer插件优先级原创 2023-02-03 10:47:54 · 493 阅读 · 0 评论 -
GStreamer的queue插件功能及代码分析
GStreamer的queue插件功能及代码分析原创 2022-08-13 16:38:56 · 2536 阅读 · 0 评论 -
GStreamer RTSP Server分析图
GStreamer RTSP Server分析图原创 2022-07-07 18:42:07 · 379 阅读 · 0 评论 -
GStreamer官方插件mpegpsdemux支持G.711
GStreamer官方插件mpegpsdemux支持G.711原创 2022-06-07 11:48:11 · 717 阅读 · 1 评论 -
GStreamer生成管道图(Window)
1、打开CMD命令行(必须)> set GST_DEBUG_DUMP_DOT_DIR=D:\work\audioVideoTestFile\testGraph2、执行gst-launch-1.0创建pipeline加上-e参数> gst-launch-1.0 videotestsrc ! autovideosink -e3、dot文件查看工具graphviz下载地址:Download | Graphviz4、打开CMD转换成图片>..原创 2022-05-11 18:40:56 · 585 阅读 · 0 评论 -
mpegpsdemux源码分析
1、相关的文件:gstmpegdemux.cpp,gstmpegdemux.h,gstpesfilter.cpp,gstpesfilter.h类定义/* Information associated with a single FluPS stream. */struct _GstPsStream{ GstPad *pad; gint id; gint type; GstClockTime segment_thresh; GstClockTime last_ts; ..原创 2022-05-10 11:20:45 · 589 阅读 · 0 评论 -
GSignal信号
1、描述信号的基本概念是信号发射。信号引入了信号类型并通过字符串进行识别。为父类型引入的信号也可以在派生类型中使用,因此基本上它们是继承的每个类型的工具。信号发射主要涉及以精确定义的方式调用特定的一组回调。此类回调主要分为两类:对象的回调和用户的回调。(尽管信号可以处理任何类型的可实例化类型,但在下文中,我将这些类型称为“对象类型”,仅仅是因为这是大多数用户会遇到信号的上下文。)每个对象的回调最常见称为“对象方法处理程序”或“默认(信号)处理程序”,而用户提供的回调通常仅称为“信号处理程序”。..翻译 2022-05-10 11:08:27 · 1816 阅读 · 0 评论 -
CentOS8编译GStreamer1.18.4
1、meson1.1、 pip3 install --user meson1.2、 pip3 install --user ninjapip3 install --target=/root/.local/lib/python3.6/site-packages mesoncp /root/.local/bin/meson /usr/bin/2、安装glib-2.562.1、yum install pcre pcre-devel2.2、yum install libffi* 或.原创 2022-05-05 12:48:28 · 2204 阅读 · 0 评论 -
GStreamer学习十三(GStreamer状态机分析)
分析对象:gst-launch-1.0videotestsrc!testsink 1、准备创建/添加 2、、NULL --> READY 1、pipeline的设置 0:00:50.863741000 15216 00000189D4A09000 DEBUG GST_STATESgstelement.c:2827:gst_element_set_state_func:<my-pipeline1&g...原创 2021-01-01 15:13:20 · 1316 阅读 · 0 评论 -
GStreamer学习十二(GstAudioSink 设计思路)
要求 必须以chain模式为基础。大多数简单的播放管道会将音频从解码器推入音频接收器。 必须基于get_range进行操作大多数专业音频应用程序将在音频接收器从管道中抽取样本的模式下运行。通常,这是从音频接收器请求N个样本的回调中完成的。回调是从线程安排的,也可以是从音频硬件设备的中断安排的。 精确的样本,精确时钟。即使在采样丢失或流中发现不连续的情况下,音频接收器也必须能够提供精确采样时钟。 准确的播放时间。音频接收器必须能够在其准确时间播放样本。 尽可能使用翻译 2021-01-01 15:11:26 · 655 阅读 · 0 评论 -
GStreamer学习十一(GSteamer常用工具)
功能gst_calculate_linear_regressiongbooleangst_calculate_linear_regression(constGstClockTime* xy,GstClockTime* temp,guintn,GstClockTime* m...翻译 2021-01-01 15:09:23 · 1522 阅读 · 0 评论 -
GStreamer学习十(GSteamer常见问题)
GStreamer是媒体播放器吗?不,GStreamer是用于创建诸如媒体播放器,视频编辑器,流媒体广播器等应用程序的开发框架。这就是说,很不错的媒体播放器可以很容易地使用高层次的API,我们提供特别是当上了GStreamer上方内置了如GstPlayer或playbin和playbin3元素。为什么GStreamer用C编写?为什么不使用C ++ / Objective-C / ...?我们喜欢C。除了“个人喜好”外,还有很多技术原因使C在此项目中表现出色: C非常便于携带。翻译 2020-12-30 10:46:36 · 1578 阅读 · 0 评论 -
GStreamer学习九(GstBufferList 注意事项)
1、gst_buffer_list_insert()添加引用不会+1 2、gst_buffer_list_remove() 引用会-1 3、gst_buffer_list_get()直接获取到指针原创 2020-12-30 10:44:40 · 427 阅读 · 0 评论 -
GStreamer学习八(GstElement)
GstElement主要功能:提供状态机,事件总线,时间,衬垫,上下文等功能。 1、主要数据结构 /** * GstElement: * @state_lock: 在gst_element_set_state()使用锁住状态 * @state_cond: 通知状态变化 * @state_cookie: 被用检测gst_element_set_state()和gst_element_get_state()调用 ...原创 2020-12-30 10:43:01 · 1888 阅读 · 0 评论 -
GStreamer学习七(GstPad)
一、GstPad简介 通过GstPad轻量级的连接,从而使元素间能互相通信。GstPad有个类型GstPadDirection 区分,GST_PAD_SRC 表示源类型生产数据,GST_PAD_SINK表示下沉类型消费数据。 1、使用步骤: 1.1、GstPad创建 典型的创建方式是通过GstPadTemplate的gst_pad_new_from_template()创建的,然后添加到GstElement中(这通常在创...翻译 2020-12-30 10:37:03 · 2563 阅读 · 0 评论 -
GStreamer学习六(《GStreamer插件指南》笔记 )
1、GstElement元件 是 GStreamer 的核心。在插件的开发中,一个元件就是继承于 GstElement 的一个对象。没有了元件,GStreamer 只是一堆概念性的管道,没有任何东西可供连接 。仅仅写一个新的元件并不够,为了使 GStreamer 能够使用它,你必须将元件封装到一个插件中。一个插件是一块可以加载的代码,通常被称为共享对象文件(shared object file)或动态链接库(dynamically linked library)。一个插件中可以包含一个或若干 elemen.原创 2020-12-30 10:22:09 · 1535 阅读 · 0 评论 -
GStreamer学习五(事件GstEvent)
GstEvent--描述在管道中上下传递的事件的结构1、事件简介事件类提供工厂方法来构造用于发送的事件和用于查询(解析)所接收事件的函数。事件通常使用gst_event_new _ *()创建,它将事件类型作为特定参数。发送事件应用程序通常会使用gst_element_send_event()和元素将使用gst_pad_send_event()或gst_pad_push_event()。gst_event_unref()如果尚未发送,则该事件应该没有任何内容。已接收的事件可以使用各自的gst原创 2020-12-30 10:21:22 · 2263 阅读 · 0 评论 -
GStreamer学习四(《GStreamer应用手册》笔记 )
1、基本概念:元件GstElement、箱柜GstBin(管道GstPipeline)、衬垫GstPad 2、消息包括:错误消息(errormessages),标签消息(tag messages),EOS消息(EOS messages) 3、管道(pipeline)是高级的箱柜(Bins) 4、一旦开始,管道将在一个单独的线程中运行,直到被停止或者数据流播放完毕。 5、对于大部分情况,所有的数据流都是在链接好的元素之间流...原创 2020-12-30 10:19:58 · 2139 阅读 · 0 评论 -
GStreamer学习三(延迟)
1、延迟延迟(即latency)是在时间戳0处捕获的样本到达接收器所花费的时间。此时间是根据流水线的时钟测量的。对于只有包含与时钟同步的接收器元素的流水线,latency始终为0,因为没有其他元素延迟缓冲区。对于实时源的管道,必须引入延迟,这主要是因为实时源的工作方式。考虑一个音频源,它将在时间0开始捕获第一个采样。如果该源以44100Hz的频率一次推送具有44100个采样的缓冲区,由于缓冲区的时间戳为0,而现在是时钟的>= 1(单位:44100采样时间),接收器将丢弃此缓冲区。因为为时已晚,在接原创 2020-12-30 10:19:05 · 4282 阅读 · 4 评论 -
GStreamer学习二(调试日志)
GStreamer的调试子系统是获取应用程序正在执行操作信息的简单方法。它不适用于编程错误,使用GLib方法(g_warning等)。仅在GStreamer初始化调用gst_init后才能工作,调试子系统用于在应用程序运行时记录信息性消息。每条消息都附加了一些属性。这些属性包括调试类别,严重性(此处称为“级别”)和它所属的可选GObject。这些消息中的每一个都被发送到所有已注册的调试处理程序,然后处理这些消息。GStreamer在启动时附加一个默认处理程序,它将请求的消息输出到stderr。.原创 2020-12-30 10:16:25 · 1483 阅读 · 0 评论 -
GStreamer学习一(基本概念)
1、 概述 利用Gstreamer编写多媒体应用程序,就是利用element构建一个pipeline。element是一个对多媒体流进行处理的object,比如如下的处理: elements的输入叫做sink pads,输出叫做source pads。应用程序通过pad把element连接起来构成pipeline,如下图所示,其中顺着流的方向为downstream,相反方向是upstream。 应用程序会收到来自pipeline的消息和通知,比如EOS等。 ...翻译 2020-12-24 14:56:32 · 820 阅读 · 0 评论