没有合适的资源?快使用搜索试试~ 我知道了~
首页gstreamer app开发手册
gstreamer app开发手册
4星 · 超过85%的资源 需积分: 50 24 下载量 48 浏览量
更新于2023-03-16
评论 1
收藏 1.08MB PDF 举报
如何在linux上编写gstreamer程序,gstreamer类似于windows上的directshow框架,透明的自动的实现音视频的采集,编解码,播放
资源详情
资源评论
资源推荐
GStreamer Application Development
Manual (1.10.1)
Wim Tayman s
Steve Baker
Andy Wingo
Ronald S. Bultje
Stefan Kost
GStreamer Application Development Manual (1.10.1)
by Wim Taymans, Steve Baker, Andy Wingo, Ronald S. Bultje, and Stefan Kost
This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version
is presently available at http://www.opencontent.org/opl.shtml ( http://www.opencontent.org/opl.shtml)).
Table of Contents
Foreword.................................................................................................................................................. v ii
Introduction
............................................................................................................................................ viii
1. Who should read this manual?
................................................................................................... viii
2. Preliminary reading
.................................................................................................................... viii
3. Structure of this manua l
............................................................................................................. viii
I. About GStreamer
...................................................................................................................................x
1. What is GStreamer?
.......................................................................................................................1
2. Design principles
............................................................................................................................4
2.1. Clean and powerful
............................................................................................................4
2.2. Object oriented
..................................................................................................................4
2.3. Extensible
..........................................................................................................................4
2.4. Allow binary-only plugins
.................................................................................................4
2.5. High performance
..............................................................................................................5
2.6. Clean core/plugins separation
............................................................................................5
2.7. Provide a framework for codec exp erimentation
...............................................................5
3. Foundations
....................................................................................................................................6
3.1. Elements
............................................................................................................................6
3.2. Pads
....................................................................................................................................6
3.3. Bins and pipelines
..............................................................................................................7
3.4. Communication
.................................................................................................................7
II. Building an Application
.......................................................................................................................9
4. Initializing GStreame r
..................................................................................................................10
4.1. Simp le initialization
.........................................................................................................10
4.2. The GOption interface
.....................................................................................................11
5. Elements
.......................................................................................................................................13
5.1. What are elements?
..........................................................................................................13
5.2. Creating a GstElement
..................................................................................................15
5.3. Using an element as a GObject
......................................................................................16
5.4. Mo re about element factor ie s
..........................................................................................17
5.5. Lin king elements
.............................................................................................................19
5.6. Element States
.................................................................................................................20
6. Bins
..............................................................................................................................................22
6.1. What are bins
...................................................................................................................22
6.2. Creating a bin
..................................................................................................................22
6.3. Custom bins
.....................................................................................................................23
6.4. Bins manage states of their children
................................................................................24
7. Bus
...............................................................................................................................................25
7.1. How to use a bus
..............................................................................................................25
7.2. Message types
..................................................................................................................28
8. Pads and capabilities
....................................................................................................................30
8.1. Pads
..................................................................................................................................3 0
8.2. Capabilities of a pad
........................................................................................................33
8.3. What capabilities are used for
.........................................................................................35
8.4. Ghost pads
.......................................................................................................................38
9. Buffers and Events
.......................................................................................................................41
iii
9.1. Buffers .... ............................. ............................................................................................41
9.2. Events
..............................................................................................................................4 1
10. Your first application
..................................................................................................................43
10.1. He llo world
....................................................................................................................43
10.2. Compiling an d Running helloworld.c
...........................................................................46
10.3. Conclusion
.....................................................................................................................47
III. Advanced GStreamer concepts
........................................................................................................48
11. Position tracking and seeking
....................................................................................................49
11.1. Querying: getting the position or length of a stream
.....................................................49
11.2. Events: seeking (and mo re)
...........................................................................................50
12. Metadata
.....................................................................................................................................52
12.1. M etadata reading
...........................................................................................................52
12.2. Tag writing
.....................................................................................................................54
13. Inte rfaces
....................................................................................................................................56
13.1. The URI interface
..........................................................................................................56
13.2. The Color Balance interface
..........................................................................................56
13.3. The Video Overlay interface
..........................................................................................56
14. Clocks and synchronizatio n in GStreamer
.................................................................................5 8
14.1. Cloc k running-time
........................................................................................................58
14.2. Buffer running- time
.......................................................................................................59
14.3. Buffer stream-time
.........................................................................................................59
14.4. Time overview
...............................................................................................................60
14.5. Cloc k providers
.............................................................................................................60
14.6. Latency
..........................................................................................................................6 1
15. Buffering
....................................................................................................................................63
15.1. Stream buffering
............................................................................................................64
15.2. Download buffering
.......................................................................................................65
15.3. Timeshift buffering
........................................................................................................65
15.4. Live buffering
................................................................................................................66
15.5. Buffering strategies
........................................................................................................66
16. Dynamic Controllable Parameters
.............................................................................................71
16.1. Ge tting Started
...............................................................................................................71
16.2. Settin g up para meter control
.........................................................................................71
17. Threads
.......................................................................................................................................73
17.1. Scheduling in GStreamer
...............................................................................................73
17.2. Configuring Th reads in G Str eamer
...............................................................................73
17.3. When would you want to force a thread?
......................................................................79
18. Auto plugging
.............................................................................................................................81
18.1. M edia types as a way to identify streams
......................................................................81
18.2. M edia stream type detection
..........................................................................................82
18.3. Dynamically autoplugging a pipeline
............................................................................84
19. Pipeline manipulation
................................................................................................................85
19.1. Usin g probes
..................................................................................................................85
19.2. M anually adding or removing data from/to a pipeline
..................................................93
19.3. Forcin g a format
..........................................................................................................101
19.4. Dynamically changing the pipeline
.............................................................................104
iv
IV. Higher-level interfaces for GStreamer applications.. ...................................................................111
20. Playback Compo nents
..............................................................................................................112
20.1. Playbin
.........................................................................................................................112
20.2. De codebin
....................................................................................................................113
20.3. URIDe codebin
.............................................................................................................116
20.4. Playsink
.......................................................................................................................116
V. Appendices
.........................................................................................................................................120
21. Programs
..................................................................................................................................121
21.1. gst-launch
...................................................................................................................121
21.2. gst-inspect
...................................................................................................................124
22. Compiling
.................................................................................................................................128
22.1. Embedding static elements in your application
...........................................................128
23. Things to check when writing an a pplication
..........................................................................130
23.1. Good programming habits
...........................................................................................130
23.2. De bugging
...................................................................................................................130
23.3. Conversion plugins
......................................................................................................131
23.4. Utility applications pr ovided with GStreamer
.............................................................131
24. Porting 0.8 applications to 0.10
...............................................................................................133
24.1. List of changes
.............................................................................................................133
25. Porting 0.10 applications to 1.0
...............................................................................................135
25.1. List of changes
.............................................................................................................135
26. Integration
................................................................................................................................138
26.1. Linux and UNIX-like operating systems
.....................................................................138
26.2. GNO ME desk top
.........................................................................................................138
26.3. KDE desktop
...............................................................................................................140
26.4. OS X
............................................................................................................................140
26.5. Windows
......................................................................................................................140
27. Licen sing advisory
...................................................................................................................143
27.1. How to license the applications you build with GStreame r
........................................143
28. Quotes from the Developers
.....................................................................................................145
v
剩余158页未读,继续阅读
nkckk
- 粉丝: 0
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论2