2013-04-09 146 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