Gstreamer开发教程

Overview

GStreamer-example

GStreamer是一个非常强大和通用的用于开发流媒体应用程序的框架。GStreamer框架的许多优点都来自于它的模块化:GStreamer可以无缝地合并新的插件模块,但是由于模块化和强大的功能往往以更大的复杂度为代价,开发新的应用程序并不总是简单。

出于以下两点原因,让我萌生了发起这个项目的想法:

  • 网络上关于GStreamer的开发文档比较少,几乎只能依靠官方的API ReferenceTutorials英文文档;
  • 目前项目只有我一个人在维护,因此更多是出于我个人开发的学习记录,但欢迎各位的加入。

更新计划‌

基础理论

本章节将介绍GStreamer的基本理论和Gstreamer Core Library中最常用的部分数据结构及其相关API,并且完成所有Tutorial的翻译。

应用开发

本章节将结合我的开发经历,讲解使用GStreamer开发一个视频流应用会需要用到的基础技术。

  • 构建pipeline的两种方式:gst_parse_launch()gst_element_factory_make()(done)
  • uridecodebin详解(done)
  • appsink/appsrc(done)
  • GstBufferPool
  • GstPadProbe(done)
  • 自定义plugin

平台定制plugins

本章节将介绍QualcommNvidia两个平台的一些定制插件,由于我现在更多在Qualcomm平台上进行开发,并且Nvidia有相对健全的Issue机制和论坛维护,因此Nvidia仅作为补充内容,更新计划待定

:作者才疏学浅,如有纰漏,欢迎指正。

联系方式‌

You might also like...
Comments
  • gstreamer 内存泄漏

    gstreamer 内存泄漏

    rtspsrc location=rtsp://admin:[email protected]:554/cam/realmonitor?channel=1&subtype=0 latency=0 drop-on-latency=true ! rtph264depay ! h264parse ! omxh264dec ! nvvidconv ! video/x-raw, format=(string)NV12 ! appsink emit-signals=true sync=false max-buffers=1 drop=true

    你好,我使用的是jetson nano,然后通过上面的gst-url 使用new-sample、pull-sample 来获取摄像头的每一帧 ,随着运行过程中 内存会一直增加,请问有什么解决思路吗?

    opened by lytasky 4
  • 请教一个 gstreamer 使用问题

    请教一个 gstreamer 使用问题

    你好,首先非常感谢你的教程,我正在看你的翻译学习 gstreamer。目前遇到一个问题,在使用 gstreamer-play 时,我需求修改缓存的位置,看文档应该是设置 downloadbuffer 插件的 “temp-template” 属性,但在百度、谷歌后始终没能找到设置的方法,在QQ 也没能找到 gstreamer 相关的群,所以只好求助于此,再次表示感谢!

    opened by gmg137 0
Owner
Ricardo Lu
Work smart before work hard.
Ricardo Lu