gstreamer 插件開(kāi)發(fā)指南

gstreamer 插件開(kāi)發(fā)指南

ID:2001310

大?。?00.50 KB

頁(yè)數(shù):77頁(yè)

時(shí)間:2017-11-14

gstreamer 插件開(kāi)發(fā)指南_第1頁(yè)
gstreamer 插件開(kāi)發(fā)指南_第2頁(yè)
gstreamer 插件開(kāi)發(fā)指南_第3頁(yè)
gstreamer 插件開(kāi)發(fā)指南_第4頁(yè)
gstreamer 插件開(kāi)發(fā)指南_第5頁(yè)
資源描述:

《gstreamer 插件開(kāi)發(fā)指南》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

1、GStreamer插件開(kāi)發(fā)指南(0.10.9.1)I.介紹GStreamer是一個(gè)用來(lái)創(chuàng)建流媒體應(yīng)用程序的非常強(qiáng)大和通用的框架。GStreamer框架的許多優(yōu)點(diǎn)來(lái)源于它的模塊性:GStreamer可以無(wú)縫地接納新的插件模塊。但是由于模塊性和強(qiáng)大的功能通常以極高的復(fù)雜性為代價(jià)(例如CORBA),編寫(xiě)一個(gè)新的插件并不總是一件簡(jiǎn)單的事。本手冊(cè)旨在幫助你了解GStreamer的框架0.10.9.1版)以便你能夠開(kāi)發(fā)新的插件來(lái)擴(kuò)展當(dāng)前的功能。本手冊(cè)通過(guò)用C語(yǔ)言開(kāi)發(fā)一個(gè)示例插件──一個(gè)音頻過(guò)濾器──來(lái)定位大多數(shù)問(wèn)題。然而,接下來(lái)的部分會(huì)通過(guò)編寫(xiě)其它

2、類(lèi)型的插件引入另一些問(wèn)題,在本手冊(cè)的結(jié)尾介紹了一些GStreamer的Python綁定。目錄1.前言1.1.GStreamer是什么?1.2.誰(shuí)應(yīng)該讀該指南?1.3.預(yù)備知識(shí)1.4.該指南的結(jié)構(gòu)2.基本知識(shí)2.1.元件(Elements)和插件(Plugins)2.2.襯墊(Pads)2.3.數(shù)據(jù)(Data),緩沖區(qū)(Buffers)和事件(Events)2.3.1.緩沖區(qū)分配2.4.MIME類(lèi)型(Mimetypes)和屬性2.4.1.基本類(lèi)型Chapter1.前言1.1.GStreamer是什么?GStreamer是一個(gè)創(chuàng)建流媒體應(yīng)用

3、程序的框架。其基本設(shè)計(jì)思想來(lái)自于俄勒岡(Oregon)研究生學(xué)院有關(guān)視頻管道的創(chuàng)意,同時(shí)也借鑒了DirectShow的設(shè)計(jì)思想。GStreamer的開(kāi)發(fā)框架使它有可能被用來(lái)編寫(xiě)任何類(lèi)型的流媒體應(yīng)用程序。基于GStreamer的程序開(kāi)發(fā)框架使得編寫(xiě)任意類(lèi)型的流媒體應(yīng)用程序成為了可能。在編寫(xiě)處理音頻、視頻或者兩者皆有的應(yīng)用程序時(shí),GStreamer可以讓你的工作變得簡(jiǎn)單。GStreamer并不受限于音頻和視頻處理,它能夠處理任意類(lèi)型的數(shù)據(jù)流。管道的設(shè)計(jì)對(duì)于一般應(yīng)用的濾鏡(filter)綽綽有余。這使得GStreamer成為一個(gè)優(yōu)秀的框架,它

4、甚至可以用來(lái)設(shè)計(jì)出對(duì)延時(shí)有很高要求的高端音頻應(yīng)用程序。GStreamer最顯著的用途是在構(gòu)建一個(gè)播放器上。GStreamer已經(jīng)支持很多格式的文件了,包括:MP3,Ogg/Vorbis,MPEG-1/2,AVI,Quicktime,mod等等。從這個(gè)角度看,GStreamer更象是一個(gè)播放器。但是它主要的優(yōu)點(diǎn)確是在于:它的可插入組件能夠很方便的接入到任意的管道當(dāng)中。這個(gè)優(yōu)點(diǎn)使得利用GStreamer編寫(xiě)一個(gè)萬(wàn)能的可編輯音視頻應(yīng)用程序成為可能。GStreamer框架是基于插件的,有些插件中提供了各種各樣的多媒體數(shù)字信號(hào)編解碼器,也有些提供

5、了其他的功能。所有的插件都能夠被鏈接到任意的已經(jīng)定義了的數(shù)據(jù)流管道中。GStreamer的管道能夠被GUI編輯器編輯,能夠以XML文件來(lái)保存。這樣的設(shè)計(jì)使得管道程序庫(kù)的消耗變得非常少。GStreamer核心庫(kù)函數(shù)是一個(gè)處理插件、數(shù)據(jù)流和媒體操作的框架。GStreamer核心庫(kù)還提供了一個(gè)API,這個(gè)API是開(kāi)放給程序員使用的---當(dāng)程序員需要使用其他的插件來(lái)編寫(xiě)他所需要的應(yīng)用程序的時(shí)候可以使用它。1.2.誰(shuí)應(yīng)該讀該指南?該指南敘述了如何為GStreamer編寫(xiě)新的模塊。本指南針對(duì)以下幾種人:·那些想給GStreamer增加新的數(shù)據(jù)處理方

6、法的人。例如,可能有人想創(chuàng)建一個(gè)新的可見(jiàn)的工具---數(shù)據(jù)類(lèi)型轉(zhuǎn)換器,或者新的編碼器或者解碼器?!つ切┫胫С中碌妮斎胼敵鲈O(shè)備的人。例如:某人可能會(huì)想增加將數(shù)據(jù)輸出到新的視頻輸出系統(tǒng)或從一個(gè)數(shù)碼相機(jī)或耳機(jī)中讀取數(shù)據(jù)的功能。·那些想通過(guò)任何方法擴(kuò)展GStreamer的人。你必須事先了解插件系統(tǒng)是如何工作的,這樣你才能知道插件系統(tǒng)對(duì)其它代碼有什么限制。讀完了該手冊(cè),你也許會(huì)因?yàn)椴寮梢宰鋈绱硕嗟氖露械襟@訝。如果你只是想使用GStreamer的已有功能,或者只想使用那些基于GStreamer程序,那么你可以不用再看下去了。如果你只關(guān)注與使用現(xiàn)有

7、的插件去便寫(xiě)新的程序──現(xiàn)在有許多這樣的插件──你也許想看的是《GStreamer應(yīng)用程序開(kāi)發(fā)手冊(cè)》如果你只是想獲得那些基于GStreamer的程序的幫助,那么你應(yīng)該查看那些程序的用戶(hù)手冊(cè)。1.3.預(yù)備知識(shí)該指南假定你已經(jīng)稍微了解了GStreamer的基本工作原理。你也許希望首先閱讀《GStreamer應(yīng)用程序開(kāi)發(fā)手冊(cè)》,以便獲得對(duì)GStreamer編程概念的了解。另外,不要忘了查看GStreamer網(wǎng)站上的已有文檔。為了理解這份手冊(cè),你必須對(duì)C語(yǔ)言有一個(gè)基本的了解。因?yàn)镚Streamer是基于GObject編程模型,所以本指南假定你也

8、已經(jīng)對(duì)GObject編程有了一個(gè)基本的了解。你或許也想看一下EricHarlow's的《DevelopingLinuxApplicationswithGTK+andGDK》一書(shū)。1.4.該指南的結(jié)構(gòu)為了幫助

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。