Gstreamer VLC无法理解RTSP流:此比特流不包含Vorbis音频数据
我有一个纯音频RTSP流,我可以通过以下管道播放此流:Gstreamer VLC无法理解RTSP流:此比特流不包含Vorbis音频数据,gstreamer,vlc,rtsp,rtp,Gstreamer,Vlc,Rtsp,Rtp,我有一个纯音频RTSP流,我可以通过以下管道播放此流: gst-launch-1.0 rtspsrc location="rtsp://127.0.0.1:8554/test" ! rtpvorbisdepay ! decodebin ! autoaudiosink 但是,当我尝试用VLC以这种方式打开它时: vlc rtsp://127.0.0.1:8554/test 它不播放任何声音(尽管它确定流的长度并“播放”),并将以下内容输出到控制台: [00007f9ebc04fa80] vor
gst-launch-1.0 rtspsrc location="rtsp://127.0.0.1:8554/test" ! rtpvorbisdepay ! decodebin ! autoaudiosink
但是,当我尝试用VLC以这种方式打开它时:
vlc rtsp://127.0.0.1:8554/test
它不播放任何声音(尽管它确定流的长度并“播放”),并将以下内容输出到控制台:
[00007f9ebc04fa80] vorbis decoder error: this bitstream does not contain Vorbis audio data
[00007f9ebc04fa80] vorbis decoder error: this bitstream does not contain Vorbis audio data
[00007f9ebc04fa80] vorbis decoder error: this bitstream does not contain Vorbis audio data
…等等
用于播放流的管道:
str = g_strdup_printf ("( "
"filesrc location=%s ! oggdemux "
"! rtpvorbispay name=pay0 pt=96 " ")", argv[1]);
帮助?这看起来不像是一个C语言问题,而且对其他信息也有点了解。我所能提供的只是注意到您传递给gst-launch-1.0的参数与“管道”字符串中的参数不同。另外,您是否打算将
rtpvorbisdepay
更改为rtpvorbispay
,或者这是一个打字错误?我还看到您明确指定了oggdemux
(如在OGG Vorbis中),而工作版本使用的是autoaudiosink
,我认为它可以检测音频格式。难道你的流实际上不是Vorbis流吗?@paddy是的,你是对的,它是用C写的,但几乎不相关。它从RTPpay(load)
到depay
(在客户端)。这也是一个很好的观察,decodebin实际上是自动完成它的部分,但是如果我使用更具体的vorbisdec
,它的工作原理是一样的。对不起,如果这是所有太具体的图书馆,我正在使用,因此很难帮助。