OpenVINO开发小组
直播中

tr12345

9年用户 1033经验值
擅长:制造/封装
私信 关注
[问答]

使用OpenCV保存从摄像头捕获的视频时更改颜色输出视频收到警告怎么解决?


  • 保存了从配备 OpenCV* 的摄像头捕获的视频。
  • 生成更改的颜色输出视频。
  • 收到警告:[ INFO:0] global .。/opencv/modules/core/src/utils/plugin_loader.impl.hpp (67) 库负载 /opt/intel/openvino/opencv/lib/libopencv_videoio_ffmpeg.so => 失败
    [ 警告:0] global .。/opencv/modules/videoio/src/cap.cpp (609) 开放式 VIDEOIO (FFMPEG):不提供后端(插件丢失,或因依赖关系而无法加载或不兼容)

   

回帖(2)

张娜

2025-3-5 15:05:16
输出视频的颜色错误可能是由于安装 FFmpeg 错误造成的。
举报

jfsky

2025-3-5 16:49:07

在使用 OpenCV 保存从摄像头捕获的视频时,你遇到的警告表明 OpenCV 无法正确加载 FFmpeg 后端,导致视频写入功能可能无法正常工作。这通常是由于缺少 FFmpeg 库或相关依赖项引起的。以下是解决此问题的步骤:




1. 检查 FFmpeg 是否安装


确保系统上安装了 FFmpeg。如果没有安装,可以通过以下命令安装:



  • Ubuntu/Debian:
    sudo apt update
    sudo apt install ffmpeg

  • macOS:
    brew install ffmpeg

  • Windows:
    FFmpeg 官方网站下载并安装。




2. 重新编译 OpenCV 以支持 FFmpeg


如果 FFmpeg 已安装,但 OpenCV 仍然无法加载 FFmpeg 后端,可能是因为 OpenCV 在编译时未正确配置 FFmpeg 支持。可以尝试重新编译 OpenCV:



  1. 下载 OpenCV 源码:
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git

  2. 创建构建目录并配置 CMake:
    mkdir build && cd build
    cmake -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules
         -DWITH_FFMPEG=ON
         -DBUILD_opencv_videoio=ON
         ..

  3. 编译并安装:
    make -j$(nproc)
    sudo make install




3. 检查 OpenCV 的 FFmpeg 插件路径


确保 OpenCV 能够找到 FFmpeg 插件。可以通过以下代码检查 OpenCV 的 FFmpeg 插件路径:


import cv2
print(cv2.getBuildInformation())

检查输出中是否包含 FFMPEG: YES。如果没有,说明 OpenCV 未正确配置 FFmpeg。




4. 使用其他视频编码器


如果 FFmpeg 无法正常工作,可以尝试使用其他视频编码器(如 GStreamer 或 OpenCV 默认编码器)。例如:


import cv2

cap = cv2.VideoCapture(0)
fourcc = cv2.VideoWriter_fourcc(*'XVID')  # 使用 XVID 编码器
out = cv2.VideoWriter('output.avi', fourcc, 20.0, (640, 480))

while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
        break
    out.write(frame)
    cv2.imshow('frame', frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
out.release()
cv2.destroyAllWindows()



5. 检查 OpenCV 版本


确保使用的是最新版本的 OpenCV。旧版本可能存在兼容性问题。可以通过以下命令升级 OpenCV:


pip install --upgrade opencv-python opencv-python-headless



6. 调试和日志


如果问题仍然存在,可以启用 OpenCV 的详细日志以获取更多信息:


import cv2
import os

os.environ["OPENCV_LOG_LEVEL"] = "DEBUG"
# 继续执行你的代码



通过以上步骤,你应该能够解决 OpenCV 无法加载 FFmpeg 后端的问题。如果问题仍然存在,请提供更多上下文信息(如操作系统、OpenCV 版本等),以便进一步排查。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分