zoukankan      html  css  js  c++  java
  • 什么是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以进行解码和编码的插件
    • 其他一些包
    人工智能芯片与自动驾驶
  • 相关阅读:
    P4556 [Vani有约会]雨天的尾巴
    [模拟赛20180809] 旅程
    【jzoj3464】秀姿势
    【noip2013】火柴排队
    做运动
    【noip2013】花匠
    【noip2016】愤怒的小鸟
    【bzoj4326】【noip2015】运输计划
    作业二:个人编程项目——编写一个能自动生成小学四则运算题目的程序
    自我介绍
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14204589.html
Copyright © 2011-2022 走看看