SIP 编解码器
编解码器,编码器 - 解码器的简称,做两个基本操作 -
首先,它将模拟语音信号转换为其等效数字形式,以便可以容易地发送。
此后,它将压缩的数字信号转换回其原始模拟形式,以便可以重放。
市场上有许多编解码器 - 有些是免费的,有些则需要许可。编解码器在声音质量上不同,并且带宽相应地变化。
硬件设备如电话和网关支持几种不同的编解码器。当彼此交谈时,他们谈判使用哪个编解码器。
在本章中,我们将讨论一些流行的SIP音频编解码器,被广泛使用。
G.711
G.711是国际电联在1972年引入的用于数字电话的编解码器。编解码器有两种变体: A-Law 正在欧洲和国际电话链接中使用, uLaw 用于美国和日本。
G.711使用对数压缩。它将每个16位样本压缩为8位,从而实现1:2的压缩比。
一个方向的比特率为64 kbit / s,因此一个呼叫消耗128 kbit / s。
G.711是与PSTN网络使用的相同的编解码器,因此它提供最好的语音质量。然而,它消耗比其他编解码器更多的带宽。
它在我们有很多带宽的局域网中工作的最好。
G.729
G.729是一种具有低带宽要求的编解码器; 它提供良好的音频质量。
编解码器以10毫秒长的帧编码音频。给定8kHz的采样频率,10ms帧包含80个音频样本。
编解码算法将每个帧编码为10个字节,因此在一个方向上产生的比特率为8 kbit / s。
G.729是许可编解码器。想要使用此编解码器的最终用户应购买实现它的硬件(无论是VoIP电话还是网关)。
G.729的常用变体是G.729a。它与原始编解码器线路兼容,但具有较低的CPU要求。
G.723.1
G.723.1是国际电联宣布的竞争的结果,目的是设计一个编解码器,允许呼叫超过28.8和33 kbit / s调制解调器链路。
我们有两个G.723.1的变体。它们都在30ms的音频帧(即240个采样)上操作,但算法不同。
第一变体的比特率是6.4kbit / s,而对于第二变体,它是5.3kbit / s。
两个变体的编码帧分别为24和20字节长。
GSM 06.10
GSM 06.10是为GSM移动网络设计的编解码器。它也称为GSM全速率。
这种GSM编解码器的变体可以自由使用,所以你经常会在开源VoIP应用中找到它。
编解码器对20ms长(即160个样本)的音频帧进行操作,并且将每个帧压缩为33字节,因此所得的比特率为13kbit /。
SIP 编解码器的更多相关文章
- SIP (Session Initiation Protocol) 协议
Session Initiation Protocol 介绍 SIP是VoIP技术最常使用的协议,它是一种应用程序层协议,可与其他应用程序层协议配合使用,以控制Internet上的多媒体通信会话. V ...
- 流媒体学习二-------SIP协议学习(基本场景分析 )
作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.SIP业务基本知识 1.1 业务介绍 会话初始协议(Session Initiation Protocol) ...
- SIP SDP RTSP RTP RTCP webrtc
rfc1889 rfc2326 rfc3261 rfc3550 rfc3856 rfc6120. SIP SDP RTSP RTP RTCP,就像他们出现的顺序一样,他们在实际应用中的启用 ...
- doubango(5)--SIP协议栈传输层的启动
SIP协议的INVITE消息发起流程 当通过sip协议发起一个会话时,需要通过invite消息实现该流程.而SIP协议是一个基于事务的协议,每一个sip会话的都是通过sip部件间的一系列消息来完成的. ...
- 使用SIP Servlet为Java EE添加语音功能
会话发起协议(Session Initiation Protocol,SIP)是一种信号传输协议,用于建立.修改和终止两个端点之间的会话.SIP 可用于建立 两方呼叫.多方呼叫,或者甚至 Intern ...
- 阐述:SIP协议是什么
sip协议是什么?可能刚刚接触这个协议的朋友会掌握不好它的定义.那么首先我们要了解一下,目前企业中大多数VoIP应用都使用H.323协议,但是,随着越来越多的企业研究SIP协议,不久的将来基于SIP协 ...
- 【协议学习】SIP基本场景分析
1.SIP业务基本知识 1.1 业务介绍 会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始.管理和终止网络中的语音和视频会话,具体地说就是用来生成.修改和 ...
- SIP业务基本知识
1.SIP业务基本知识 1.1 业务介绍会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始.管理和终止网络中的语音和视频会话,具体地说就是用来生成.修改和终 ...
- sip协议呼叫流程详解
1.SIP业务基本知识 1.1 业务介绍会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始.管理和终止网络中的语音和视频会话,具体地说就是用来生成.修改和终 ...
随机推荐
- HTML中的清除浮动的常用方法(转载)
以下面的div为例: HTML: <div class="test"> <div class="test1"></div> ...
- 参看gitlab版本号
cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
- IDEA多个服务打断点 各服务乱窜的问题
Setting --> Build, Execution, Deployment --> Debugger 选中即可
- cmder 常用配置(包括默认管理员运行和解决中文乱码)
简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有 ...
- java学习(二)--- 变量类型
变量声明 type identifier [ = value][, identifier [= value] ...] ; 局部变量: 1.局部变量声明在方法.构造方法.语句块中 2.局部变量在方法. ...
- python学习之旅(十五)
Python基础知识(14):函数(Ⅴ) 一.装饰器 decorator:本质上就是函数,可以增强函数的功能. 定义起来虽然有点复杂,但使用起来非常灵活和方便 1.不修改被装饰函数的源代码 2.不修改 ...
- 浅谈提高Django性能
Django性能优化是一件困难的事情,但是也不常常如此: 下面4步将能够轻松的提高你的网站的性能,它们非常简单你应该将它们 作为标配. 持久化数据库连接 django1.6以后已经内置了数据库持久化连 ...
- AndrewNG Deep learning课程笔记 - CNN
参考, An Intuitive Explanation of Convolutional Neural Networks http://www.hackcv.com/index.php/archiv ...
- Fiddler (进阶)内置命令与断点
Fiddler 内置命令与断点 命令 对应请求项 介绍 示例 ? All 问号后边跟一个字符串,可以匹配出包含这个字符串的请求 ?google > Body 大于号后面跟一个数字,可以匹配出请求 ...
- js的字符串代码库及讲解
1.字符串操作 1.1去除字符串空格 元字符 : \s:空格或者空白等 ^ : 限定开始位置 => 本身不占位置 $ : 限定结束位置 => 本身不占位置 | : 或者 () : 分组代表 ...