我需要使用gstreamer通过网络流式传输vorbis编码的音频文件,然后使用VLC在接收器上播放该文件。这个问题:GStreamer rtp stream to vlc提供了很好的指导。
我的gstreamer管道是-
gst-launch-1.0 filesrc location=filename.mkv ! matroskademux ! rtpvorbispay config-interval=10 pt=98 ! udpsink host=127.0.0.1 port=5001
在接收器上,我使用以下SDP文件运行vlc-
v=0
c=IN IP4 127.0.0.1
m=audio 5001 RTP/AVP 98
a=rtpmap:98 vorbis/44100/1
我的问题是关于SDP语法的。端口5001是否在正确的位置指定? RFC5215表示SDP中的另一个必填字段是-
a=fmtp:98 configuration=AAAAAZ2f4g9NAh4aAXZvcmJpcwA...
我可以从gstreamer输出中读取大写字母,并将其用作测试目的的配置字符串。但是,在现场,由于在gstreamer管道中存在config-interval,这是否也应该通过网络发送?有什么方法可以使用VLC进行接收而不必传递配置字符串。
此外,我不确定此配置字符串的确切含义。每个文件都会改变吗?
编辑:我将配置字符串从gstreamer caps输出复制到SDP文件。仍然没有运气播放音频。