【问题标题】:OpenCV-Python installation (missing ffmpeg) - WindowsOpenCV-Python 安装(缺少 ffmpeg)- Windows
【发布时间】:2023-03-16 12:08:01
【问题描述】:

我设法使用 conda 和 Python 3.5 安装了 OpenCV 3.1,一切似乎都运行良好。

但是,当尝试通过 ffmpeg 导入视频文件时,我得到了这个:

import numpy as np
import cv2

cap = cv2.VideoCapture('data\vtest.avi')
cap.read()

#(False, None)

当使用静止图像或我的笔记本电脑网络摄像头时,它可以工作(注意 VideCapture 返回None)。显然,ffmpeg 出了点问题。

我尝试了几件事:

  1. 在我的环境/PATH 中安装 ffmpeg 二进制文件(单独工作正常 但显然 OpenCV 无法调用它,因为它会查找特定的 dll)。
  2. 移动到 bin 文件夹(也在我的路径中) 来自已编译版本的 dll 源锻:

    opencv_ffmpeg310_64.dll

    opencv_ffmpeg310.dll

这两个选项都不起作用。有什么想法吗?

【问题讨论】:

    标签: python windows opencv ffmpeg conda


    【解决方案1】:

    OpenCV 的 conda 版本不是用 ffmpeg 编译的。我也一直在为这个问题苦苦挣扎。 pip 版本也不是用 ffmpeg 编译的。我最好的建议是自己用 ffmpeg 编译 OpenCV,这是我发现的唯一无痛且稳定的方法。

    【讨论】:

      【解决方案2】:

      最新的conda-forge 版本包含FFMPEG now。在您的计算机中拥有minicondaAnaconda,将通过在cmd 或终端中运行来安装所有内容:

      conda install -c conda-forge opencv ffmpeg
      

      或者,也可以使用menpo's channel 食谱:

      conda install -c menpo opencv3 ffmpeg
      

      【讨论】:

      • 您好!安装这两个软件包实际上并不能解决问题。 cap.isOpened() 的结果仍然是 False
      • 我明确添加了ffmpeg,以防依赖关系没有很好地解决,现在试试吧。
      • 知道为什么当我使用cx_freeze 创建可执行文件时这不起作用吗?
      • conda install -c conda-forge opencv ffmpegconda install -c conda-forge opencv有什么区别?
      • anaconda 有不同的通道,但包应该没有区别。我通常更喜欢 conda-forge,因为它得到了社区的支持
      猜你喜欢
      • 2012-03-19
      • 2018-07-13
      • 1970-01-01
      • 2019-09-22
      • 2015-06-27
      • 2014-05-26
      • 1970-01-01
      • 2017-05-30
      • 1970-01-01
      相关资源
      最近更新 更多