简体   繁体   中英

OpenCV-Python installation (missing ffmpeg) - Windows

I managed to install OpenCV 3.1 using conda and Python 3.5 and everything seems to work fine.

However, when trying to import a video file via ffmpeg I get this:

import numpy as np
import cv2

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

#(False, None)

When using still images or my laptop webcam it works (notice that the VideCapture returns None ). Obviously, something is wrong with ffmpeg.

I have tried a couple of things:

  1. Install ffmpeg binaries in my environment/PATH (works fine separately but apparently OpenCV cannot call it since it looks for specific dlls).
  2. Move to the bin folder (which is in my path as well) the dlls from the compiled version in sourceforge:

    opencv_ffmpeg310_64.dll

    opencv_ffmpeg310.dll

Neither of the two options worked. Any ideas?

The latest conda-forge build contains FFMPEG now . Having miniconda or Anaconda in your computer, everything will be installed by running in the cmd or terminal:

conda install -c conda-forge opencv ffmpeg

Alternatively, menpo's channel recipes can also be used:

conda install -c menpo opencv3 ffmpeg

The conda version of OpenCV is not compiled with ffmpeg. I too have struggled with this problem endlessly. The pip version is not compiled with ffmpeg either. The best advice I have is to compile OpenCV with ffmpeg yourself, that is the only painless and stable way that I have found.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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