https://tools.ietf.org/html/rfc4749
git://git.linphone.org/linphone-android.git
http://stackoverflow.com/questions/31099875/how-to-integrate-g-729-codec-with-pjsip-project
doc for the API to use bcg729 is directly in the source code, see include/bcg729/encoder.h and decoder.h
In the msbcg729 folder you can found, in bcg729_enc.c and bcg729_dec.c, an example of bcg729 library usage as a mediastreamer2 plugin.
CSIPSIMPLE 源代码中也有相关的实际使用代码,不过不是 bcg729 库,但使用方法应该大致相同吧。
========================
G.711
也称为PCM(脉冲编码调制),是国际电信联盟订定出来的一套语音压缩标准,主要用于电话。它主要用脉冲编码调制对音频采样,采样率为8k每秒。它利用一个
64Kbps 未压缩通道传输语音讯号。 起压缩率为1:2, 即把16位数据压缩成8位。G.711是主流的波形声音编解码器。
G.711 标准下主要有两种压缩算法。一种是µ-law algorithm (又称often u-law, ulaw,
mu-law),主要运用于北美和日本;另一种是A-law
algorithm,主要运用于欧洲和世界其他地区。其中,后者是特别设计用来方便计算机处理的。这两种算法都使用一个采样率为8kHz的输入来创建64Kbps的数字输出。G.711采用一种称为分组丢失隐藏(PLC)的技术来减少丢包带来的实际影响。有效的信号带宽在静默期间通过语音活动检测(VAD)这一过程被减小。
8KHz采样率 X 16bit量化 = 128Kbps , 2:1压缩后为64Kbps
G.729
G.729是ITU-T定义的音频编码算法,frame
只有10ms,G.729点到点的时延为25ms,G.729基于CELP模式,用CS-ACELP(Conjugate-Structure
Algebraic Code Excited Linear Prediction)方法以8Kbps的波特率对语音进行编码。
G.729 几乎都使用于 Voice over IP(VoIP),G.711编解码器可将VoIP压缩至 65Kb/s,使之可以在局域网上传输。
G.729采用的是共轭结构的代数码激励线性预测算法(Conjugate Structure Algebraic Code Excited
Linear
Prediction,CS-ACELP),这是一种基于CELP编码模型的算法。由于G.729编码器能够实现很高的语音质量(MOS分4.1)和很低的算法延时,被广泛地应用于数据通信的各个领域,如IP
Phone和H.323系统等。G.729是对8KHz采样16bit量化的线性PCM语音信号进行编码,压缩后数据速率为8Kbps,具备16:1的高压缩率。
8KHz采样率 X 16bit量化 = 128Kbps , 16:1压缩后为8Kbps