2009-10-16 138 views
10

我想編寫一個需要播放跟蹤結果的對象跟蹤程序。由於gstreamer是一個很好的多媒體框架,我想在演示程序中使用它。但我不知道如何實現視頻顯示的細節。任何人都可以幫忙嗎?如何使用gstreamer顯示avi視頻?

Avidemux插件可以將音頻和視頻部分與avi文件分開,但接下來要做什麼?

如果我打開一個未壓縮的avi文件,如果我直接將avidemux插件的輸出板連接到視頻接收器,它是否工作?

順便說一句,哪個視頻接收器在效率方面更好? 我擡頭看插件參考,發現了很多視頻接收器:glimagesink,osxvideosink,sdlvideosink,ximagesink,xvimagesink,dfbvideosink,fbdevsink,gconfvideosink autovideosink總是工作正常嗎?我的平臺是Ubuntu 9.04。

TIA〜

回答

13

正如Nick Hadded所言,playbin或decodebin是一個很好的開始。對於實驗我建議用消費稅推出,例如:

gst-launch filesrc location=video.avi ! 
decodebin2 name=dec ! queue ! ffmpegcolorspace ! autovideosink 
dec. ! queue ! audioconvert ! audioresample ! autoaudiosink 

我使用autoaudiosink和autovideosink因爲他們平時的工作。當您找到可以工作的管道時,嘗試使用代碼構建相同的管道。如果你不需要音頻,只需跳過這部分流水線。對於視頻顯示,最好的選擇是xvimagesink(至少在UNIX上)。

+0

問題:其他人可能會有「如何使用Gstreamer顯示MPEG2/MPEG4視頻」答案是:gst-launch filesrc location =/tmp/filmfr2.mpg! decodebin2 name = dec!隊列! ffmpegcolorspace! autovideosink dec。 !隊列! audioconvert! audioresample! autoaudiosink – YumYumYum 2011-09-22 18:27:47