Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

VideoWriter fails silently for multiple codecs on macOS Intel

未关闭
#1,192 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
python

调研方向

首先使用 opencv-python-headless 4.13.0.90 运行提供的 Python 复现,并在 macOS Intel 上与 4.12.0.88 进行比较。调查 cv2.VideoWriter 路径以及报告的特定 codec 失败;完成的标准是 HFYU、XVID 和 mp4v 均能成功打开并创建视频文件,且不会导致 MJPG 回归。

由索引模型根据 Issue 内容生成。

描述

Summary

cv2.VideoWriter fails silently for multiple codecs (HFYU, XVID, mp4v) on macOS Intel (x86_64) in opencv-python-headless 4.13.0.90. No exception is raised, but isOpened() returns False and no video file is created.

This is a regression from 4.12.0.88, where all codecs work correctly.

Environment

  • OpenCV version: opencv-python-headless 4.13.0.90
  • Python version: 3.10.18
  • OS: macOS 15.7.2 (x86_64 / Intel)

Note: This bug only affects macOS Intel (x86_64), not macOS ARM (Apple Silicon).

Steps to reproduce

import os
import tempfile

import cv2
import numpy as np

print(f"OpenCV version: {cv2.__version__}")

test_dir = tempfile.mkdtemp()

codecs = ["MJPG", "HFYU", "XVID", "mp4v"]

print("\nTesting VideoWriter codecs:")
print("-" * 40)

for codec in codecs:
    video_path = os.path.join(test_dir, f"test_{codec}.avi")

    writer = cv2.VideoWriter(
        filename=video_path,
        fourcc=cv2.VideoWriter_fourcc(*codec),
        fps=25,
        frameSize=(200, 100),
    )

    opened = writer.isOpened()
    status = "OK" if opened else "FAILED"

    if opened:
        frame = np.random.randint(0, 255, size=(100, 200, 3), dtype="uint8")
        writer.write(frame)
        writer.release()
        os.remove(video_path)
    else:
        writer.release()

    print(f"{codec:6} : {status}")

os.rmdir(test_dir)

Expected behavior

All standard codecs should work:

OpenCV version: 4.12.0

Testing VideoWriter codecs:
----------------------------------------
MJPG   : OK
HFYU   : OK
XVID   : OK
mp4v   : OK

Actual behavior

Only MJPG works; other codecs fail silently:

OpenCV version: 4.13.0

Testing VideoWriter codecs:
----------------------------------------
[ WARN:[email protected]] global cap.cpp:781 open VIDEOIO(CV_IMAGES): raised OpenCV exception:

OpenCV(4.13.0) /Users/macmini_16g/GHA-Actions-Opencv-Python/_work/opencv-python/opencv-python/opencv/modules/videoio/src/cap_images.cpp:411: error: (-215:Assertion failed) !filename_pattern.empty() in function 'CvVideoWriter_Images'


MJPG   : OK
[ WARN:[email protected]] global cap.cpp:781 open VIDEOIO(CV_IMAGES): raised OpenCV exception:

OpenCV(4.13.0) /Users/macmini_16g/GHA-Actions-Opencv-Python/_work/opencv-python/opencv-python/opencv/modules/videoio/src/cap_images.cpp:411: error: (-215:Assertion failed) !filename_pattern.empty() in function 'CvVideoWriter_Images'


HFYU   : FAILED
[ WARN:[email protected]] global cap.cpp:781 open VIDEOIO(CV_IMAGES): raised OpenCV exception:

OpenCV(4.13.0) /Users/macmini_16g/GHA-Actions-Opencv-Python/_work/opencv-python/opencv-python/opencv/modules/videoio/src/cap_images.cpp:411: error: (-215:Assertion failed) !filename_pattern.empty() in function 'CvVideoWriter_Images'


XVID   : FAILED
mp4v   : FAILED
主要语言
Python
星标
5.4k
派生
1k
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

opencv/opencv-python 的其他 Issue

查看 opencv/opencv-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。