当前位置:网站首页>Practical guide to GStreamer application development (I)
Practical guide to GStreamer application development (I)
2022-06-09 05:34:00 【Geek. Fan】
GStreamer Is a very powerful and versatile framework , For creating streaming media applications .GStreamer Many of the advantages of the framework come from its modularity :GStreamer Can seamlessly integrate new plug-in modules . however , Because modularity and power consumption usually come at the cost of more complexity , So writing new applications isn't always easy .

This article mainly explains GStreamer frame , So that you can develop applications based on it . The previous chapters will focus on the development of a simple audio player GStreamer Concept . Later chapters will cover media playback and other forms of media processing ( Capture , Editor, etc ) Related more advanced topics .
This guide is an introduction from the perspective of application developers GStreamer Of . It describes how to use GStreamer Library and tool authoring GStreamer Applications .
because GStreamer follow GObject Programming model , So we need to understand GObject and glib Basic knowledge of programming . especially :
G Object instantiation
GObject attribute (set/get)
Object conversion
GObject quote / Dereference
glib memory management
glib Signals and callbacks
glib Main circuit
This guide is mainly divided into several parts . Each section deals with GStreamer Specific broad topics for application development . The sections of this guide are listed in the following order :
GStreamer Design principles and basis of
Building applications covers GStreamer The basics of application programming . At the end of this section , You should be able to use it GStreamer Build your own audio player .
stay Advanced GStreamer The concept of , We will switch to advanced subjects , send GStreamer Stand out from competitors . We will discuss applications that use dynamic parameters and interfaces - Pipeline interaction , We'll talk about threads and thread pipelines , Scheduling and clocks ( And synchronization ). Most of these topics are not just meant to introduce you to their API, But mainly for a deeper understanding of the use of GStreamer Solve application programming problems and understand their concepts .
Next , stay GStreamer In the higher-level interface of the application , We will introduce GStreamer A higher level of programming API. You don't need to know all the details in the previous section to understand this , But you need to know the basics GStreamer Concept . Among other things , We will discuss playbin and autopluggers.
Last , In the appendix , You will find some information about GNOME,KDE,OS X or Windows Integrated random information , Some debugging help and improvements and simplifications GStreamer General tips for programming .
边栏推荐
- Basic knowledge of deep learning: face based common expression recognition (1)
- Data Summit 2022 大会资料分享(共23个)
- @Differences between jsonformat and @datetimeformat
- TCP error control, flow control, congestion control
- In latex, \cdots is followed by a sentence. What's wrong with the format of the following sentence.
- 内网渗透 - 哈希传递攻击
- Encapsulation of common methods in projects
- Youshimu V8 projector opens the "vision" field of high fresh
- IP address division and subnet
- Yoyov5's tricks | [trick7] exponential moving average (EMA)
猜你喜欢

WAMP环境搭建(apache+mysql+php)

TCP explanation (Wireshark packet capturing analysis TCP three handshakes and TCP four waves)

Interview process and thread

latex中\cdots后面接上句子,后面的句子格式会乱怎么回事。

MQ message loss, message consistency, repeated consumption solution

YOLOv5的Tricks | 【Trick7】指数移动平均(Exponential Moving Average,EMA)

Common interview questions

The difference between traditional method and lean method

Mysql 添加字段或者创建表SQL语句

Alibaba cloud AI training camp -sql basics 5: window functions, etc
随机推荐
Thinking about global exception capture - real global exception capture
groupby函数详解
SQL optimization notes - forward
Leetcode 929.独特的电子邮件地址
Matlab - polynomial and function
Data inconsistency between the reids cache and the database, cache expiration and deletion
Thinking of reading
使用MAT进行内存问题定位
Cuijian hasn't changed. BAIC Jihu should make a change
对pyqt5和SQL Server数据库进行连接
redis 缓存雪崩、穿透、击穿问题
Morsel-Driven Parallelism: 一种NUMA感知的并行Query Execution框架
Web page capture software
The principle and implementation of lazy image loading
Encapsulation of common methods in projects
In 2022, the database audit manufacturer will choose cloud housekeeper! Powerful!
Windows uses php to start ThinkPHP project and deploy configuration
力扣今日题-1037. 有效的回旋镖
Remove duplicates from sort array -leetcode
Yolov5-6.0 series | yolov5 module design