上篇(webRTC中音频相关的netEQ(三):存取包和延时计算)讲了语音包的存取以及网络延时和抖动缓冲延时的计算,MCU也收到了DSP模块发来的反馈报告.本文讲MCU模块如何根据网络延时.抖动缓冲延时和反馈报告等决定发给DSP模块的控制命令, 好让DSP模块先对取出的语音包做解码处理(如果有的话)以及根据这些命令做信号处理. MCU模块给DSP模块发的控制命令主要有正常播放(normal).加速播放(accelerate).减速播放(preemptive expand).丢包补偿(PLC,代码…
上篇(webRTC中音频相关的netEQ(四):控制命令决策)讲了MCU模块是怎么根据网络延时.抖动缓冲延时和反馈报告等来决定给DSP模块发什么控制命令的.DSP模块根据收到的命令进行相关处理,处理简要流程图如下. 从上图看出如果有语音包从packet buffer里取出来先要做解码得到PCM数据,没有就不用做解码了.编解码也是数字信号处理算法的一种,是个相当大的topic,不是本文所关注的,本文关注的是对解码后的PCM数据做数字信号处理,如加减速.如果命令是非Normal命令,就要根据命令做D…
上篇(webRTC中音频相关的netEQ(二):数据结构)讲了netEQ里主要的数据结构,为理解netEQ的机制打好了基础.本篇主要讲MCU中从网络上收到的RTP包是怎么放进packet buffer和从packet  buffer里取出来,以及网络延时值(optBufLevel)和抖动缓冲延时值(buffLevelFilt)的计算.先看RTP语音包是怎么放进packet  buffer的. 前面说过把从网络收到的RTP包放进packet  buffer时有个slot概念,每个slot里放一个包…
上篇(webRTC中音频相关的netEQ(一):概述)是netEQ的概述,知道了它主要是用于解决网络延时抖动丢包等问题提高语音质量的,也知道了它有两大单元MCU和DSP组成.MCU 主要是把从网络收到的语音RTP包放进packet buffer内,同时也会根据计算出来的网络延时和抖动缓冲延时以及DSP单元反馈过来的信息决定给DSP发什么控制命令(命令主要有正常播放.加速.减速.丢包补偿.融合等),也会把语音包从packet buffer里取出来给DSP单元处理.DSP主要是对取出来的语音包解码并…
上篇文章(语音通信中终端上的时延(latency)及减小方法)说从本篇开始会切入webRTC中的netEQ主题,netEQ是webRTC中音频技术方面的两大核心技术之一(另一核心技术是音频的前后处理,包括AEC.ANS.AGC等,俗称3A算法).webRTC是Google收购GIPS重新包装后开源出来的,目前已是有巨大影响力的实时音视频通信解决方案.国内的互联网公司,要做实时音视频通信产品,绝大多数都是基于webRTC来做的,有的是直接用webRTC的解决方案,有的是用webRTC里的核心技术,…
2017-07-07  20:17:17 最底部附结构图(实在是结构图太长了没办法) 2017-06-22  09:11:43 一.Sass的控制命令 1.@if语句 @if 指令是一个 SassScript,它可以根据条件来处理样式块,如果条件为 true 返回一个样式块,反之 false 返回另一个样式块. 在 Sass 中除了 @if 之,还可以配合 @else if 和 @else 一起使用. 示例::控制一个元素隐藏或显示的代码, 原理:定义一个混合宏,通过 @if...@else..…
Java 设计模式系列(十四)命令模式(Command) 命令模式把一个请求或者操作封装到一个对象中.命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能.命令模式属于对象的行为模式,又称为行动(Action)模式或交易(Transaction)模式. 一.命令模式的结构 命令模式是对命令的封装.命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象. 每一个命令都是一个操作:请求的一方发出请求要求执行一个操作:接收的一方收到请求,并执…
http://blog.csdn.net/shaolyh/article/details/6583226 Linux 视频设备驱动V4L2最常用的控制命令使用说明(1.02) 命令 功能 VIDIOC_QUERYCAP 查询设备驱动的功能 VIDIOC_ENUM_FMT 获取当前视频设备支持的视频格式 VIDIOC_S_FMT 设置视频设备的视频数据格式,例如设置视频图像数据的长.宽,图像格式(JPEG.YUYV格式); VIDIOC_REQBUFS 请求V4L2驱动分配视频缓冲区(申请V4L2…
zookeeper提供了很多方便的功能,方便我们查看服务器的状态,增加,修改,删除数据(入口是zkServer.sh和zkCli.sh). 还提供了一系列四字命令,方便我们跟服务器进行各种交互,来确认服务器当前的工作情况(这也是服务器监控告警的基础). 本文所讲的zkCli.sh和zkServer.sh均位于以下目录中: /usr/local/zookeeper-server1 目录分布情况请参考我的另一篇文章: zookeeper集群搭建 - http://blog.csdn.net/linu…
linux下监控进程需掌握的四个命令   在LInux系统下,最困难的工作之一就是跟踪正在系统中运行的程序,尤其是现在,图形桌面使用很多的程序,只是为了生成一个桌面环境,系统中运行了太多的进程,幸运的是, 有一些命令行工具可使这些任务轻松些,下面介绍四个基本工具: 一.进程的查看: 1.特定时间进程监控:ps 默认情况下,ps命令不会显示太多的信息,只显示属于当前用户并且正在当前终端运行的进程,如下图:…