You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python调用OpenCV实现视频打标时VideoWriter无法保存.avi输出文件问题求助

OpenCV VideoWriter无法写入文件排查项
  • 确认初始帧读取有效性:初始化VideoWriter时你使用了第一次cap.read()返回的帧尺寸,若原视频hw4.avi路径错误、文件损坏导致第一帧读取失败,img为None会直接导致VideoWriter初始化失败。可在首次读帧后加判断逻辑,确认got_image为True再继续执行。
  • 确认编码兼容性:当前使用的MJPG编码搭配.avi后缀理论上兼容,但部分精简版系统可能缺少对应编码器,可尝试替换编码测试:
    • 替换为XVID编码:fourcc=cv2.VideoWriter_fourcc(*'XVID'),后缀仍用.avi
    • Windows环境可尝试MP4编码:fourcc=cv2.VideoWriter_fourcc(*'mp4v'),文件后缀改为.mp4
  • 确认帧尺寸一致性:VideoWriter初始化后要求所有写入的帧尺寸与初始化时的frameSize完全一致,若原视频存在可变帧尺寸、或后续处理中修改了img的尺寸,都会导致写入失败。可在videoWriter.write(img)前打印img.shape,确认宽高与初始化参数一致。
  • 确认写入路径权限:当前使用相对路径switch.avi,请确认脚本运行的工作目录有写入权限,可替换为绝对路径测试,排除权限限制。
  • 确认OpenCV包完整性:若你安装的是opencv-python-headless版本,该版本无视频编解码相关组件,会导致写入失败。可执行pip list检查已安装的OpenCV版本,若为headless版本可卸载后重装完整版opencv-python。
  • 补充资源释放逻辑:当前代码只释放了videoWriter,未释放cap,可在videoWriter.release()后添加cap.release(),再加上cv2.destroyAllWindows()销毁所有窗口,避免资源残留。

内容的提问来源于stack exchange,提问作者pat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:27:02