G729 详细使用文档
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
G729 详细使用文档的更多相关文章
- Linux rhel7 下MySQL5.7.18详细安装文档
Linux rhel7 下MySQL5.7.18详细安装文档 本文安装MySQL5.7使用的是vm虚拟机rhel7操作系统 ,ftp文件传输是FileZilla3.27,远程连接xssh5.0 1 登 ...
- Go.js 没有中文文档 也没有中文demo 学起来很费劲 给大家整理一个算是详细的文档
<!DOCTYPE html> <html> <head> <meta name="viewport" content="wid ...
- OpenStack Pike超详细搭建文档 LinuxBridge版
前言 搭建前必须看我 本文档搭建的是分布式P版openstack(1 controller + N compute + 1 cinder)的文档. openstack版本为Pike. 搭建的时候,请严 ...
- OpenStack Ocata 超详细搭建文档
前言 搭建前必须看我本文档搭建的是分布式O版openstack(controller+ N compute + 1 cinder)的文档.openstack版本为Ocata.搭建的时候,请严格按照文档 ...
- 一. IntelliJ IDEA详细配置文档之初始环境搭建
前言 对于用惯了eclipse的同学来说, 突然切换为idea不是一件那么容易的事情, 所以我会发布一系列只讲解idea使用技巧的文章, 请大家多多关注. 本系列文章的配置参考网上某教程的讲解, 本 ...
- HTML文档声明
前面的话 HTML文档通常以类型声明开始,该声明将帮助浏览器确定其尝试解析和显示的HTML文档类型.本文将详细介绍文档声明DOCTYPE 特点 文档声明必须是HTML文档的第一行.且顶格显示, ...
- 深入理解DOM节点类型第七篇——文档节点DOCUMENT
× 目录 [1]特征 [2]快捷访问 [3]文档写入 前面的话 文档节点document,隶属于表示浏览器的window对象,它表示网页页面,又被称为根节点.本文将详细介绍文档节点document的内 ...
- 从零开始编写自己的C#框架(4)——文档编写说明
在写本系列的过程中,了解得越多越不知道从哪里做为切入点来写,几乎每个知识点展开来说都可以写成一本书.而自己在写作与文档编写方面来说,还是一个初鸟级别,所以只能从大方面说说,在本框架开发所需的范围内来讲 ...
- SharePoint 2010 文档管理系列之准备篇
前言:很早自己就想写一个系列的文章,但是不知道写什么,最近在QQ群里,好多人说在做文档管理,其实文档管理也是SharePoint的一个很不错的功能点,自己想了想,也想多学习点东西,所以写这个主题吧,今 ...
随机推荐
- (转)Direct3d 设备丢失 (device lost)
1.什么时候设备丢失 一个Direct3D设备, 有两种状态: 操作状态或丢失状态. 操作状态: 是设备的正常状态, 设备按预期运行, 并且能present所有渲染效果 丢失状态: 所有渲染操作悄然失 ...
- WPF 在TextBox失去焦点时检测数据,出错重新获得焦点解决办法
WPF 在TextBox失去焦点时检测数据,出错重新获得焦点解决办法 在WPF的TextBox的LostFocus事件中直接使用Focus()方法会出现死循环的问题 正确的使用方式有2中方法: 方法一 ...
- boost实用工具:创建一个禁止复制的类 noncopyable
boost的noncopyable允许创建一个禁止复制的类,使用很简单,但很好用! C++ Code 12345678910111213141516171819202122232425262728 ...
- es6 javascript的class的静态方法、属性和实例属性
http://blog.csdn.net/qq_30100043/article/details/53542966
- python_cookies
1.将cookies保存到变量中,然后打印cookie中的值 #coding:utf-8 #将cookies保存到变量中,然后打印cookie中的值 import urllib2 import coo ...
- log4net写txt日志
1.配置: <configSections>节点下添加: <section name="log4net" type="log4net.Config.Lo ...
- 编程之美 set 10 队列中取最大值操作问题
题目 假设有这样一个拥有三个操作的队列 1. Enqueue(v) 2. Dequeue() 3. MaxEle() 请设计一种数据结构和算法, 让 MAXELE 操作的时间复杂度尽可能的低 思路 1 ...
- C语言字符串的输入输出
字符串的输出 在C语言中,输出字符串的函数有两个: puts():直接输出字符串,并且只能输出字符串. printf():通过格式控制符 %s 输出字符串.除了字符串,printf() 还能输出其他类 ...
- 微信开发工具包,jar包
https://www.oschina.net/code/snippet_218887_22896 github地址:https://github.com/wuweiit/weixinapi
- 那个你经常用的abs函数(取绝对值)真的总是返回非负数吗?
前几天在牛客网看到一道关于abs()函数返回值的题目,见下图,当时还没反应过来,第一反应是:自从我开始学C语言,就知道它是用来求int数的绝对值的,返回值当然是0或者正数啊,一看答案就是A. 后来思来 ...