【GStreamer 】Application Development Manual
Foreword 前言
GStreamer是一个非常强大和通用的框架,用于创建流媒体应用程序。GStreamer框架的许多优点来自于它的模块化:GStreamer可以无缝地合并新的插件模块。但是,由于模块化和强大的功能往往是以更大的复杂性为代价的,因此编写新应用程序并不总是那么容易。
本指南旨在帮助您了解GStreamer框架,以便您可以基于它开发应用程序。第一章将重点介绍一个简单的音频播放器的开发,并努力帮助您理解GStreamer的概念。后面的章节将讨论与媒体回放和其他形式的媒体处理(捕获、编辑等)相关的更高级的主题。
Introduction
Who should read this manual?
这本书是从应用程序开发人员的角度介绍GStreamer的;它描述了如何使用GStreamer库和工具编写一个GStreamer应用程序。关于编写插件的解释,我们建议参考插件作者指南。
Preliminary reading 初步阅读
为了理解本手册,您需要对C语言有基本的了解。
由于GStreamer遵循GObject编程模型,本指南还假设您了解GObject和glib编程的基础知识。特别是,
-
GObject instantiation GObject实例化
-
GObject properties (set/get) 对象属性(设置/获取)
-
GObject casting GObject铸造
-
GObject referencing/dereferencing GObject引用/废除
-
glib memory management Glib内存管理
-
glib signals and callbacks Glib信号和回调
-
glib main loop Glib主循环
Structure of this manual
为了帮助您浏览本指南,本指南分为几个大的部分。每个部分都讨论了一个关于GStreamer应用程序开发的特定主题。本指南各部分按以下顺序排列:
About GStreamer给你一个概览GStreamer,它的设计原则和基础。
Building an Application涵盖了GStreamer应用程序编程的基础知识。在本部分结束时,您应该能够使用GStreamer构建自己的音频播放器
在 Advanced GStreamer concepts,我们将移动到先进的科目,使GStreamer从竞争对手中脱颖而出。我们将讨论使用动态参数和接口的应用程序管道交互,我们将讨论线程和线程管道,调度和时钟(以及同步)。这些主题中的大多数不只是为了向您介绍它们的API,而主要是为了更深入地了解使用GStreamer解决应用程序编程问题并理解它们的概念。
接下来,在Higher-level interfaces for GStreamer applications中,我们将讨论GStreamer的高级编程api。您不需要知道前面部分的所有细节来理解这一点,但是您仍然需要了解基本的GStreamer概念。我们将讨论playbin和autopluggers。
最后,在附录 Appendices中,您将找到一些关于与GNOME、KDE、OS X或Windows集成的随机信息,一些调试帮助和改进和简化GStreamer编程的一般提示。
Subpages: