我无法播放来自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的新手,非常感谢你的任何帮助
答案 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