Gstreamer无法通过rtspsrc播放音频

时间:2015-03-05 10:33:13

标签: windows audio gstreamer rtsp

我无法播放来自rtsp服务器的音频,我对视频播放没有任何问题,但是当我尝试播放音频时发生了一些错误, 以下是用于播放视频的命令:

C:\gstreamer\1.0\x86_64\bin>gst-launch-1.0 rtspsrc location=rtsp://192.168.2.116/axis-media/media.amp latency=0 !decodebin ! autovideosink

然而,当我将autovideosink更改为autoaudiosink时,如下所示:

C:\gstreamer\1.0\x86_64\bin>gst-launch-1.0 rtspsrc location=rtsp://192.168.2.116/axis-media/media.amp latency=0 !decodebin ! autoaudiosink

我收到以下错误:

ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1: Internal data flow error.
Additional debug info:
gstbasesrc.c(2933): gst_base_src_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc1:
streaming task paused, reason not-linked (-1)

我是stackoverflow和Gstreamer的新手,非常感谢你的任何帮助

2 个答案:

答案 0 :(得分:1)

IIRC rtspsrc将为每个流输出一个打击垫(视频和音频可能是分开的),因此您可以将视频输出链接到音频链接。

您可以使用-v运行以查看每个打击垫上的大写并验证这一点。然后,您可以使用gst-launch-1.0中的填充名称正确链接:

类似的东西:

gst-launch-1.0 rtspsrc location=rtsp://192.168.2.116/axis-media/media.amp latency=0 name=src src.stream_0 !decodebin ! autovideosink

检查要用于每个流的正确stream_%u数字,以使其正确链接。

你也可以在视频链接之前错过一个视频转换。我也会测试一下。

答案 1 :(得分:1)

感谢thiagoss的回复,我第一次成功使用以下管道播放视频和音频:

gst-launch-1.0 rtspsrc location=rtsp://192.168.2.116/axis-media/media.amp latency=0 name=src src. ! decodebin ! videoconvert ! autovideosink src. ! decodebin ! audioconvert ! autoaudiosink