如何使用gstreamer通过rtsp观看h263视频

时间:2016-02-09 17:25:45

标签: video-streaming gstreamer rtsp rtsp-client h.263

我试图读取以h263格式编码的视频流,我在Windows上通过rtsp与gstreamer接收。最后,我必须得到一个BGR或RGB格式(使用Qimage / Qt)。

我可以通过 vlc rtsp://172.22.1.2:8554/test

观看流程

我可以使用 cmd 观看流程:     gst-launch-1.0 rtspsrc location=rtsp://172.22.1.2:8554/test ! rtph263pdepay ! avdec_h263 ! autovideosink

我无法在我的计划中 。 我试过了m_pipeline = gst_parse_launch("rtspsrc location=rtsp://172.22.1.2:8554/test ! rtph263pdepay ! avdec_h263 ! appsink name=sink caps=video/x-raw, format=BGR", &error);

我在uridecodebin uri=..状态下尝试rtspsrc location=..

我尝试了video/x-h263video/x-raw, format=RGB

是否有关于大写字母的错误消息,或程序崩溃。

我不知道我是否使用了正确的元素,或者我的命令结束是否错误或其他原因......?

1 个答案:

答案 0 :(得分:0)

您可能会收到错误,因为avdec_h263的src上限与您为appsink指定的上限不符。运行cmd gst-inspect-1.0 avdec_h264,您可以看到src pad caps模板仅支持video/x-raw format = I420,而您的appsink设置为video/x-raw format=BGR

尝试将videoconvert元素添加到解码器和appsink之间的管道中: m_pipeline = gst_parse_launch("rtspsrc location=rtsp://172.22.1.2:8554/test ! rtph263pdepay ! avdec_h263 ! videoconvert ! appsink name=sink caps=video/x-raw, format=BGR", &error);