본문 바로가기
카테고리 없음

m1 mac에서 opencv import error, ffmpeg 설치

by 테크 톡톡 2021. 10. 7.

 

1 원인 : ffmpeg 

Traceback (most recent call last):
  File "your_path/path/test.py", line 3, in <module>
    import cv2
  File "/your_path/your_venv/lib/python3.9/site-packages/cv2/__init__.py", line 5, in <module>
    from .cv2 import *
ImportError: dlopen(/your_path/your_venv/lib/python3.9/site-packages/cv2/cv2.cpython-39-darwin.so, 2): Library not loaded: /opt/homebrew/opt/ffmpeg/lib/libavcodec.58.dylib
  Referenced from: /your_path/your_venv/lib/python3.9/site-packages/cv2/cv2.cpython-39-darwin.so
  Reason: image not found

 

opencv를 import 하던 도중 위와 같은 에러가 나면서 실행이 안됬다. 

 

ffmpeg/lib/libavcodec.58.dylib when running cv2.cpython-39-darwin.so.

위 문제의 경우 위와 같이 ffmpeg관련 부분에서 에러가 생긴 것이다.

 

라이브러리가 로드되지 않음: /opt/homebrew/opt/ffmpeg/lib/libavcodec.58.dylib

호환되지 않는 amd64 버전의 ffmpeg를 설치한 다음 OpenCV에서 로드하려고 하기 때문에 발생하는 것이라고 한다.

 

m1 mac의 호환문제다.

아래 방법 중 하나로 ffmpeg 설치를 해주자

 

 

2. brew로 설치

brew install ffmpeg

 

 

3. 그 밖의 해결 방법 : 콘다로 설치

conda install -c conda-forge ffmpeg

 

4. 그 밖의 해결 방법 : port로 설치

 

m1 mac에서 homebrew가 문제가 많아(?) MacPorts도 많이 쓴다고 한다

아래 주소에서 다운받는다

https://www.macports.org/install.php

 

The MacPorts Project -- Download & Installation

Quickstart Install Xcode and the Xcode Command Line Tools Agree to Xcode license in Terminal: sudo xcodebuild -license Install MacPorts for your version of the Mac operating system: Installing MacPorts MacPorts version 2.7.1 is available in various formats

www.macports.org

 

pkg 파일이 다운되고 설치가 끝나면 터미널에 아래 명령어를 입력한다

sudo port install ffmpeg

 

 

 

참고 : https://blog.roboflow.com/m1-opencv/

https://apple.stackexchange.com/questions/409513/installing-ffmpeg-through-homebrew-dyld-library-not-loaded