MacOS环境下OpenCV 4.5.3无法读取本地视频文件流问题求助
解决方案
步骤1:检查路径有效性
你当前打印的路径为/documents/projects/YOLOv3-Object-Detection-with-OpenCV-arunava/road-traffic.mp4,Mac系统根目录默认不存在/documents文件夹,你的个人文档目录实际路径为/Users/[你的系统用户名]/Documents/,可先在终端执行以下命令验证文件是否存在:
ls /documents/projects/YOLOv3-Object-Detection-with-OpenCV-arunava/road-traffic.mp4
如果提示文件不存在,修正路径为完整的用户目录下绝对路径即可。
步骤2:安装FFmpeg解码依赖
OpenCV读取视频需要依赖FFmpeg库,先通过Homebrew安装FFmpeg:
brew install ffmpeg
安装完成后用FFmpeg验证视频本身无损坏:
ffmpeg -i /你的正确视频绝对路径
如果能正常输出视频时长、编码格式等信息,说明视频文件本身无异常。
步骤3:重装对应版本OpenCV包
先卸载虚拟环境内所有OpenCV相关包:
pip uninstall opencv-python opencv-contrib-python opencv-python-headless -y
再重装对应版本的完整OpenCV包:
pip install opencv-python==4.5.3 opencv-contrib-python==4.5.3
步骤4:强制指定解码后端
如果以上步骤都完成还是无法打开,可在初始化VideoCapture时强制指定FFmpeg后端:
vid = cv.VideoCapture(FLAGS.video_path, cv.CAP_FFMPEG)
避免系统默认AVFoundation解码出现兼容性问题。
内容的提问来源于stack exchange,提问作者schoolboy
相关产品推荐
相关产品推荐

