什么是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 Multiplatform
多平台Gstreamer Multiplatform GStreamer可在所有主要操作系统上运行,例如Linux,Android,Windows,Max OS X,iOS,以及大多数BSD,商业Un ...
- GStreamer 1.18.4稳定的错误修复版本
GStreamer 1.18.4稳定的错误修复版本 GStreamer团队宣布最喜欢的跨平台多媒体框架的稳定的1.18版本系列中的另一个错误修复版本! 此版本仅包含错误修复和重要的安全修复程序,并且从 ...
- gst-crypto GStreamer插件
gst-crypto GStreamer插件 内容 • 1. gst-crypto概述 o 1.1gst-crypto GStreamer插件功能 o 1.2用例范例 • 2. GStreamer插件 ...
- GStreamer跨平台多媒体框架
GStreamer跨平台多媒体框架 Gstreamer基本概念 GStreamer是用于构造媒体处理组件图的库.它支持的应用程序范围从简单的Ogg / Vorbis回放,音频/视频流到复杂的音频(混合 ...
- GStreamer 1.0 series序列示例
GStreamer 1.0 series序列示例 OpenEmbedded layer for GStreamer 1.0 这layer层为GStreamer 1.0框架提供了非官方的支持,用于Ope ...
- 【GStreamer】官网基本教程学习(basic-tutorial)
目录 下载和编译 basic-tutorial-1.c 直接创建管道播放视频 basic-tutorial-2.c 创建元件-->装入管道-->连接元件 0.gstreamer 函数调用顺 ...
- 【GStreamer】使用capsfilter设置x264enc中的profile级别
1.问题描述 在[GStreamer]在x264enc中设置profile级别中,通过设置x264enc的属性,只将profile由high级别切换到main,但是在切换到baseline时,失败了. ...
- 【GStreamer】在x264enc中设置profile级别
1.问题描述 在使用GStreamer生成h.264的rtmp流时,不知道怎么设置h.264的profile级别.默认一直是"high": video/x-h264, ... pr ...
- 【GStreamer】gstreamer工具详解之:gst-discoverer-1.0
四.gst-discoverer-1.0 1.简介 gst-discoverer-1.0用于显示文件元数据和流信息,它可以运行在单独的文件或整个目录(递归到子目录中). 2.命令格式: gst-dis ...
最新文章
- 强大的SPGridView
- [驱动注册]platform_driver_register()与platform_device_register()
- 验证用户身份Filter过滤器
- 计算机用户的特点,计算机应用基础 Windows的主要特点
- B站Up主上传质量调优实践
- 14-项目开发总结报告(GB8567——88)
- 最佳调度问题(SSOJ-2367)
- lcy mysql爆破_Lcy’s Blog
- 四、docker-compose的编程模版
- 怎样让超星图书浏览器不会过期 (转)
- 关于需求确认的重要性
- 【复现】CNVD-2020-10487-Tomcat-Ajp-lfi
- table.render 中 cols 属性 【【问题】】
- 英特尔为RRP物联网平台项目预留1亿美元开发资金
- 拓扑学+计算机,拓扑学是什么
- 线性代数之——行列式公式及代数余子式
- 又一个悲伤的事件!8.25浙江美女滴滴遇害!一而再,难道还要再而三吗?
- 一文带你全方位(架构,原理及代码实现)了解Flink(3.2W字建议收藏)
- CydiaSubstrate框架
- 公式法和枚举法求满射函数的个数
热门文章
- 2022-2028年中国高密度聚乙烯(HDPE)行业市场发展调研及投资前景分析报告
- 2022-2028年中国氟膜行业市场全景评估及发展策略分析报告
- System.Data.SqlClient.SqlException:“ ',' 附近有语法错误。必须声明标量变量 @Password。”
- 汇编语言将数据、代码、栈放入不同段基础
- LeetCode简单题之托普利茨矩阵
- 如何使用TVM Pass Relay
- TensorFlow文本情感分析实现
- 构建可扩展的GPU加速应用程序(NVIDIA HPC)
- 无监督域对抗算法:ICCV2019论文解析
- Django celery6.4