首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >G729附件中的歧义

G729附件中的歧义
EN

Stack Overflow用户
提问于 2014-06-10 08:56:09
回答 2查看 8.6K关注 0票数 1

在SIP SDP中:

如何通过读取SDP媒体属性来检测G729A编解码器?例如下面的SDP,说这是一个G729B编解码器,

代码语言:javascript
复制
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“吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-11 12:10:25

调自RFC4856 2.1.9节

代码语言:javascript
复制
    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有效负载中的表示形式。

  • G729,G729a (和G729c):
    • m=行号码: 18
    • a=rtpmap:18 G 729/8000
    • a=fmtp:18 annexb=no (或不存在)

  • G729b
    • m=行号码: 18
    • a=rtpmap:18 G 729/8000
    • a=fmtp:18 annexb=yes

  • G729d
    • m=行中的数:n(动态)
    • a=rtpmap:n G729D/8000
    • a=fmtp:n annexb=no (或不存在)

  • G729e
    • m=行中的数:n(动态)
    • a=rtpmap:n G729E/8000
    • a=fmtp:n annexb=no (或不存在)

  • G729f
    • m=行中的数:n(动态)
    • a=rtpmap:n G729D/8000
    • a=fmtp:n annexb=yes

  • G729g
    • m=行中的数:n(动态)
    • a=rtpmap:n G729E/8000
    • a=fmtp:n annexb=yes
票数 3
EN

Stack Overflow用户

发布于 2022-06-28 13:50:57

我相信在上述对SDP的描述中存在一个误解

来自RFC7261

当要约或回答具有G729且附件b参数不存在时,报价者或应答者知道它暗示了违约。 "annexb=yes“。这是因为annexb属性是 原始注册音频/G 729 RFC4856。

这清楚地表明,没有附件将被视为annexb=yes。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24136765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档