-215 opencv config_error ai_generated true

cv2.error: OpenCV(4.5.5) /modules/videoio/src/cap_gstreamer.cpp:1156: error: (-215:断言失败) !pipeline.empty() 在函数'open'中

cv2.error: OpenCV(4.5.5) /modules/videoio/src/cap_gstreamer.cpp:1156: error: (-215:Assertion failed) !pipeline.empty() in function 'open'

ID: opencv/gstreamer-pipeline-string-error

其他格式: JSON · Markdown 中文 · English
88%修复率
82%置信度
1证据数
2023-03-10首次发现

版本兼容性

版本状态引入弃用备注
4.5.5 active
4.6.0 active
4.7.0 active

根因分析

传递给VideoCapture的GStreamer管道字符串为空或格式错误,导致管道初始化失败。

English

GStreamer pipeline string passed to VideoCapture is empty or malformed, causing the pipeline to fail to initialize.

generic

官方文档

https://docs.opencv.org/4.5.5/d4/d15/group__videoio__flags__gstreamer.html

解决方案

  1. Ensure the pipeline string is non-empty and correctly formatted, e.g., `cap = cv2.VideoCapture('videotestsrc ! appsink')`
  2. Test the pipeline with `gst-launch-1.0` command line before using it in OpenCV to verify syntax.
  3. If using a camera, use `cap = cv2.VideoCapture(0)` instead of a pipeline string to avoid this error.

无效尝试

常见但无效的做法:

  1. Adding quotation marks around the pipeline string in Python. 50% 失败

    Adding extra spaces or quotes around the pipeline string does not fix the underlying syntax; GStreamer expects exact format.

  2. Passing a video file path without the 'filesrc location=' prefix. 80% 失败

    Using a file path instead of a pipeline string still triggers the assertion because the pipeline is empty.

  3. Reinstalling GStreamer from source without checking pipeline syntax. 40% 失败

    Installing a different GStreamer version may break syntax compatibility.