linux gst_element_factory_make ("rtspsrc", NULL) 在 qt5 上失败

linux gst_element_factory_make ("rtspsrc", NULL) fails on qt5

我的问题是,为什么 gst_element_factory_make ("rtspsrc", NULL) 每次都失败?我在 Ubuntu 14.04 上使用 Qt5。 我试过 gst_element_factory_find ("rtspsrc") 成功了, 我也试过了

全部成功

这是我找到的 link on tiku.io, on Whosebug, on quabr.com 并且我尝试按照说明进行操作,但出现相同的错误:

GStreamer-CRITICAL **: gst_bus_timed_pop_filtered: assertion 'GST_IS_BUS (bus)' failed.

只有在执行gst_element_factory_make ("rtspsrc", NULL).

时才会出现错误

我尝试创建(成功))

gst_element_factory_make ("uridecodebin", NULL)
gst_element_factory_make("fakesrc",空)
gst_element_factory_make ("v4l2src", NULL)

我没有出错。

这是我的 .pro 文件内容:

配置 += link_pkgconfig

PKG配置 += \
    gstreamer-0.10 \
    gstreamer-base-0.10 \
    gstreamer-接口-0.10 \
    gstreamer-audio-0.10 \
    gstreamer-video-0.10 \
    gstreamer-应用程序-0.10 \
    gstreamer-rtsp-0.10 \
    gstreamer-rtp-0.10

配置 -= app_bundle

LIBS += -pthread \
        -lgstrtsp-0.10 \
        -lgstrtp-0.10 \
        -lgstreamer-0.10 \
        -lgstsdp-0.10 \
        -lgobject-2.0 \
        -lgmodule-2.0 \
        -lgthread-2.0 \
        -lxml2\
        -lglib-2.0


QMAKE_CXXFLAGS += -f 宽容

但我的问题仍然存在。 如有任何帮助,我们将不胜感激。

谢谢

经过几个小时的思考,我终于找到了答案。 这与 rtspsrc 无关。

事实上,我不得不使用 gstreamer-0.10,并且我尝试使用该版本而不是 gstreamer-1.0 创建 avdec_h264 元素。

但我最终转向 ffdec_h264,它是 gstreamer-0.10 的一个元素,并且...我的程序现在运行起来非常棒。

gst_element_factory_make ("avdec_h264", NULL) // gave me the error with gstreame-0.10
gst_element_factory_make ("ffdec_h264", NULL) //  Right element to use with gstreamer-0.10

感谢 mpr。