gstreamer教程(1)——gstreamer介绍
介绍:
GStreamer 是一个用于创建流媒体应用程序的框架。基本设计来自 Oregon Graduate Institute 的video的管道(pipeline)以及 DirectShow 的一些想法和理念。
GStreamer 的开发框架可以编写任何类型的流式多媒体应用程序。GStreamer 框架旨在使编写处理音频和/或视频的应用程序变得容易。它不仅限于音频和视频,还可以处理任何类型的数据流。管道(pipeline)设计使开销略高于应用的滤波器所引起的开销。这使得 GStreamer 成为用于设计对延迟有高要求的高端音频应用程序是一个很好的框架。
GStreamer 最明显的用途之一是使用它来构建媒体播放器。GStreamer 已经包含用于构建媒体播放器的组件,该播放器可以支持多种格式,包括 MP3、Ogg/Vorbis、MPEG-1/2、AVI、Quicktime、mod 等。然而,GStreamer 不单单仅做一个媒体播放器。它的主要优点是可插拔组件可以混合并匹配到任意管道(pipeline)中,以便可以编写成熟的视频或音频编辑应用程序。
该框架基于将提供各种编解码器和其他功能的插件。插件可以链接并排列在管道(pipeline)中。此管道(pipeline)定义数据流。还可以使用 GUI 编辑器编辑管道(pipeline)并将其保存为 XML,以便以最少的工作量创建管道库。
GStreamer 的核心功能是为插件、数据流和媒体类型处理 / 协商提供一个框架。它还提供了一套用于使用各种插件编写应用程序的API接口。
GStreamer具体功能:
- 多媒体应用程序的 API
- 一个plugin架构
- 一个pipeline架构
- 媒体类型处理/协商机制
- 同步机制
- 超过 250 个插件,提供 1000 多个元素
- 一系列工具套件
GStreamer 插件(plugin):
- 协议处理
- sources:音频和视频(涉及协议插件)
- 格式:解析器、格式化器、多路复用器、解复用器、元数据、字幕
- 编解码器:编码器和解码器
- 滤波器:转换器、混频器、效果器......
- sinks:用于音频和视频(涉及协议插件)