媒体行中的媒体格式(payloadtype number)与rtpmap不同
问题描述:
在测试SIP视频呼叫时,我在下面的媒体行信息中找到了所提供媒体的答案。这是有效的媒体? 地方媒体格式数量与rtpmap数不同:媒体行中的媒体格式(payloadtype number)与rtpmap不同
m=video 49218 RTP/AVP 109
b=TIAS:322000
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=42801f; max-mbps=216000; max-fs=3600; sar=13
a=sendonly
答
我要说的是,这是一个实现的bug,因为rtpmap属性不引用已在媒体上线,有效地渲染指定了负载格式属性无用。
从Rfc4566:
a=rtpmap:<payload type> <encoding name>/<clock rate> [/<encoding
parameters>]
This attribute maps from an RTP payload type number (as used in
an "m=" line) to an encoding name denoting the payload format
to be used.
答
这不是一个有效的会话描述,但对于一个更微妙的原因,而不是拉尔夫的答案。 PT(有效载荷类型)109落在RFC 3551中定义的RTP/AVP配置文件的动态范围内,这是由于m
行中的RTP/AVP
而导致的。 “动态”意味着它说:RTP/AVP定义了一大堆标准编解码器 - PCM mu-law,G.729等等,并且还允许您定义自己的PT。
在这里,描述中说“我们将使用109的自定义PT,并在96处定义另一个PT,并且忘记定义109的含义”。
定义一堆rtpmap
属性并且不使用它们是完全有效的;使用PT然后不定义它是无效的!