2017-02-01 289 views
2

我正在使用OpenCV爲我的研究處理視頻。我在Windows 10上安裝了Python 2.7和OpenCV 3.2版本。當我使用OpenCV在Python中對視頻進行背景減法時,它可以正常工作並生成輸出。但是,當我嘗試保存背景扣除的視頻時,會拋出此錯誤:無法打開編解碼器'libopenh264':未指定的錯誤

warning: Error opening file (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:779) 
warning: MAH00119.avi (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:780) 
OpenCV: FFMPEG: tag 0x34363258/'X264' is not supported with codec id 28 and format 'h264/raw H.264 video' 

Failed to load OpenH264 library: openh264-1.6.0-win64msvc.dll 
    Please check environment and/or download library: https://github.com/cisco/openh264/releases 

[libopenh264 @ 0000000001f5bf60] Incorrect library version loaded 
Could not open codec 'libopenh264': Unspecified error 

我正在處理MP4視頻。在安裝ffmpeg時,我仔細地按照說明操作,例如將bin的路徑添加到環境變量中。我不知道還有什麼要做。現在已經堅持了三天。

任何幫助將不勝感激! 在此先感謝!

回答

2

您收到的錯誤消息表示openCV無法加載H264編解碼器。默認情況下,H264默認安裝openCV。

要添加從https://github.com/cisco/openh264/releases/tag/v1.6.0下載的H264編解碼器'openh264-1.6.0-win64msvc.dll.bz2'。

提取文件並將提取的DLL移動到與python文件相同的目錄中。 OpenCV現在應該能夠找到DLL並加載H264編解碼器。

請注意,在您的錯誤消息中,openCV正在尋找openh264-1.6.0-win64msvc.dll(未能加載:openh264-1.6.0-win64msvc.dll.bz2),這是我們現在提供的。

+1

針對您的答案的其他備註:根據\ sources \ 3rdparty \ ffmpeg \ readme.txt,可以將二進制文件放入全局系統路徑(System32或SysWOW64)或應用程序二進制文件附近。或者,您可以通過環境變量OPENH264_LIBRARY(而不是OPENH264_LIBRARY_PATH)指定完整路徑。不幸的是OpenCV在嘗試加載這個二進制文件時不使用PATH。 – AntonK

相關問題