什么是GStreamer?
什么是GStreamer?
GStreamer是用于創(chuàng)建流媒體應(yīng)用程序的框架。基本設(shè)計來自俄勒岡大學(xué)研究生院的視頻管道以及DirectShow的一些想法。
GStreamer的開發(fā)框架使編寫任何類型的流多媒體應(yīng)用程序成為可能。GStreamer框架旨在簡化編寫處理音頻或視頻或兩者的應(yīng)用程序的過程。它不僅限于音頻和視頻,而且可以處理任何類型的數(shù)據(jù)流。流水線設(shè)計的開銷要比應(yīng)用的濾波器引起的開銷小。這使GStreamer成為設(shè)計甚至對延遲有高要求的高端音頻應(yīng)用程序的良好框架。
GStreamer最明顯的用途之一就是使用它來構(gòu)建媒體播放器。GStreamer已經(jīng)包括用于構(gòu)建媒體播放器的組件,該媒體播放器可以支持多種格式,包括MP3,Ogg / Vorbis,MPEG-1 / 2,AVI,Quicktime,mod等。但是,GStreamer不僅僅是另一個媒體播放器。它的主要優(yōu)點是可以將可插拔組件混合并匹配到任意管道中,從而可以編寫完整的視頻或音頻編輯應(yīng)用程序。
該框架基于將提供各種編解碼器和其他功能的插件。插件可以鏈接并安排在管道中。該管道定義了數(shù)據(jù)流。管道也可以使用GUI編輯器進行編輯,并另存為XML,這樣就可以以最小的努力來制作管道庫。
GStreamer的核心功能是為插件,數(shù)據(jù)流和媒體類型處理/協(xié)商提供框架。它還提供了使用各種插件編寫應(yīng)用程序的API。
具體來說,GStreamer提供
? 多媒體應(yīng)用程序的API
? 插件架構(gòu)
? 管道架構(gòu)
? 媒體類型處理/協(xié)商的機制
? 同步機制
? 超過250個插件提供了1000多個元素
? 一套工具
GStreamer插件可以分為
? 協(xié)議處理
? 來源:用于音頻和視頻(涉及協(xié)議插件)
? 格式:解析器,格式化程序,多路復(fù)用器,多路分解器,元數(shù)據(jù),字幕
? 編解碼器:編碼器和解碼器
? 濾鏡:轉(zhuǎn)換器,混音器,效果器,…
? 接收器:用于音頻和視頻(涉及協(xié)議插件)
GStreamer打包成
? gstreamer:核心軟件包
? gst-plugins-base:基本的示例性元素集
? gst-plugins-good:LGPL下的一組高質(zhì)量插件
? gst-plugins-ugly:一組高質(zhì)量的插件,可能會帶來發(fā)行問題
? gst-plugins-bad:一組需要更高質(zhì)量的插件
? gst-libav:一組包裝libav以進行解碼和編碼的插件
? 其他一些包
總結(jié)
以上是生活随笔為你收集整理的什么是GStreamer?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gst-crypto GStreamer
- 下一篇: WebRTC框架中的硬件加速