gstreamer 是一个优秀的多媒体框架。
目前支持的平台有:Android,iOS,Mac OS X 和 Windows.
gstreamer 支持android 确实很厉害。
通过gstreamer我们可以很容易的搭建出多媒体应用程序。
但是由于gstreamer的通用性,多模块等特性,通常实现一个多媒体应用也不是十分容易。
同样对于嵌入式设备实现硬件的编码解码 plugins同样十分困难,需要很好的多媒体基础。
gstreamer 提供以下功能
• 开发多媒体应用API
• plugin 体系
• pipeline 体系
• 多媒体(音频,视频,字幕)类别处理和协商
• 同步机制
• 250多个plugins和 1000多个 elements
• 工具集(如gst-launch 等)
GStreamer plug-ins 可以归类为以下几类
• 处理协议
• sources: 音频视频等(比如文件输入,rtsp,广播等)
• 格式: parsers, formaters, muxers, demuxers, metadata, subtitles
• 编码: coders 和 decoders
• filters: converters, mixers, effects, ...
• sinks: 音频视频等
GStreamer 主要组成部分
• gstreamer: 核心包
• gst-plugins-base: 基础包,包含了大量基础功能的elements
• gst-plugins-good: 包含高质量 LGPL的 elements
• gst-plugins-ugly: 包含高质量的elements,但是license结果不确定
• gst-plugins-bad: 包含低质量的elements, license 不确定
• gst-libav: 包含了大量的编码解码技术(软件实现)
gstreamer 结构图