OpenCV 3.0.0"配置"失败,ffmpeg没有下载

时间:2015-10-04 11:24:36

标签: c++ windows opencv ffmpeg cmake

尝试在Windows上使用CMAKE配置OpenCV时出现以下错误:

CMake Warning at cmake/OpenCVUtils.cmake:865 (message):
Download: Local copy of opencv_ffmpeg.dll has invalid MD5 hash:
d41d8cd98f00b204e9800998ecf8427e (expected:
89c783eee1c47bfc733f08334ec2e31c)

Call Stack (most recent call first):
3rdparty/ffmpeg/ffmpeg.cmake:10 (ocv_download)
cmake/OpenCVFindLibsVideo.cmake:193 (include)
CMakeLists.txt:527 (include)


Downloading opencv_ffmpeg.dll...
CMake Error at cmake/OpenCVUtils.cmake:888 (file):
file DOWNLOAD MD5 mismatch

for file: [C:/research/opencv300/sources/3rdparty/ffmpeg/downloads/89c783eee1c47bfc733f08334ec2e31c/opencv_ffmpeg.dll]
expected MD5 sum: [89c783eee1c47bfc733f08334ec2e31c]
actual MD5 sum: [d41d8cd98f00b204e9800998ecf8427e]

Call Stack (most recent call first):
3rdparty/ffmpeg/ffmpeg.cmake:10 (ocv_download)
cmake/OpenCVFindLibsVideo.cmake:193 (include)
CMakeLists.txt:527 (include)


CMake Error at cmake/OpenCVUtils.cmake:892 (message):
Failed to download opencv_ffmpeg.dll.  Status=1;"unsupported protocol"
Call Stack (most recent call first):
3rdparty/ffmpeg/ffmpeg.cmake:10 (ocv_download)
cmake/OpenCVFindLibsVideo.cmake:193 (include)
CMakeLists.txt:527 (include)


Configuring incomplete, errors occurred!

我尝试手动下载opencv_ffmpeg.dll,但配置过程无效。

你能帮助我,如何解决这个问题?

5 个答案:

答案 0 :(得分:3)

最近使用opencv 3.1.0遇到了同样的问题。通过使用opencv提取的 ./ build / bin 目录中的相应dll解决了这种情况。至于ffmpeg_version.cmake,从给定的链接中抓取它。替换 ./ sources / 3rd party / ffmpeg 下的文件,然后重新配置cmake。

答案 1 :(得分:2)

您必须将文件复制到要从中构建的源文件夹

就我而言,那就是

C:\opencv_source\3rdparty\ffmpeg\downloads\35fe6ccdda6d7a04e9056b0d73b98e76

C:\opencv_source\3rdparty\ffmpeg\downloads\89c783eee1c47bfc733f08334ec2e31c

C:\opencv_source\3rdparty\ffmpeg\downloads\8606f947a780071f8fcce8cbf39ceef5

他们以相同的顺序包含这些文件

opencv_ffmpeg_64.dll
opencv_ffmpeg.dll
ffmpeg_version.cmake

查看文件 ffmpeg_cmake CMake期望将md5-hash作为文件夹标签

答案 2 :(得分:1)

我遇到了同样的问题。在我看来,这是通过我们公司网络和代理服务器的问题。

所以我尝试从家里手动下载文件并将其放在我的USB闪存盘上。请查看您的OpenCV源路径。在那里你可以找到像...这样的结构。

" ... \的3rdParty \ FFMPEG \下载\ HASH \ opencv_ffmpeg.dll"

CMake尝试下载文件,但无法通过代理,因此文件为0字节,md5校验和失败。

In" ... \ OpenCV_SOURCE_FOLDER \ 3rdparty \ ffmpeg"你可以找到一个名为" ffmpeg.cmake"的makefile。使用URL CMake尝试从中下载。 在我的情况下,我从以下URL下载了文件:

https://raw.githubusercontent.com/Itseez/opencv_3rdparty/89c783eee1c47bfc733f08334ec2e31c/ffmpeg/opencv_ffmpeg.dll

您的校验和参数可能不同(可能取决于您的OpenCV版本)!你可能必须为" opencv_ffmpeg_64.dll"做同样的事情。和" ffmpeg_version.cmake"。

祝你好运

答案 3 :(得分:0)

我有同样的问题;当我切换到Ubuntu时,我不再有这个问题了。也许你可以改变你的操作系统?

答案 4 :(得分:0)

出现校验和错误,因为它是软件包中的问题,文件可能不在目录中,但openCV会在此过程中下载它,只需确保您连接到Internet而不使用VPN或代理它会被防火墙阻止。