无法获取libvlc来播放sdp文件

时间:2012-01-16 19:16:23

标签: voip rtp libvlc sdp

我有以下程序生成的sdp文件:

v=0
c=IN IP4 192.168.0.20
t=0 0
m=audio 1235 RTP/AVP 101
a=recvonly
a=rtpmap:101 speex/16000/1
a=fmtp:101 media=(string)audio, clock-rate=(int)16000, encoding-name=(string)SPEEX, encoding-params=(string)1, payload=(int)101, ssrc=(uint)3395200432, clock-base=(uint)1773032113, seqnum-base=(uint)12387
a=maxptime:20
m=video 1234 RTP/AVP 97
a=recvonly
a=rtpmap:97 H264/90000

我确信我的服务器正在使用这些有效负载类型和上限流式传输到那些端口。 但是,vlc不会选择视频或音频。

然而,如果你反转视频和音频,就像这样:

v=0
c=IN IP4 192.168.0.20
t=0 0
m=video 1234 RTP/AVP 97
a=recvonly
a=rtpmap:97 H264/90000
m=audio 1235 RTP/AVP 101
a=recvonly
a=rtpmap:101 speex/16000/1
a=fmtp:101 media=(string)audio, clock-rate=(int)16000, encoding-name=(string)SPEEX, encoding-params=(string)1, payload=(int)101, ssrc=(uint)3395200432, clock-base=(uint)1773032113, seqnum-base=(uint)12387
a=maxptime:20

,我拿起视频但仍然没有音频。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

所以,随便磕磕绊绊......抬起头来。

这是因为偶数端口通常用于RTP,而奇数用于RTCP。 VLC使用Live555进行后端RTP / RTCP解析,我很确定偶数/奇数是硬编码的情况。

答案 1 :(得分:0)

好的,所以对于那些谷歌搜索这个。出于某种原因,您只能在vlc中的偶数端口号上接收媒体。