无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件
Posted
技术标签:
【中文标题】无法在 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 【发布时间】:2012-11-29 20:10:43 【问题描述】:我目前正在从事一个涉及读取 mp4 视频文件的项目。 我遇到的问题是它在 Windows 7 机器上使用 Python 2.7(32 位)、OpenCV 2.4.3(cv2.pyd)。
sn-p代码如下:
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()
”返回真:表示能够读取“.avi
”文件。
另一个是我们在 Linux 和 Mac 上尝试过同样的 sn-p,它似乎工作正常,这意味着它能够读取 mp4 文件和 avi 文件。
这个问题类似于this problem 和this problem。两者都还没有明确可行的答案。
除了仅使用 Linux 或 Mac 进行编程之外,我将不胜感激任何帮助或解决方法,因为我需要它在所有三个系统上工作。
【问题讨论】:
我目前正在处理这个问题。现在有一个优雅的解决方案吗? 【参考方案1】:您的 mp4 可能具有您的系统不支持的编解码器(或 opencv 不支持),而您的 avi 编解码器可能受支持。此外,如果 opencv 使用 libav 进行解码,您应该安装它。
【讨论】:
不知道系统是不是不支持mp4。当我在我的 Mac 和我的 Linux 中使用 opencv +python 时,我可以轻松阅读 mp4。至于编解码器,我可以使用任何其他软件观看 mp4。至于libav,它带有opencv的包,还从FFmpeg网站下载了一个新的适用于Windows的libav......我只是不知道我是否安装它......你知道如何安装libav和其他供opencv+python使用的库? 如果我可以打开相同的视频文件并在股票播放器中播放(我运行 Windows 10),我的系统是否支持 mp4 是否安全?【参考方案2】:我之前也遇到过同样的问题,通过这一步解决了:
检查您的 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 安装的根文件夹中即可。
【讨论】:
谢谢!我最初是从 python 3 开始的,直到我注意到我关注的一些博客引用了 2.7。这个简单的事情就成功了。 不适合我。我的 Python 安装在这里:c:\Users__name__\AppData\Local\Programs\Python\Python37-32\【参考方案3】:我在 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”。
【讨论】:
【参考方案4】:我的.mpg
视频文件也有同样的问题。无法在openCV
中打开它。
我从C:\OpenCV\build\bin folder into the c:\python27
文件夹中复制了openCv_ffmpeg330.dll
。
成功了!
【讨论】:
以上是关于无法在 Windows 7 机器中使用 OpenCV 2.4.3、Python 2.7 打开“.mp4”视频文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 7 机器上编写/编译的 .NET 4 程序无法在 XP 上运行
无法在 Windows 7 x64 上使用 VB 脚本中的 CreateObject
无法在 Windows 10 机器上使用 .vmdk 运行 cloudera VM
C# 应用程序在 Windows 7 中运行,但不在 Windows XP 中