2013-11-21 110 views
1

我遵循these指令来安装python的opencv(即将pyd文件复制到站点包)。它工作正常,但OpenCV的不能打开的视频文件我试图打开:Windows下的opencv编解码器

capture = cv2.VideoCapture("some_file.avi") 
capture.isOpened() # False 

我试着用H264和MPEG2编码视频都没有成功。 Windows 7 x64,32位Python 2.7.5和opencv 2.4.7。所以这可能意味着opencv无法找到正确的编解码器,但我确信opencv_ffmpeg247.dll正在路径中。

+0

这解决了我的问题:http://stackoverflow.com/questions/11699298/opencv-2-4-videocapture-not-working-on-windows – Paul

回答

1

从仓库中安装newest FFmpeg available

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg 

你已经安装的版本可能不是与OpenCV的2.4.7兼容。测试这个假设的最简单方法是将OpenCV降级到版本2.4.5。

并记住:cv2.VideoCapture("some_file.avi")只有在some_file.avi与您的源代码位于同一目录下才会成功。如果情况并非如此,则应使用文件的完整路径!

我想从这个论坛报价another post

您的问题的原因可能是错误#2281:VideoCapture::read fails on uncompressed video

无论如何,请尝试OpenCV 2.4.5并让我们知道它是否工作。

+0

是的我期望一个只能打开一个文件的调用如果该文件实际存在,则成功;)(更严重的是:正常调用open()可以正常工作,我也尝试了绝对路径)。我正在使用opencv附带的ffmpeg dll,那么为什么这些失败,而最新的成功?如果没有一个真正的理由来解释为什么这会有所帮助,那么并不是真的期望在windows下编译任何更大的C库。 – Voo

+0

最简单的路径是回到2.4.5。这样做,并告诉我它是如何去的。 ;) – karlphillip

+0

显然是opencv 2.4.7中的一个bug。它附带一个ffmpeg dll,它与其发货的python模块不兼容。我假设我应该为这个问题提出一个bug *,并回到2.4.5修复了这个问题。只要SO让我回报,平常的游戏 - 赏金就会得到回报。 – Voo

相关问题