skynet教程 gstreamer怎么看pipeline結(jié)構(gòu)?
gstreamer怎么看pipeline結(jié)構(gòu)?1,需要使用mad解碼插件,因此需要先安裝gstreamer0.10-plugins-ugly2,編寫mp3播放器下面來看看如何利用GStreamer框架
gstreamer怎么看pipeline結(jié)構(gòu)?
1,需要使用mad解碼插件,因此需要先安裝gstreamer0.10-plugins-ugly2,編寫mp3播放器下面來看看如何利用GStreamer框架提供的組件,來實(shí)現(xiàn)一個(gè)簡單的MP3播放器。數(shù)據(jù)源元件負(fù)責(zé)從磁盤上讀取數(shù)據(jù),過濾器元件負(fù)責(zé)對數(shù)據(jù)進(jìn)行解碼,而接受器元件則負(fù)責(zé)將解碼后的數(shù)據(jù)寫入聲卡。如果想要在程序中應(yīng)用GStreamer提供的各種功能,首先必須在主函數(shù)中調(diào)用gst_init()來完成相應(yīng)的初始化工作,以便將用戶從命令行輸入的參數(shù)傳遞給GStreamer函數(shù)庫。一個(gè)典型的GStreamer應(yīng)用程序的初始化如下所示:#include
gstreamer中那些gst-launch命令怎么轉(zhuǎn)換成c語言?
gst-launch**
首先你要建一個(gè)pipeline,然后根據(jù)gst-launch后面的插件,建立相應(yīng)的facotry就行了,類似這樣
source=gst_element_factory_make("filesrc","filesrc")
return_val_if_fail(source,F(xiàn)ALSE)
g_print("GoodsourceElementn")
GstElement*rtpmp2tdepay=gst_element_factory_make("rtpvp8depay",NULL)
if(!rtpmp2tdepay){
g_print("rtpmp2tdepay==NULLn")
}
最后到分流,建立相應(yīng)的pad,最后設(shè)置state
live555、jrtplib、ortp、gstreamer,用哪一個(gè)比較好呢?解決方法?
接收端想在WindowsPC機(jī)上觀看。
本人正在讀研,以前幾乎沒接觸網(wǎng)絡(luò)傳輸。看了很長時(shí)間的資料,看大家用的最多的就是live555和jrtplib了,但是這兩個(gè)都是用C 寫的,而我的采集和編碼都是用C語言寫的。至于ortp和gstreamer好像用的人不多。
------解決方案--------------------------------------------------------
服務(wù)器端使用live555、jrtplib,客戶端建議如果是windows建議使用DITRECTSHOW,是LINUX建議使用GSTREAMER,至于解碼使用ffmpeg就可以了
gstreamer與ffmpeg的顯示區(qū)別?
1 對Real Audio,Gstreamer輸出單位為Packet(包含多個(gè)frame),而Ffmpeg輸出單位frame。
2 對OGG,Gstreamer輸出vorbis的packet,包括前三個(gè)header packets;而Ffmpeg只輸出audio packets,通過extradata的方式來傳輸header packets。
3 對FLAC,Gstreamer先輸出metadata block,再輸出data block;而Ffmpeg只輸出data block
怎么用gstreamer實(shí)現(xiàn)滾動字幕?
說白了就是播放器不支持你這個(gè)格式,下一個(gè)影音先鋒試試
linux下如何用命令來播放歌曲?
你如果是想調(diào)用,你有好幾種選擇。Linux下面的解碼器很多的。比如ffmpeg,比如mplayer、gstreamer。ffmpeg只有解碼功能,開發(fā)調(diào)用你還需要自己寫輸出到聲卡的代碼。還有mplayer,他本身就可以直接拿來用,命令行程序,也可以作為后臺播放器,你寫控制界面來控制他的運(yùn)行。gstreamer一般都在圖形界面下面作為后臺解碼器,應(yīng)該他也能用在字符界面。這個(gè)是專門的解碼器,沒有自己的界面。相對來說對調(diào)用功能再開發(fā)的支持比較好。你如果開發(fā)圖形界面的播放器,首選還是gstreamer。