VideoWriter fails silently for multiple codecs on macOS Intel
还没有人认领这个 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 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
opencv/opencv-python 的其他 Issue
-
[DOC] README file可能重新可做 @jadhavroshani713-sys 于 73 天前认领,目前没有进行中的 PR。 未关闭
难度 1/5 1 小时以内 新手友好度 85/100
opencv/opencv-python#1217 · 3 条评论 ·
-
Dependency specification missing for python3.14可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
opencv/opencv-python#1165 · 2 条评论 · 1 个 reaction ·
-
难度 4/5 3-5 天 新手友好度 35/100
opencv/opencv-python#1276 ·
-
难度 5/5 一周以上 新手友好度 25/100
opencv/opencv-python#1273 · 1 条评论 ·
-
难度 4/5 3-5 天 新手友好度 45/100
opencv/opencv-python#1272 · 2 条评论 ·
查看 opencv/opencv-python 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
UKGovernmentBEIS/inspect_ai#5781 ·
维护者通常 2 天内回复
-
Bump .cicd to wamp-cicd 4c2f9ac: `just land` refuses open A18 decisions, `just where` lists them未关闭
难度 1/5 1 小时以内 新手友好度 82/100
crossbario/cfxdb#139 ·
-
Bump .cicd to wamp-cicd 4c2f9ac: `just land` refuses open A18 decisions, `just where` lists them未关闭
难度 1/5 1 小时以内 新手友好度 84/100
crossbario/txaio#241 ·
-
UX
难度 2/5 1-3 小时 新手友好度 82/100
mediajunkie/piper-morgan-product#1963 ·
-
难度 2/5 1-3 小时 新手友好度 64/100