Gstreamer:无法切换密码本:rtp vorbis depay

Gstreamer: Could not swtich codebooks: rtpvorbisdepay

我正在尝试使用以下 GStreamer 管道流式传输音频:

服务器:

gst-launch-1.0 -v audiotestsrc ! audioconvert ! vorbisenc ! rtpvorbispay ! udpsink host=127.0.0.1 port=5000

客户:

gst-launch-1.0 udpsrc port=5000 ! "application/x-rtp, media=audio, clock-rate=44100, encoding-name=VORBIS, encoding-params=1, payload=96" ! rtpvorbisdepay ! vorbisdec ! audioconvert ! autoaudiosink

我从 GStreamer 收到以下消息:

警告:来自元素 /GstPipeline:pipeline0/GstRtpVorbisDepay:rtpvorbisdepay0:无法解码流。 附加调试信息:gstrtpvorbisdepay.c(614): gst_rtp_vorbis_depay_process (): /GstPipeline:pipeline 0/GstRtpVorbisDepay:rtpvorbisdepay0: 无法切换密码本

而且我在客户端上听不到任何声音。有人可以帮忙吗?

[编辑:]

当我从服务器端复制粘贴大写字母时...有效!但是在这些上限中有一个配置参数看起来非常丑陋(link here)。我注意到,如果我只是删除这个参数,它就不再起作用了。此外,我在 udpsrc 和 rtpvorbisdepay 元素上使用了 gst-inspect,但此参数没有任何内容。有人可以解释一下这个参数对应的是什么吗?有办法避免吗?

我认为这是 Theora Vorbis 的东西..如果我理解正确的话,这些是解码器初始化的一些配置参数..

Theora makes the same controversial design decision that Vorbis made to include the entire probability model for the DCT coecients and all the quan- tization parameters in the bitstream headers. This is often several hundred elds. It is therefore impossible to decode any frame in the stream without having previously fetched the codec info and codec setup headers.

~ 来自 here

有些相似question