Не удается открыть видеофайлы «.mp4» с использованием OpenCV 2.4.3, Python 2.7 на компьютере под управлением Windows 7

В настоящее время я работаю над проектом, который включает чтение видеофайлов mp4. Проблема, с которой я столкнулся, заключается в том, что она использует Python 2.7 (32 бит), OpenCV 2.4.3 (cv2.pyd) на компьютере под управлением Windows 7.

Фрагмент кода выглядит следующим образом:

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() » возвращает true: значит, он умеет читать файлы « .avi ».

Другое дело, мы пробовали этот же фрагмент в Linux и Mac, и он работает нормально, то есть он способен читать как файлы mp4, так и avi-файлы.

Эта проблема аналогична этой проблеме и этой проблеме . У обоих до сих пор нет четкого и обоснованного ответа.

Я был бы признателен за любую помощь или обходной путь, помимо использования Linux или Mac, для программирования этого, поскольку мне это нужно для работы во всех трех системах.

  • pyrouge: «pyrouge_set_rouge_path» не распознается как внутренняя или внешняя команда
  • Как получить список каталогов, отсортированный по дате создания в python?
  • Не удается открыть Python. Ошибка 0xc000007b
  • Как получить IDLE, чтобы принять вставку символов Юникода?
  • Использование модуля crypt в Windows?
  • установлена ​​подушка, но «нет модуля с подушкой» - python2.7 - Windows 7 - подушка для установки python -m
  • Связи SVN для Python для Windows
  • Можно ли получить доступ к необработанным устройствам с помощью python с окнами?
  • 3 Solutions collect form web for “Не удается открыть видеофайлы «.mp4» с использованием OpenCV 2.4.3, Python 2.7 на компьютере под управлением Windows 7”

    Раньше у меня была такая же проблема, решена этим шагом:

    Проверьте версию OpenCV python

     >>> from cv2 import __version__ >>> __version__ '2.4.0' 

    Затем скопируйте файл opencv_ffmpeg.dll в C:\Python27\ и переименуйте его в соответствии с вашей версией OpenCV Python. В моем случае мне пришлось переименовать его в opencv_ffmpeg240.dll .

    Обновление. В Windows вы можете найти DLL opencv_ffmpeg внутри папки сборки вашей установки OpenCV. Например: C:\dev\opencv\build\x86\vc12\bin

    Затем просто скопируйте и вставьте opencv_ffmpeg<version>.dll в корневую папку вашей установки Python.

    Я столкнулся с этой проблемой, используя OpenCV версии 2.4.11 и Python 2.7 под операционной системой Windows 7. Мне не удалось открыть и манипулировать файлами mp4, но я смог открыть avi-файлы.

    Решение в моем случае состояло в том, чтобы скопировать файл opencv_ffmpeg2411.dll из папки сборки моей установки OpenCV и вставить его в корневую папку моей установки Python. Итак, в моем случае DLL-файл находится в «C: \ dev \ opencv \ build \ x86 \ vc12 \ bin», и я скопировал его в «C: \ Program Files (x86) \ Python2.7».

    В вашем mp4 могут быть кодеки, для которых ваша система не поддерживает (или opencv не поддерживает), в то время как ваши AVI-кодеки могут поддерживаться. Также, если opencv использует libav для декодирования, вы должны установить это.

    Python - лучший язык программирования в мире.