Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gstreamer VLC无法理解RTSP流:此比特流不包含Vorbis音频数据_Gstreamer_Vlc_Rtsp_Rtp - Fatal编程技术网

Gstreamer VLC无法理解RTSP流:此比特流不包含Vorbis音频数据

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

我有一个纯音频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] 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写的,但几乎不相关。它从RTP
pay(load)
depay
(在客户端)。这也是一个很好的观察,decodebin实际上是自动完成它的部分,但是如果我使用更具体的
vorbisdec
,它的工作原理是一样的。对不起,如果这是所有太具体的图书馆,我正在使用,因此很难帮助。