OpenCV 3.0.0“配置”失败,ffmpeg 未下载

Posted

技术标签:

【中文标题】OpenCV 3.0.0“配置”失败,ffmpeg 未下载【英文标题】:OpenCV 3.0.0 "configure" fails, ffmpeg not downloaded 【发布时间】:2016-01-01 04:24:34 【问题描述】:

尝试在 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,但配置过程不起作用。

你能帮我解决一下吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案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 作为文件夹标签

【讨论】:

【参考方案3】:

我遇到了同样的问题。我认为这是我们公司网络和代理服务器的问题。

所以我尝试从家里手动下载文件并将其放在我的 USB 闪存驱动器上。请查看您的 OpenCV 源路径。在那里你可以找到类似 ...

的结构

"...\3rdparty\ffmpeg\downloads\HASH\opencv_ffmpeg.dll"

CMake 尝试下载文件,但无法通过代理,所以文件为 0 Byte,md5 校验和失败。

在“...\OpenCV_SOURCE_FOLDER\3rdparty\ffmpeg”中,您可以找到一个名为“ffmpeg.cmake”的makefile,其中包含CMake 尝试从中下载的URL。 就我而言,我从以下 URL 下载了文件:

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

您的校验和参数可能不同(可能取决于您的 OpenCV 版本)!您可能必须对“opencv_ffmpeg_64.dll”和“ffmpeg_version.cmake”执行相同的操作。

最好的问候

【讨论】:

Richard Mohana,你是怎么做的?只需将文件复制到目标文件夹?就我而言,cmake 然后尝试再次下载它并且再次下载 0Bytes... 打开您提供的链接只会给我一个空的浏览器页面,其中只有“未找到”的内容【参考方案4】:

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

【讨论】:

对于一个应该可以修复的下载错误来说有点过分了!【参考方案5】:

发生校验和错误是因为它是软件包中的一个问题,文件可能不在目录中,但openCV会在此过程中下载它,只需确保您已连接到互联网而不使用***或代理作为它将被防火墙阻止。

【讨论】:

以上是关于OpenCV 3.0.0“配置”失败,ffmpeg 未下载的主要内容,如果未能解决你的问题,请参考以下文章

关于CMake编译OpenCV时opencv_ffmpeg.dllippicv等下载失败的解决办法及感悟

OpenCV - win7+vs2013(2012)+opencv3.0.0 环境配置 (以及配置技巧)

Opencv 3.1使用FFMPEG编译,但不会打开https网址

Ubuntu16.4下QT配置opencv3.1+FFmpeg

opencv配置过程 (cmake,vs2013,qt 5.4)

Ubuntu+Qt+OpenCV+FFMPEG环境搭建