繁体   English   中英

无法在Windows 7机器中使用OpenCV 2.4.3,Python 2.7打开“.mp4”视频文件

[英]Cannot open “.mp4” video files using OpenCV 2.4.3, Python 2.7 in Windows 7 machine

我目前正在开展一个涉及阅读mp4视频文件的项目。 我遇到的问题是它在Windows 7机器中使用Python 2.7(32位),OpenCV 2.4.3(cv2.pyd)。

代码段如下:

try:
        video = cv2.VideoCapture("video.mp4")
except:
        print "Could not open video file"
        raise
print video.grab()

video.grab() ”总是返回false:意味着它不会读取文件“ video.mp4 ”但是当我们尝试这个时:

try:
        video = cv2.VideoCapture("video.avi")
except:
        print "Could not open video file"
        raise
print video.grab()

video.grab() ”返回true:表示它能够读取“ .avi ”文件。

另一个是我们在Linux和Mac上试过这个相同的片段,它看起来工作正常,这意味着它能够读取mp4文件和avi文件。

这个问题类似于这个问题这个问题 两者仍然没有明确和可行的答案。

除了使用Linux或Mac进行编程之外,我将不胜感激任何帮助或解决方法,因为我需要在所有三个系统上工作。

之前我遇到过同样的问题,通过这一步解决了:

检查你的OpenCV python版本

>>> from cv2 import __version__
>>> __version__
'2.4.0'

然后将opencv_ffmpeg.dll复制到C:\\Python27\\并将其重命名为与OpenCV Python版本相关的。 在我的情况下,我不得不将其重命名为opencv_ffmpeg240.dll

更新:在Windows上,您可以在OpenCV安装的build文件夹中找到opencv_ffmpeg DLL。 例如: C:\\dev\\opencv\\build\\x86\\vc12\\bin

然后,只需将opencv_ffmpeg<version>.dll文件复制并粘贴到Python安装的根文件夹中即可。

我在Windows 7操作系统下使用OpenCV版本2.4.11和Python 2.7遇到了这个问题。 我无法打开和操作mp4文件,但能够打开avi文件。

在我的情况下,解决方案是从我的OpenCV安装的build文件夹中复制opencv_ffmpeg2411.dll文件,并将其粘贴到我的Python安装的根文件夹中。 因此,在我的情况下,DLL文件位于“C:\\ dev \\ opencv \\ build \\ x86 \\ vc12 \\ bin”中,我将其复制到“C:\\ Program Files(x86)\\ Python2.7”。

您的mp4可能具有您的系统不支持的编解码器(或opencv没有支持),而您的avi编解码器可能受支持。 另外如果opencv使用libav进行解码,你应该安装它。

我的.mpg视频文件遇到了同样的问题。 无法在openCV打开它。

我将openCv_ffmpeg330.dllC:\\OpenCV\\build\\bin folder into the c:\\python27文件夹中。

那很有效!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM