多平台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 自带的 ...
随机推荐
- 473. Matchsticks to Square
Remember the story of Little Match Girl? By now, you know exactly what matchsticks the little match ...
- css单位介绍em ex ch rem vw vh vm cm mm in pt pc px
长度单位主要有以下几种em ex ch rem vw vh vm cm mm in pt pc px %,大概可以分为几种"绝对单位"和"相对单位"和" ...
- hdu1960 最小路径覆盖
题意: 给你明天的出租车订单,订单中包含每个人的起点和终点坐标,还有时间,如果一辆出租车想接一个乘客必须在每个订单前1分钟到达,也就是小于等于time-1,问你完成所有订单要最少多少量出租 ...
- 记一次 .NET 医院CIS系统 内存溢出分析
一:背景 1. 讲故事 前几天有位朋友加wx求助说他的程序最近总是出现内存溢出,很崩溃,如下图: 和这位朋友聊下来,发现他也是搞医疗的,哈哈,.NET 在医疗方面还是很有市场的,不过对于内存方面出的问 ...
- 【js】Leetcode每日一题-数组异或操作
[js]Leetcode每日一题-数组异或操作 [题目描述] 给你两个整数,n 和 start . 数组 nums 定义为:nums[i] = start + 2*i(下标从 0 开始)且 n == ...
- Maven执行Install命令时跳过测试
1. 在pom.xml中添加插件 <!-- 跳过单元测试,不然打包的时候会因为加载不了application.yaml报错 --> <plugin> <groupId&g ...
- Pycharm集成码云,图文手把手教学!
Pycharm集成码云 码云(http://gitee.com)是开源中国推出的代码托管平台,支持 Git 和 SVN,提供免费的私有仓库托管 可以通过码云保管你的代码,每次修改完代码提交,就是一个版 ...
- 逆向工程初步160个crackme-------4
crackme–3因为涉及到浮点数操作以及一些指令和寄存器(由于本人对浮点指令不了解),所以先隔过去分析后面的程序. 工具:1. 按钮事件地址转换工具E2A 2. PEID 3. Ollydbg 首先 ...
- Linux的三剑客
首先,需要介绍一下管道和正则表达式,因为它经常和Linux三剑客一起使用. 一.管道Linux 提供管道符"|",将两个命令隔开,管道符左边命令的输出作为管道符右边命令的输入. c ...
- MzzTxx——团队贡献分分配方案
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 团队贡献分分配规则制定 我在这个课程的目标是 进一步提升工程化开发能力,积累团队协作经验,熟悉全栈 ...