在SIP SDP中:
如何通过读取SDP媒体属性来检测G729A编解码器?例如下面的SDP,说这是一个G729B编解码器,
m = audio 33712 RTP/AVP 18 101
a = rtpmap:18 G729/8000
a = fmtp:18 annexb=yes
a = rtpmap:101 telephone-event/8000
a = fmtp:101 0-15如果我得到"annexb=no",是否意味着G729a ??或者,当我得到"annexa=yes“时,只有它的G729a。根据维基百科的要求,G729编解码器有A、B、C、D、E、F等多种附件。如果我想检测其中的每一个,我可以依赖字符串“附件”,例如,我想检测G729F,我可以依赖属性字符串"annexf=yes“吗?
发布于 2014-06-11 12:10:25
调自RFC4856 2.1.9节
annexb: indicates that Annex B, voice activity detection, is
used or preferred. Permissible values are "yes" and "no"
(without the quotes); "yes" is implied if this parameter is
omitted.详情请参阅RFC3551第4.5.6节(G.729、G.729a及G.729b)及4.5.7 (G.729d及G.729e)。
一般说来,G.729/G.729a/G.729b具有相同的格式( G.729b添加带有confort噪声的附加帧)。
G.729附件C:
本附件介绍了ITU-TG.729和附件A全文浮点算法的替代实现。
G.729d和G.279e定义不同的帧格式(并在SDP媒体线中被不同地识别)
G.729附件F:
本附件说明了附件B和附件D的整合,在此界定附件D的DTX功能
G.729附件G:
本附件说明了附件B和附件E的整合,在此界定附件E的DTX功能。
所以G.729f和G.729g不引入新格式,而是使用G.729d和G.279e:(在RF3551上)的帧格式。
G.729附件B中规定的语音活动检测器(VAD)和舒适噪声发生器(CNG)算法可用于附件D和附件E帧以及G.729和G.729附件A帧。附件D和附件E对附件B CNG的操作细节载于G.729附件F和G.注意附件F和附件G不引入任何新的编码。接收器必须接受舒适的噪音帧,如果他们的使用限制没有信号。RFC 3555 7中G729D和G729E的MIME注册指定了一个可与MIME或SDP一起使用的参数,以限制舒适噪声帧的使用。
上面提到的参数是annexb=yes|no
在SDP有效负载中的表示形式。
发布于 2022-06-28 13:50:57
我相信在上述对SDP的描述中存在一个误解
来自RFC7261
当要约或回答具有G729且附件b参数不存在时,报价者或应答者知道它暗示了违约。 "annexb=yes“。这是因为annexb属性是 原始注册音频/G 729 RFC4856。
这清楚地表明,没有附件将被视为annexb=yes。
https://stackoverflow.com/questions/24136765
复制相似问题