什么是GStreamer?
什么是GStreamer?
GStreamer是用于创建流媒体应用程序的框架。基本设计来自俄勒冈大学研究生院的视频管道以及DirectShow的一些想法。
GStreamer的开发框架使编写任何类型的流多媒体应用程序成为可能。GStreamer框架旨在简化编写处理音频或视频或两者的应用程序的过程。它不仅限于音频和视频,而且可以处理任何类型的数据流。流水线设计的开销要比应用的滤波器引起的开销小。这使GStreamer成为设计甚至对延迟有高要求的高端音频应用程序的良好框架。
GStreamer最明显的用途之一就是使用它来构建媒体播放器。GStreamer已经包括用于构建媒体播放器的组件,该媒体播放器可以支持多种格式,包括MP3,Ogg / Vorbis,MPEG-1 / 2,AVI,Quicktime,mod等。但是,GStreamer不仅仅是另一个媒体播放器。它的主要优点是可以将可插拔组件混合并匹配到任意管道中,从而可以编写完整的视频或音频编辑应用程序。
该框架基于将提供各种编解码器和其他功能的插件。插件可以链接并安排在管道中。该管道定义了数据流。管道也可以使用GUI编辑器进行编辑,并另存为XML,这样就可以以最小的努力来制作管道库。
GStreamer的核心功能是为插件,数据流和媒体类型处理/协商提供框架。它还提供了使用各种插件编写应用程序的API。
具体来说,GStreamer提供
- 多媒体应用程序的API
- 插件架构
- 管道架构
- 媒体类型处理/协商的机制
- 同步机制
- 超过250个插件提供了1000多个元素
- 一套工具
GStreamer插件可以分为
- 协议处理
- 来源:用于音频和视频(涉及协议插件)
- 格式:解析器,格式化程序,多路复用器,多路分解器,元数据,字幕
- 编解码器:编码器和解码器
- 滤镜:转换器,混音器,效果器,...
- 接收器:用于音频和视频(涉及协议插件)
GStreamer打包成
- gstreamer:核心软件包
- gst-plugins-base:基本的示例性元素集
- gst-plugins-good:LGPL下的一组高质量插件
- gst-plugins-ugly:一组高质量的插件,可能会带来发行问题
- gst-plugins-bad:一组需要更高质量的插件
- gst-libav:一组包装libav以进行解码和编码的插件
- 其他一些包
什么是GStreamer?的更多相关文章
- GStreamer 记录
GStreamer 是一个新的多媒体框架,大大简化了多媒体工具的开发流程,比如,这里有一个 IBM 的文档,介绍了一个 MP3 播放器. http://www.ibm.com/developerwor ...
- Linux No volume control GStreamer plugins and/or devices found
案例环境:Oracle Linux Server release 5.7 进入Oracle Linux系统后,在右上角点击声音图标时,则会弹出如下报错窗口: The volume control di ...
- [quote ]ffmpeg, gstreamer, Raspberry Pi, Windows Desktop streaming
[quote ]ffmpeg, gstreamer, Raspberry Pi, Windows Desktop streaming http://blog.pi3g.com/2013/08/ffmp ...
- ubuntu系统下安装gstreamer的ffmpeg支持
当您在安装gstreamer到您的ubuntu系统中时,为了更好地进行流媒体开发,需要安装ffmpeg支持,但一般情况下,直接使用 sudo apt-get install gstreamer0.10 ...
- Gstreamer基本概念介绍(开发前必读)
1. 元件(Elements) 元件(element)是GStreamer中最重要的概念.你可以通过创建一系列的元件(Elements),并把它们连接起来,从而让数据流在这个被连接的各个元件(Elem ...
- vlc/ffmepg/mplayer/gstreamer/openmax/mpc/ffdshow/directshow
一些应该学习的开源框架与库用途和差别 一.播放器层次 这个层次上,是直接可以用的软件,已经做完了一切工作,如果我们需要用他们,是不需要写一行代码的,编译通过就可以拿来使用了,对于国内这些山寨公司来说, ...
- Gstreamer 数据流线程(GstTask / GstTaskPool)分析
作者:fengcc 原创文章 转载请注明出处 GStreamer 是一个基于流水线的多媒体框架,基于 GObject,以 C 语言写成. 凭借 GStreamer,程序员可以很容易地创建各种多媒体功能 ...
- gstreamer让playbin能够播放rtp over udp流数据
最近一段时间在研究传屏低延迟传输相关的一些东西.本来想使用gstreamer来验证下rtp over udp传送h264 nal数据相关 的,结果发现竟然不能用playbin来播放rtp的数据!诚然, ...
- Gstreamer 中的playback插件
1. PLAYBACK插件基本介绍 在早期的版本中同时存在playbin和playbin2,但是在最新的版本中,playbin2已经稳定,取代了playbin, playbin不再进行维护.下面是官网 ...
- GStreamer Plugin: Embedded video playback halted; module decodebin20 reported: Your GStreamer installation is missing a plug-in.
标题是在Linux下使用系统yum install 的opencv库来获取视频帧的时候抛出来的错误消息.opencv调用了Gstream的API来处理了视频.错误抛出的代码如下图: http://ub ...
随机推荐
- hdu4561 连续最大积
题意: 连续最大积 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total ...
- hdu1722 切蛋糕
题意:CakeTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- Windows API初练手 -- 疯狂写文件代码
警告:恶作剧软件,慎用!仅供初学者研究代码所用!!! 提示:默认文件创建目录在"D:\test",如果需要使用的话请自行更改目录. 1. Windows API 版本 (调用系统函 ...
- PKI/CA与证书服务
目录 PKI CA RA LDAP目录服务 CRL证书作废系统 数字证书 证书验证 证书撤销 证书更新 PKI系统的构成 PKI PKI(Public Key Infrastructure)公钥基础设 ...
- 攻防世界Web刷题记录(进阶区)
攻防世界Web刷题记录(进阶区) 1.baby_web 发现去掉URLhttp://111.200.241.244:51461/1.php后面的1.php,还是会跳转到http://111.200.2 ...
- Beta设计和计划 —— NameNotFound
需求再分析 1. 用户群体 经过用户(大多数是同学)的反馈,我们发现大家其实并不是十分明确我们要做的到底是什么.具体要怎么用.而实际上我们的典型用户也并不是学生群体,因此出现这些偏差也是很正常的,毕竟 ...
- Docker网络,手把手教你如何实现容器网络相关知识
Docker网络 理解Docker0 清空所有环境 测试 三个网络 #问题:docker 是如何处理容器网络访问的? [root@hsStudy /]# docker run -d -P --name ...
- CSS3边界图片
目录 border-image border-image-slice border-image-width border-image-outset border-image-repeat border ...
- ELK学习实验019:ELK使用redis缓存
1 安装一个redis服务 [root@node4 ~]# yum -y install redis 直接启动 [root@node4 ~]# systemctl restart redis [roo ...
- vue2路由之指定滑动位置scrollBehavior-(载转)
看源码的时候看到这个属性: 新手自然不知道这个是什么东西了,查了下vue API: https://router.vuejs.org/en/advanced/scroll-behavior.html ...