什么是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以進行解碼和編碼的插件
  • 其他一些包

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM