2013-04-09 109 views
0

我遇到了OpenCV的Python包裝器的奇怪問題。我正在使用cv2綁定,並已經能夠做很多事情,但最新的問題是我無法創建一個VideoWriterPython OpenCV不支持編解碼器

當我嘗試使用這個命令來創建一個視頻作者:

cv2.VideoWriter('foo.out.mov', cv2.cv.CV_FOURCC('m','p','4','v'), 25, (704, 480), 1) 

我收到以下錯誤:

error: /builddir/build/BUILD/OpenCV-2.3.1/modules/highgui/src/cap_gstreamer.cpp:483:  error: (-210) Gstreamer Opencv backend doesn't support this codec acutally. in function CvVideoWriter_GStreamer::open 

當使用read方法創建一個VideoCapture我可以成功地檢索幀,但任何調用get方法來檢索參數(如幀寬度,幀高度或FOURCC代碼)都將返回0.0

我想從我打開的文件中獲取確切的編解碼器,將其傳入VideoWriter,但由於這隻返回0.0,我不知道該怎麼辦。

任何幫助將不勝感激。

回答

0

嘗試傳遞-1作爲fourcc參數。這應該彈出一個對話框,讓你選擇一個視頻編解碼器。我以這種方式使用它,並且效果很好。

cv2.VideoWriter('foo.out.mov', -1, 25, (704, 480), 1) 
+0

請注意,它僅適用於Windows。 – cyriel 2013-04-09 14:39:16

+0

很抱歉,請回復您。你的解決方案不像我在Linux中那樣工作,但是我可以通過完全重新安裝OpenCV來完成這個工作。 – dvreed77 2013-04-14 04:24:42