Windows下快速配置gstreamer開發環境
杜晶 2010-07-21上海
本文採用OSSBuild快速構建Windows下的GStreamer開發環境,如果想要使用Gtk來開發的朋友們可以參照其他博文。
(本文的完整環境下載)
1.安裝GStreamer-WinBuilds-GPL-x86.msi,採用預設組件選項(全裝),安裝路徑中最好不要有空格。
2.做開發的才需安裝GStreamer-WinBuilds-SDK-GPL-x86.msi,採用預設組件選項(全裝),安裝路徑被強制在運行時路徑的sdk子目錄下。
3.把python26.dll複製到 <gst程式目錄>/v0.10.6/bin下。剛開始我就是沒有複製這個,一運行自己寫的測試應用程式總報如下錯誤,折騰了2天啊:
** (gst-launch-0.10:3528): WARNING **: Failed to loadplugin 'C:/GStreamer/v0.10
.6/lib/gstreamer-0.10/libgstpython-v2.6.dll': `C:/GStreamer/v0.10.6/lib/gstreame
r-0.10/libgstpython-v2.6.dll': 找不到指定的模組。
使用gst-launch.exe命令也會報上述錯誤,並且彈出如下對話方塊:
4.安裝gst-ffmpeg-0.10.2.exe,安裝時注意點開 Show details按鈕,如,注意裡面的dll和目的路徑:
將libgstffmpeg.dll複製到<gst程式目錄>/v0.10.6/lib/gstreamer-0.10下,並將avcodec-51.dll,avformat-51.dll,avutil-49.dll複製到
c:/window/system32 下(即系統目錄%system32%)。
這個東西折騰了我一天,如果不這麼做,一運行自己寫的測試應用程式總報Cann't create player。使用gst-launch.exe命令,則會報如下錯誤:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQueue:queu
e1: Internal data flow error.
Additional debug info:
../../../Source/gstreamer/plugins/elements/gstqueue.c(1212):gst_queue_loop ():
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQueue:queue1:
streaming task paused, reason not-linked (-1)
ERROR: pipeline doesn't want to
preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
這些都說明沒有找到合適的解碼器導致鏈路沒有連結成功,所以需要裝上ffmpeg forGstreamer,而僅拷貝libgstffmpeg.dll,一運行自己寫的測試應用程式還會報如下錯誤:
** (gst-launch-0.10:4324): WARNING **: Failed to loadplugin 'C:/GStreamer/v0.10
.6/lib/gstreamer-0.10/libgstffmpeg.dll': `C:/GStreamer/v0.10.6/lib/gstreamer-0.1
0/libgstffmpeg.dll': 找不到指定的模組。
使用gst-launch.exe命令也會報上述錯誤,並且彈出如下對話方塊:
5.做完上述四步,我們的gst環境就基本配置好了,把一個完好的avi檔案放在c:/sun.avi(下載後將尾碼改名為avi即可),如果使用下面命令可以看到下面的就就說明環境配置正確完成了:
gst-launchfilesrc location= C://sun.avi !
decodebin !
ffmpegcolorspace !
autovideosink
快!上手跑個應用程式試試吧,是不是很興奮?
綜上,關鍵要注意:
gst-ffmpeg-0.10.2.exe安裝時看細節。
命令列:gst-launchfilesrc
location= C://sun.avi ! decodebin !
ffmpegcolorspace !
autovideosink
如何配置VC編譯簡單工程,請參見我部落格裡 轉載的《windows下gstreamer軟體開發環境的搭建過程》一文。