多平台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年以来一直稳定。
多平台Gstreamer Multiplatform的更多相关文章
- GStreamer跨平台多媒体框架
GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...
- ORM数据库框架 SQLite 常用数据库框架比较 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- 【GStreamer开发】GStreamer基础教程16——平台相关的element
目标 虽然GStreamer是跨平台的framework,但不是所有的element都是在所有平台下都有的.比如,音频和视频的sink都非常依赖于当前的window系统,根据当前的平台需要选择不同的e ...
- 【miscellaneous】【ARM-Linux开发】ARM平台基于嵌入式Linux Gstreamer 使用
1). 简介 随着ARM平台性能的日益强大和嵌入式设备的发展,对于多媒体处理如音视频播放,摄像头,流媒体处理等需求也日益增多,本文就通过几个基于嵌入式Linux下多媒体应用的示例来简单展示下使用Gst ...
- vlc/ffmepg/mplayer/gstreamer/openmax/mpc/ffdshow/directshow
一些应该学习的开源框架与库用途和差别 一.播放器层次 这个层次上,是直接可以用的软件,已经做完了一切工作,如果我们需要用他们,是不需要写一行代码的,编译通过就可以拿来使用了,对于国内这些山寨公司来说, ...
- cocos2d-x 2.1.4学习笔记01:windows平台搭建cocos2d-x开发环境
cocos2d-x的大致开发流程是,首先使用win32版进行代码编写并完成游戏,然后将代码迁移到对应的开发环境上进行交叉编译完成游戏打包,如iphone上是mac+xcode,android是ecli ...
- gstreamer让playbin能够播放rtp over udp流数据
最近一段时间在研究传屏低延迟传输相关的一些东西.本来想使用gstreamer来验证下rtp over udp传送h264 nal数据相关 的,结果发现竟然不能用playbin来播放rtp的数据!诚然, ...
- 驳Linux不娱乐 堪比Win平台中十款播放器
播放器在我们日常生活中扮演着非常重要的角色,在Windows操作系统中,播放器被应用的非常广泛,不但我们可以听音乐,甚至还可以听广播,制作铃声,下载音乐等等.而在Linux发行版中,缺少娱乐性一直性W ...
- 使用 GStreamer appsrc 等插件实现视频音频混流,录制和推流
目前在做的在线直播教室,需要将老师分享的屏幕和老师的声音.学生的声音录制为一个视频文件,以便学生上课后还可以再看回放. 直播服务我们采用的是腾讯的视频服务,有现成的 SDK 可以用.但 SDK 自带的 ...
随机推荐
- D - 下个也是签到题 FZU - 2221(博弈)
ZB loves watching RunningMan! There's a game in RunningMan called 100 vs 100. There are two teams, e ...
- ListBox控件的另一种数据绑定方式
把DataTemplate防止ListBox中的绑定 <ListBox x:Name="ListBoxName"> <ListBox.ItemTemplate&g ...
- ubuntu 缺少动态依赖库
起因 困扰我好久的一个报错,终于解决了 之前我一直以为是 python代码的问题,以为是模块相互调引起的报错,忽略了最后一行这个错误 OSError: libGCBase_gcc421_v3_0.so ...
- Windows之磁盘管理
0x01 磁盘管理概述 磁盘管理是一项计算机使用时的常规任务,它是以一组磁盘管理应用程序的形式提供给用户的,他们位于计算机管理控制台中,它包括查错程序和磁盘碎片整理程序以及磁盘整理程序.(来源百度 ...
- hdu4370 比较抽象的最短路
题意: 给你一个n*n的矩阵,然后让咱们构造另一个n*n的矩阵,构造的矩阵有如下要求, 1.X12+X13+...X1n=1. 2.X1n+X2n+...Xn-1n=1. 3.for ea ...
- 基于Neptune开发板的键盘蓝牙模块DIY指南
目录: 1.下载开发板程序2.安装USB串口(CH340)驱动3.安装烧写工具4.烧写开发板程序 本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用 ...
- 使用C#进行数据库增删改查ADO.NET(一)
这节讲一下如何使用C#进行数据库的增删改查操作,本节以SQL Server数据库为例. .NET 平台,使用ADO.NET 作为与数据库服务器的桥梁,我们通过ADO.NET就可以使用C#语言操作数据库 ...
- (数据科学学习手札121)Python+Dash快速web应用开发——项目结构篇
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 这是我的系列教程Python+Dash快速web ...
- 基于 el-form 封装一个依赖 json 动态渲染的表单控件
nf-form 表单控件的功能 基于 el-form 封装了一个表单控件,包括表单的子控件. 既然要封装,那么就要完善一些,把能想到的功能都要实现出来,不想留遗憾. 毕竟UI库提供的功能都很强大了,不 ...
- Swagger简明教程
一.什么是swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法, ...