GStreamer-CRITICAL **:gst_element_get_state:Opencv 中的断言“GST_IS_ELEMENT(元素)”失败错误
Posted
技术标签:
【中文标题】GStreamer-CRITICAL **:gst_element_get_state:Opencv 中的断言“GST_IS_ELEMENT(元素)”失败错误【英文标题】:GStreamer-CRITICAL **: gst_element_get_state: assertion 'GST_IS_ELEMENT (element)' failed error in Opencv 【发布时间】:2018-11-27 05:37:22 【问题描述】:我试图在 Windows 上使用 Opencv 通过 GSTREAMER API 打开网络摄像头,但我得到了 运行时出现此错误
GStreamer-CRITICAL **:gst_element_get_state:断言“GST_IS_ELEMENT(元素)”失败 开放式简历 | GStreamer 警告:GStreamer:无法查询管道状态
下面是正在运行的代码
VideoCapture capture(0,CAP_GSTREAMER);
if (capture.isOpened())
std::cout << "Camera 0 via " << capture.getBackendName() << " backend" << std::endl;
std::cout << "Frame width: " << capture.get(CAP_PROP_FRAME_WIDTH) << std::endl;
std::cout << " height: " << capture.get(CAP_PROP_FRAME_HEIGHT) << std::endl;
std::cout << "Capturing FPS: " << capture.get(CAP_PROP_FPS) << std::endl;
但是相机在使用 Gstreamer 命令时工作正常
gst-launch-1.0.exe -v ksvideosrc device-index=0 !自动视频接收器
我已经在启用 GStreamer 的情况下构建了 OpenCV4.0,这里究竟缺少什么元素,是否有解决方法?
【问题讨论】:
【参考方案1】:试试下面的代码:
const char* pipeline= "ksvideosrc device-index=0 ! autovideoconvert ! appsink";
int cap_id = CAP_GSTREAMER;
VideoCapture cap( pipeline, cap_id);
【讨论】:
您能否编辑您的答案并说明为什么会有所帮助?以上是关于GStreamer-CRITICAL **:gst_element_get_state:Opencv 中的断言“GST_IS_ELEMENT(元素)”失败错误的主要内容,如果未能解决你的问题,请参考以下文章
gstreamer的gst-inspect 和gst-launch