Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用ffmpeg支持构建opencv_Python_Linux_Opencv_Ffmpeg_Video Capture - Fatal编程技术网

Python 使用ffmpeg支持构建opencv

Python 使用ffmpeg支持构建opencv,python,linux,opencv,ffmpeg,video-capture,Python,Linux,Opencv,Ffmpeg,Video Capture,我读了几乎所有关于这个主题的问题,但我没有解决它。我正在Linux/Mint上工作。为了解决这个问题,我在虚拟环境中安装了很多次OpenCV。问题是:“cv2.videoCapture()返回总是false” 我用-D和_FFMPEG=ON选项构建了OpenCV,它将成功完成,关于FFMPEG的结果是:它似乎还可以 另外,当我运行“make-j8”命令时,它完成时没有问题。所以我想一切都会好起来的。当我尝试使用以下命令检查FFmpeg支持时:python-c“import cv2;print(c

我读了几乎所有关于这个主题的问题,但我没有解决它。我正在Linux/Mint上工作。为了解决这个问题,我在虚拟环境中安装了很多次OpenCV。问题是:“cv2.videoCapture()返回总是false”

我用-D和_FFMPEG=ON选项构建了OpenCV,它将成功完成,关于FFMPEG的结果是:它似乎还可以

另外,当我运行“make-j8”命令时,它完成时没有问题。所以我想一切都会好起来的。当我尝试使用以下命令检查FFmpeg支持时:
python-c“import cv2;print(cv2.getBuildInformation())”| grep-I FFmpeg
没有给出任何结果

我安装OpenCV时使用了以下命令 我还试图找出FFMPEG是否支持解码AVC编码文件的编解码器
ffmpeg-codecs | grep-i avc
和,输出为:

DEV.LS h264 H.264/AVC/MPEG-4 AVC/MPEG-4第10部分(解码器:h264 h264_cuvid)(编码器:h264_nvenc nvenc nvenc_h264)D.A.L.avc On2 视频编解码器音频(解码器:on2avc)

我不明白当我当时构建OpenCV时,为什么FFmpeg看起来是“是”,而cv2.getBuildInformation()给出了“否”的结果


我怎样才能修好它

您确定“导入cv2”是导入您创建的cv,而不是其他预构建的cv吗?尝试检查版本。@Spikolynn我检查了cv2。\在导入cv2之后,版本\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。我从github克隆了OpenCV,就像下面这些步骤一样,我为我的问题提供了url。完成这些步骤后,版本应该是3.3.1,但看起来仍然是3.3.0。如果我导入了预构建的opencv,如何修复它?在我的虚拟环境中,只有一个OpenCV目录,我想这是我安装的最后一个。您是否在虚拟环境中运行代码?与中一样,您是否在每次运行python脚本时都激活venv?您是为python 2还是为python 3安装的?如何启动python脚本?如何启动脚本?听起来您正在启动Python2,它安装了OpenCV的另一个版本,而不是3.3.1。
(cv_env)➜  cv_env pkg-config --modversion opencv
3.2.0
(cv_env)➜  cv_env python                        
Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.3.0'

(cv_env)➜  cv_env python -c "import cv2; print(cv2.getBuildInformation())" | grep -i ffmpeg
    FFMPEG:                      NO
(cv_env)➜  cv_env python
Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__file__
'/opt/cv_env/local/lib/python2.7/site-packages/cv2/cv2.so'

(cv_env)➜  cv_env python3
Python 3.4.3 (default, Nov 28 2017, 16:41:13) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.3.0'
>>> cv2.__file__
'/usr/local/lib/python3.4/dist-packages/cv2/cv2.cpython-34m.so'