from: http://www.ibm.com/developerworks/cn/aix/library/au-gstreamer.html
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請域名、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、富順網(wǎng)站維護(hù)、網(wǎng)站推廣。多媒體,依照其定義,表示各種各樣的媒體類型。您可以各種格式存儲(chǔ)音頻、視頻和元數(shù)據(jù)。然而,這也就意味著要使用許多工具來處理這些不同的內(nèi)容。
GStreamer 可以為您提供幫助。通過將所有不同的工具和庫隱藏到它的插件中,以及使用媒體管道 這個(gè)一般性概念,GStreamer 能以一種統(tǒng)一的方式表示對不同類型媒體所進(jìn)行的操作。這使得您能夠?qū)⒕杏诂F(xiàn)有的媒體,而不是困惑于究竟應(yīng)該使用什么樣的管道。
這種統(tǒng)一處理方法的優(yōu)點(diǎn)顯而易見。您可以編寫音樂 或視頻 播放器,而不是編寫 MP3 播放器或者 AVI/DivX 播放器。當(dāng)您希望支持另一種格式時(shí),無需進(jìn)行深入的研究并為新的庫編寫代碼。相反,僅需要安裝這種格式的插件就可以了。就是這么簡單,甚至不需要進(jìn)行重新編譯。所有的 GStreamer 應(yīng)用程序都可以在運(yùn)行的過程中采用新的格式。
GStreamer 可以解決許多問題,比如"需要存儲(chǔ)來自不同來源具有相同格式的所有音頻采樣"。因?yàn)閷λ械母袷竭M(jìn)行相似的處理,所以您只需要編寫一個(gè)工具。這將節(jié)省時(shí)間,并使得解決方案更加健壯且更易于維護(hù)。而且,在您了解了 GStreamer 的相關(guān)概念之后,幾乎可以將它應(yīng)用到任何地方。如果您要讓音頻信息流經(jīng)網(wǎng)絡(luò),那么只需要考慮這個(gè)網(wǎng)絡(luò),因?yàn)槟褂玫囊纛l API(應(yīng)用程序編程接口)和所有其他的操作都保持不變。
相關(guān)概念
由于其本身的特性,GStreamer 比普通的庫位于更高的層次。因此,務(wù)必理解 GStreamer 究竟是什么以及它能夠完成哪些工作。
GStreamer 是一種媒體處理庫。這就意味著,它為您提供了某種轉(zhuǎn)換過程的抽象模型(由輸入、輸出和不同的階段組成),并且允許您為滿足特殊的最終結(jié)果和特殊的媒體類型而構(gòu)建這種轉(zhuǎn)換過程的實(shí)例。下面是這種處理過程的一些示例:
為了實(shí)現(xiàn)這些不同的結(jié)果,GStreamer 通過抽象的管道概念進(jìn)行工作。管道 是一個(gè)有向圖,媒體在這個(gè)有向圖中從輸入流到輸出。管道由各種元素組成,而元素則是另一個(gè)核心概念。元素 是可以放入到管道中的對象,其中包裝了對媒體進(jìn)行的某種操作。您可以將不同的元素鏈接在一起,以使它們共同組成將輸入轉(zhuǎn)換為需要的輸出的完整處理過程。通常,使用從左(上游)到右(下游)的數(shù)據(jù)流來對管道進(jìn)行描述。使用 gst-launch 以同樣的方式來編寫管道,關(guān)于 gst-launch 的內(nèi)容將在本文后面介紹。
請務(wù)必注意,到目前為止,所有的內(nèi)容都是完全抽象的。沒有涉及到視頻或音頻,之所以這樣做,有一個(gè)很好的理由。上面描述的模型并不局限于任何特定的媒體類型。只要您可以將其描述為輸入、輸出和轉(zhuǎn)換過程,就都可以利用管道來對其進(jìn)行操作。例如,桌面可以作為媒體來源,您可以錄制對視頻文件的屏幕播放。事實(shí)上,Istanbul 應(yīng)用程序正是這樣做的(請參見參考資料部分)。
GStreamer 的核心本身并不包含任何元素。它只提供關(guān)于管道的知識(shí)。而所有特定的內(nèi)容,都由相應(yīng)的插件提供。插件 是一段經(jīng)過編譯的代碼,通常以對象文件(UNIX 上的 .so 和Microsoft Windows 上的 .dll)的形式分發(fā),可以提供一個(gè)或多個(gè)元素。在啟動(dòng)過程中,GStreamer 對所有已安裝的插件進(jìn)行查詢,以獲取可用于應(yīng)用程序的一組元素。插件通??梢哉{(diào)用其他的庫,以完成特定的任務(wù)(例如,MPEG-2 ×××可以使用現(xiàn)有的庫來處理 MPEG 格式的信息),但是應(yīng)用程序并不需要知道這一點(diǎn)。它所看到的只是一些外觀和工作方式相同的元素。
有些插件以核心源包的形式分發(fā),并且將其編譯為庫,甚至從概念上看,它們是一些獨(dú)立的實(shí)體。其他的基本插件以基于 gst 插件包的形式分發(fā)。在大多數(shù)的 GStreamer 安裝中,都包含這些基本插件。然后還有一些好的、差的和糟糕的 gst 插件包,其中,根據(jù)這些不同的插件得到的支持級(jí)別和許可條款對其進(jìn)行收集。最后,還有一些由第三方供應(yīng)商分發(fā)或注冊專門用于特定應(yīng)用程序的插件。
融會(huì)貫通
既然已經(jīng)了解了管道,您就還需要了解如何將它映射為 GStreamer 實(shí)現(xiàn)。在此過程中,您還將了解到更多的術(shù)語。
為什么要交換源和接收器呢?實(shí)際上并沒有對它們進(jìn)行交換。接收單元是數(shù)據(jù)流進(jìn)入元素的地方,而源單元是數(shù)據(jù)流產(chǎn)生的地方。因此,只包含源單元的元素稱為源,而只包含接收單元的元素稱為接收器。這是非常符合邏輯的,即使乍看上去可能有些別扭。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:使用GStreamer進(jìn)行多用途的多媒體處理-創(chuàng)新互聯(lián)
URL地址:http://jinyejixie.com/article24/ddesje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計(jì)公司、定制開發(fā)、ChatGPT、小程序開發(fā)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容