多平台Gstreamer Multiplatform

多平台Gstreamer Multiplatform

GStreamer可在所有主要操作系统上运行,例如Linux,Android,Windows,Max OS X,iOS,以及大多数BSD,商业Unix,Solaris和Symbian。已被移植到各种操作系统,处理器和编译器。可以在所有主要硬件体系结构上运行,包括x86,ARM,MIPS,SPARC和PowerPC,以及32位和64位以及小端或大端。

GStreamer可以桥接到其它多媒体框架,以便重用现有组件(例如编解码器)并使用平台输入/输出机制:

  • Linux / Unix:OpenMAX-IL(通过gst-omx)
  • Windows:DirectShow
  • Mac OS X:QuickTime

综合核心库

  • 基于图的结构允许任意管道构建
  • 基于 GLib 2.0对象模型的面向对象设计和继承
  • 小于500KB的紧凑型核心库,大约65K行代码
  • 多线程管道是微不足道,透明的构造
  • 面向插件和应用程序开发人员的过滤,简单且稳定的 API
  • 极轻量的数据传递意味着非常高的性能/低延迟
  • 面向核心和插件/应用开发人员的 完整 调试系统
  • 确保全局流间同步(A / V同步)时钟
  • 服务质量(qos),以确保在高CPU负载下获得最佳质量

智能Plugin结构

  • 动态加载的 插件提供了元素和媒体类型,这些元素和媒体类型是通过注册表缓存按需加载的,类似于ld.so.cache
  • 元素接口 处理所有已知类型的源,过滤器和接收器
  • 功能系统 允许使用MIME类型和特定于媒体的属性来验证元素兼容性
  • 自动插入使用功能系统自动完成复杂路径
  • 通过将管道转储到.dot文件并从中创建PNG图像,可以使其可视化
  • 资源友好的插件不会浪费内存

多媒体技术Broad覆盖

可以通过新插件扩展GStreamers功能。下面列出的功能只是一个粗略的概述,可使用GStreamers自己的插件提供的功能,不包括任何第三方提供的功能。

  • 容器格式:asf,avi,3gp / mp4 / mov,flv,mpeg-ps / ts,mkv / webm,mxf,ogg
  • 流式传输:http,mms,rtsp
  • 编解码器:FFmpeg,各种编解码器库,第三方编解码器包
  • 元数据:本机容器格式之间具有公共映射
  • 视频:各种色彩空间,支持逐行和隔行视频
  • 音频:各种位深度和多通道配置中的整数和浮点音频

丰富的开发工具

  • gst-launch命令行工具,用于快速进行原型制作和测试,类似于ecasound
  • 很多 文档,包括部分完成的 手册和 插件编写者指南
  • 每个模块中都有大量的测试程序和示例代码可供选择
  • 使用各种编程语言访问GStreamer API

GStreamer 1.x是最新的API系列,自2012年以来一直稳定。

 

posted @ 2021-04-13 05:59  吴建明wujianming  阅读(139)  评论(0编辑  收藏  举报