【问题标题】:GStreamer-CRITICAL **: gst_element_get_state: assertion 'GST_IS_ELEMENT (element)' failed error in OpencvGStreamer-CRITICAL **:gst_element_get_state:Opencv 中的断言“GST_IS_ELEMENT(元素)”失败错误
【发布时间】: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,这里究竟缺少什么元素,是否有解决方法?

【问题讨论】:

    标签: opencv gstreamer gstreamer-1.0


    【解决方案1】:

    试试下面的代码:

    const char* pipeline= "ksvideosrc device-index=0 ! autovideoconvert ! appsink";
    
    int cap_id = CAP_GSTREAMER;
    
    VideoCapture cap( pipeline, cap_id);
    

    【讨论】:

    • 您能否编辑您的答案并说明为什么会有所帮助?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-22
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多