编解码器,编码器 - 解码器的简称,做两个基本操作 -

  • 首先,它将模拟语音信号转换为其等效数字形式,以便可以容易地发送。

  • 此后,它将压缩的数字信号转换回其原始模拟形式,以便可以重放。

市场上有许多编解码器 - 有些是免费的,有些则需要许可。编解码器在声音质量上不同,并且带宽相应地变化。

硬件设备如电话和网关支持几种不同的编解码器。当彼此交谈时,他们谈判使用哪个编解码器。

在本章中,我们将讨论一些流行的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 编解码器的更多相关文章

  1. SIP (Session Initiation Protocol) 协议

    Session Initiation Protocol 介绍 SIP是VoIP技术最常使用的协议,它是一种应用程序层协议,可与其他应用程序层协议配合使用,以控制Internet上的多媒体通信会话. V ...

  2. 流媒体学习二-------SIP协议学习(基本场景分析 )

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ 1.SIP业务基本知识 1.1 业务介绍 会话初始协议(Session Initiation Protocol) ...

  3. SIP SDP RTSP RTP RTCP webrtc

    rfc1889  rfc2326  rfc3261  rfc3550  rfc3856  rfc6120. SIP SDP RTSP  RTP RTCP,就像他们出现的顺序一样,他们在实际应用中的启用 ...

  4. doubango(5)--SIP协议栈传输层的启动

    SIP协议的INVITE消息发起流程 当通过sip协议发起一个会话时,需要通过invite消息实现该流程.而SIP协议是一个基于事务的协议,每一个sip会话的都是通过sip部件间的一系列消息来完成的. ...

  5. 使用SIP Servlet为Java EE添加语音功能

    会话发起协议(Session Initiation Protocol,SIP)是一种信号传输协议,用于建立.修改和终止两个端点之间的会话.SIP 可用于建立 两方呼叫.多方呼叫,或者甚至 Intern ...

  6. 阐述:SIP协议是什么

    sip协议是什么?可能刚刚接触这个协议的朋友会掌握不好它的定义.那么首先我们要了解一下,目前企业中大多数VoIP应用都使用H.323协议,但是,随着越来越多的企业研究SIP协议,不久的将来基于SIP协 ...

  7. 【协议学习】SIP基本场景分析

    1.SIP业务基本知识 1.1 业务介绍 会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始.管理和终止网络中的语音和视频会话,具体地说就是用来生成.修改和 ...

  8. SIP业务基本知识

    1.SIP业务基本知识 1.1 业务介绍会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始.管理和终止网络中的语音和视频会话,具体地说就是用来生成.修改和终 ...

  9. sip协议呼叫流程详解

    1.SIP业务基本知识 1.1 业务介绍会话初始协议(Session Initiation Protocol)是一种信令协议,用于初始.管理和终止网络中的语音和视频会话,具体地说就是用来生成.修改和终 ...

随机推荐

  1. 13 form表单

    form表单中可包括 <input > 类型包括 text(name,value) password(name,value) checkbox(name,value) radio(chec ...

  2. Oracle课程档案,第四天

    “子查询”就是查询中嵌套着另一个查询,也即通过SELECT语句的嵌套使用形成子查询.当我们不知道特定的查询条件时,可以用子查询来为父查询提供查询条件以获得查询结果. 子查询先清除子查询 在清除主查询 ...

  3. Java代码一行一行读取txt的内容

    public static void main(String[] args) { // 文件夹路径 String path = "E:\\eclipse work\\ImageUtil\\s ...

  4. UUID、GUID、SID、SUSID

    1. UUID: (Universally Unique Identifier) 通用唯一标识符, 是一个标识符标准用于软件架构,由开放软件基金会(OSF)作为分布式计算环境(DCE)的一部分而制作的 ...

  5. 前后端分离项目,标准json协议格式参考

      正常返回 { "code": 0, "data": [{ "cTime": "2018-11-19 14:46:16" ...

  6. git diff 结果分析

    git diff 的5个使用场景: 1.staging area和working area的文件 (无其他参数时) git diff   2.master分支和working area的文件 (用ma ...

  7. 《Redis 优化》

    一:管道技术 - 由于 redis 和 客户端是使用 TCP 连接的,那么在使用中就会产生往返耗时. - 虽然可能单条影响并不大,但是如果执行较多的命令会对性能产生影响. - 使用管道原理和 keep ...

  8. @ConfigurationProperties + @EnableConfigurationProperties

    1.ConfigurationProperties 在类上通过@ConfigurationProperties注解声明当前类为属性读取类. 举例: @ConfigurationProperties(p ...

  9. Vuex之理解Getters的用法

    一.什么是getters在介绍state中我们了解到,在Store仓库里,state就是用来存放数据,若是对数据进行处理输出,比如数据要过滤,一般我们可以写到computed中.但是如果很多组件都使用 ...

  10. [LeetCode] 系统刷题3_Binary search

    可以参考 [LeetCode] questions conclusion_ Binary Search