多平台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年以来一直稳定。

多平台Gstreamer Multiplatform的更多相关文章

  1. GStreamer跨平台多媒体框架

    GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...

  2. ORM数据库框架 SQLite 常用数据库框架比较 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. 【GStreamer开发】GStreamer基础教程16——平台相关的element

    目标 虽然GStreamer是跨平台的framework,但不是所有的element都是在所有平台下都有的.比如,音频和视频的sink都非常依赖于当前的window系统,根据当前的平台需要选择不同的e ...

  4. 【miscellaneous】【ARM-Linux开发】ARM平台基于嵌入式Linux Gstreamer 使用

    1). 简介 随着ARM平台性能的日益强大和嵌入式设备的发展,对于多媒体处理如音视频播放,摄像头,流媒体处理等需求也日益增多,本文就通过几个基于嵌入式Linux下多媒体应用的示例来简单展示下使用Gst ...

  5. vlc/ffmepg/mplayer/gstreamer/openmax/mpc/ffdshow/directshow

    一些应该学习的开源框架与库用途和差别 一.播放器层次 这个层次上,是直接可以用的软件,已经做完了一切工作,如果我们需要用他们,是不需要写一行代码的,编译通过就可以拿来使用了,对于国内这些山寨公司来说, ...

  6. cocos2d-x 2.1.4学习笔记01:windows平台搭建cocos2d-x开发环境

    cocos2d-x的大致开发流程是,首先使用win32版进行代码编写并完成游戏,然后将代码迁移到对应的开发环境上进行交叉编译完成游戏打包,如iphone上是mac+xcode,android是ecli ...

  7. gstreamer让playbin能够播放rtp over udp流数据

    最近一段时间在研究传屏低延迟传输相关的一些东西.本来想使用gstreamer来验证下rtp over udp传送h264 nal数据相关 的,结果发现竟然不能用playbin来播放rtp的数据!诚然, ...

  8. 驳Linux不娱乐 堪比Win平台中十款播放器

    播放器在我们日常生活中扮演着非常重要的角色,在Windows操作系统中,播放器被应用的非常广泛,不但我们可以听音乐,甚至还可以听广播,制作铃声,下载音乐等等.而在Linux发行版中,缺少娱乐性一直性W ...

  9. 使用 GStreamer appsrc 等插件实现视频音频混流,录制和推流

    目前在做的在线直播教室,需要将老师分享的屏幕和老师的声音.学生的声音录制为一个视频文件,以便学生上课后还可以再看回放. 直播服务我们采用的是腾讯的视频服务,有现成的 SDK 可以用.但 SDK 自带的 ...

随机推荐

  1. 1.4.15- HTML标签之链接标签

    代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  2. Typora+PicGo配置图床神器(图片链接URL)

    目录 1.下载Typora 2.下载PicGo 3.Typora 配置 1.下载Typora 有能力科学的小伙伴,可以从官网下载,地址为Typora 向下滚动,点击Downloda后,选择自己的操作系 ...

  3. 【JVM】空间分配担保机制

    抛几个问题: 1.谁进行空间担保? JVM使用分代收集算法,将堆内存划分为年轻代和老年代,两块内存分别采用不同的垃圾回收算法,空间担保指的是老年代进行空间分配担保 2.什么是空间分配担保? 在发生Mi ...

  4. system , DOS 命令

    其实C语言也可以控制电脑关机什么的啊,以前竟然无知的连这个都不知道.悲哀啊.让各路大牛尽情嘲笑啊.. #include<stdio.h> #include<stdlib.h> ...

  5. Python中的时间日期模块(time、datetime)

    目录 Datetime 获取当前时间 获取当前日期 获取当前时间的tuple元组 格式化日期和时间 时间移动 获取两个时间的时间差 时间格式转换 Time 获取距元年(1970.1.1)的秒数 当时时 ...

  6. drbd虚拟机宕机恢复方法

    问题现象 云南计算节点YN-ec-compute-19因系统盘损坏宕机且操作系统无法恢复,其上本地虚拟机无法疏散且无法迁移 拟采用drbd备份的数据对compute19上的虚拟机进行恢复 恢复方法 1 ...

  7. Conda基本使用方法

    anaconda/miniconda的安装 请点击查看我的博客 本教程全部命令操作均在CMD(win).terminal(win).终端(linux/Macos)中执行 使用前配置 因为anacond ...

  8. liunx服务器安装jdk

    1.官网下载需要版本的jdk,官网地址 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.h ...

  9. Java前后端分离的认识

    1.原由 在网上查了关于前后端分离的资料,有所粗浅认识.记录下来,方便以后使用.以下均是个人看法,仅做参考.如有错误请指教,共同进步. 2.为什么前后端分离? ①.一个后台,可以让多种前台系统使用.后 ...

  10. HashMap实现原理一步一步分析(1-put方法源码整体过程)

    各位同学大家好, 今天给大家分享一下HashMap内部的实现原理, 这一块也是在面试过程当中基础部分被问得比较多的一部分. 想要搞清楚HashMap内部的实现原理,我们需要先对一些基本的概念有一些了解 ...