build opencv com suporte a ffmpeg

0

Eu li quase todas as perguntas sobre este assunto, mas não as resolvi. Eu instalei o OpenCV no ambiente virtual muitas vezes ao tentar resolver este problema. P roblem é aquele: "cv2.videoCapture () retorna sempre falso".

Eu construí o OpenCV com a opção -D WITH_FFMPEG = ON e ele terminaria com sucesso e o resultado sobre o FFmpeg parecia estar OK.

Além disso, quando executo o comando " make -j8 ", ele é concluído sem problemas. Então eu pensei que tudo ficaria bem. Quando tentei verificar o suporte ao FFmpeg com este comando: python -c "import cv2; print(cv2.getBuildInformation())" | grep -i FFmpeg não me deu nenhum resultado.

Eu instalei o OpenCV com os seguintes estes stpes . Eu também tentei descobrir se o FFMPEG suporta o codec para decodificar arquivos codificados em AVC. ffmpeg -codecs | grep -i avc e a saída é:

DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_cuvid ) (encoders: h264_nvenc nvenc nvenc_h264 ) D.A.L. avc On2 Audio for Video Codec (decoders: on2avc )

Eu não entendi porque o FFmpeg pareceu "YES" quando eu criei o OpenCV naquele momento deu um resultado "NO" com cv2.getBuildInformation ().

(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'

Além disso, não lembrei quais etapas eu apliquei (para python2 ou python3). Por esse motivo, adicionei versões e caminhos do cv2. Eu verifiquei cv2. versão após a importação cv2, e parece '3.3.0' também pip resultado congelamento assim. Eu clonei o OpenCV do github como esses passos que dei a url à minha pergunta. Após seguir estas etapas, a versão deve ser 3.3.1, mas ainda parece 3.3.0. Se eu importasse o OpenCV pré-construído, como posso consertá-lo? No meu env virtual tem apenas um diretório OpenCV e acho que é o último que eu instalei.

Parece que estou lançando o Python2, que tem a outra versão do OpenCV instalada, não a 3.3.1. Como posso consertar isso?

    
por Selin Gök 20.12.2017 / 21:42

0 respostas