• 什么是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以进行解码和编码的插件
    • 其他一些包
    人工智能芯片与自动驾驶
  • 相关阅读:
    第七节:详细讲解Java中的日期,java.util.date
    第七节:详细讲解Java中的日期,java.util.date
    第六节:详细讲解Java中的装箱与拆箱及其字符串
    第六节:详细讲解Java中的装箱与拆箱及其字符串
    第五节:详细讲解Java中的接口与继承
    第五节:详细讲解Java中的接口与继承
    第四节:详细讲解Java中的类和面向对象思想
    第四节:详细讲解Java中的类和面向对象思想
    第三节:带你详解Java的操作符,控制流程以及数组
    第三节:带你详解Java的操作符,控制流程以及数组
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14204589.html
Copyright © 2020-2023  润新知