什么是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?的更多相关文章

  1. GStreamer 记录

    GStreamer 是一个新的多媒体框架,大大简化了多媒体工具的开发流程,比如,这里有一个 IBM 的文档,介绍了一个 MP3 播放器. http://www.ibm.com/developerwor ...

  2. Linux No volume control GStreamer plugins and/or devices found

    案例环境:Oracle Linux Server release 5.7 进入Oracle Linux系统后,在右上角点击声音图标时,则会弹出如下报错窗口: The volume control di ...

  3. [quote ]ffmpeg, gstreamer, Raspberry Pi, Windows Desktop streaming

    [quote ]ffmpeg, gstreamer, Raspberry Pi, Windows Desktop streaming http://blog.pi3g.com/2013/08/ffmp ...

  4. ubuntu系统下安装gstreamer的ffmpeg支持

    当您在安装gstreamer到您的ubuntu系统中时,为了更好地进行流媒体开发,需要安装ffmpeg支持,但一般情况下,直接使用 sudo apt-get install gstreamer0.10 ...

  5. Gstreamer基本概念介绍(开发前必读)

    1. 元件(Elements) 元件(element)是GStreamer中最重要的概念.你可以通过创建一系列的元件(Elements),并把它们连接起来,从而让数据流在这个被连接的各个元件(Elem ...

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

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

  7. Gstreamer 数据流线程(GstTask / GstTaskPool)分析

    作者:fengcc 原创文章 转载请注明出处 GStreamer 是一个基于流水线的多媒体框架,基于 GObject,以 C 语言写成. 凭借 GStreamer,程序员可以很容易地创建各种多媒体功能 ...

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

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

  9. Gstreamer 中的playback插件

    1. PLAYBACK插件基本介绍 在早期的版本中同时存在playbin和playbin2,但是在最新的版本中,playbin2已经稳定,取代了playbin, playbin不再进行维护.下面是官网 ...

  10. 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 ...

随机推荐

  1. vue页面之间数据的传递

    vue是由一个个组件组合而成的页面,今天我们就来说一下页面之间数据的传递. 我们经常会在后台管理系统看到用户详情,有添加用户和编辑用户.有时候我们的添加和编辑是在同一页面上以模态框的形式展现的,但有的 ...

  2. Dalvik模式下在Android so库文件.init段、.init_array段构造函数上下断点

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/78244766 在前面的博客<在Android so文件的.init..ini ...

  3. 逆向 stdio.h 函数库 fwrite 函数(调试版本)

    0x01 fwrite 函数 函数原型: size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) 函数功能:把 ...

  4. MS06-040漏洞研究(上)【转载】

    课程简介 我在之前的课程中讨论过W32Dasm这款软件中的漏洞分析与利用的方法,由于使用该软件的人群毕竟是小众群体,因此该漏洞的危害相对来说还是比较小的.但是如果漏洞出现在Windows系统中,那么情 ...

  5. SqlServer 数据库配置远程桌面

    1.是否开启远程桌面,1表示关闭,0表示开启 EXEC master..xp_regread 'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Contro ...

  6. mimikatz的使用

    mimikatz mimikatz是法国人Gentil Kiwi编写的一款Windows平台下的神器,它具备很多功能,其中最主要的功能是直接从 lsass.exe 进程里获取处于active状态账号的 ...

  7. 【axios】get/post请求params/data传参总结

    axios中get/post请求方式 1. 前言 最近突然发现post请求可以使用params方式传值,然后想总结一下其中的用法. 2.1 分类 get请求中没有data传值方式 2.2 get请求 ...

  8. Java中实现SAX解析xml文件到MySQL数据库

    大致步骤: 1.Java bean 2.DBHelper.java 3.重写DefaultHandler中的方法:MyHander.java 4.循环写数据库:SAXParserDemo.java ① ...

  9. 1.HTML入门

    1.1 初识HTML 1.1.1 概述 网络世界已经跟我们息息相关,当我们打开一个网站,首先映入眼帘的就是一个个华丽多彩的网页.这些网页,不仅呈现着基本的内容,还具备优雅的布局和丰富的动态效果,这一切 ...

  10. ajax 异步无刷新点改

    <button class="status" t_id="{{$v->id}}">{{$v->status}}</button&g ...