webrtc-neteq音频抖动处理

音频包每个的打包间隔一样, 假设打包间隔为20ms, 则1s产生50个包 (1000/20 ) 假设8k采样率,每个包就有160采样点 (80000/ 50 = 160) 一. 网络延迟计算方式: 计算最近延迟 每次从队列中获取数据后,增加采样点计数, bufferQueue.pop(){ m...

2019-05-08 11:53:33

阅读数 80

评论数 0

ulpfec,flexFec,Pro-MPEG cop3协议对比

webrtc和FFmpeg中几种fec保护机制,几个通用的字段 snbase: 保护的rtp包的开始seq. P|X|CC|M| :保护的rtp包第一字节n多个标志 xor pt recovery: 保护的rtp包的payloadtype xor值 TS recovery: 保护的rtp...

2019-05-07 16:53:36

阅读数 106

评论数 0

ulp-fec,flex-fec mask表解读

1. fec参数定义 struct FecProtectionParams { //fec冗余度 ,(fec_rate/255 * n) n个媒体包生成的fec包数量 int fec_rate; //支持的最大帧数量,当达到这么多数据帧的情况下必须生成一...

2019-05-05 12:59:27

阅读数 74

评论数 0

webrtc音视频抖动缓冲区伪代码

webrtc jitterbuffer rtp包几个时间值: 接收时间 ,发送时间,网络传输时间,网络延迟时间(网络排队) rtp包的接收时间 = sendtime + transferTime rtp包的接收时间 = sendtime + transferTime + netdelay...

2019-04-08 11:01:25

阅读数 8363

评论数 0

webrtc-CongestionController

CongestionController 网络拥塞控制主模块,综合了基于丢包估算和基于网络延迟估算方式进行的 内部成员实例 // rtprtcp模块包装,适配到节拍器中 PacketRouter* const packet_router_; //发送节拍器 const ...

2019-04-01 18:08:28

阅读数 182

评论数 0

webrtc-TransportFeedbackAdapter

TransportFeedbackAdapter 发送端,用于处理接收端来的rtcp-transportCC信息,用于发送端计算基于延迟的估算码率 TransportFeedbackAdapter(RtcEventLog* event_log, ...

2019-04-01 18:08:02

阅读数 186

评论数 0

webrtc-RemoteBitrateEstimatorSingleStream

CongestionController::WrappingBitrateEstimator RemoteBitrateEstimatorSingleStream 兼容以前老的基于延迟码率估算方式,接收端使用RemoteBitrateEstimatorSingleStream估算码率的,然后通过R...

2019-04-01 18:07:37

阅读数 123

评论数 0

webrtc-RemoteEstimatorProxy

RemoteEstimatorProxy 接收端使用RemoteEstimatorProxy,统计接收的报信息,然后进行feedback包的构建,并且触发发送。 继承于Module,有Process处理循环 数据输入部分 void RemoteEstimatorProxy::Incoming...

2019-04-01 18:07:07

阅读数 123

评论数 1

webrtc-DelayBasedBwe

DelayBasedBwe 基于接收端网络延迟,估算出的码率 主要用的的成员: //计算帧间间隔 std::unique_ptr<InterArrival> inter_arrival_; //估算延迟的3中方法,卡尔曼滤波,基于斜率最小二乘,基于斜率的中值...

2019-04-01 10:35:57

阅读数 110

评论数 0

webrtc-AimdRateControl

AimdRateControl 控制码率如何增减,及其数值 根据网络状态,过载,欠载状态 更新内部码率控制状态机 增加码率,减少码率,保持码率 根据实际接受码率的变化波动情况,计算码率的如何进行增加,减少,及其改变的量 增加码率 : 前提假设码率正常变化符合正态分布, (1.) 如何变...

2019-03-29 18:37:07

阅读数 117

评论数 0

webrtc-BitrateControllerImpl

bitrate_controller_impl 1.主要是包装了 SendSideBandwidthEstimation 2.适配了rtcp接收模块,把部分的rr,remb包信息输出到 SendSideBandwidthEstimation中 3.基于延迟估算的带宽通过 OnDelayBasedB...

2019-03-29 10:04:01

阅读数 112

评论数 0

webrtc-SendSideBandwidthEstimation

SendSideBandwidthEstimation 基于RTCP-RR包的,丢包进行码率估算 综合基于延迟的码率,估算出目标码率 这个是估算码率的最终输出类 一. 基于延迟模块估算码率后调用此函数 ,用于(四.)的计算 void UpdateDelayBasedEstimate(int...

2019-03-29 09:47:11

阅读数 108

评论数 0

webrtc-PacedSender

PacedSender 发送节拍器,控制发送的节奏,大概5ms一次,发送比较均匀 使用的内部类 PacedSender::IntervalBudget 根据设置的码率,计算这个时间间隔(IncreaseBudget(delta_time_ms) 最大kWindowMs = 500)可以发送的...

2019-03-28 18:20:14

阅读数 100

评论数 0

webrtc-AlrDetector

网络受限探测器,探测最近一段时间的发送码率跟预测的码率关系 <%60 开始设置受限标志,开始时间值 %60 -%70 保持不变 >%70 清除受限标志 1.设置预测码率 void SetEstimatedBitrate(int bitrate_bps)...

2019-03-28 18:00:18

阅读数 126

评论数 0

webrtc-PacketRouter

PacketRouter 这个比较简单就是数据发送的出口吧 组合了一组RtpRtcp模块,进行数据的发送控制 AddRtpModule() ; RemoveRtpModule() 控制发送rtp 有效包 TimeToSendPacket(); 控制发送rtp pad包,填充垃圾数据,用...

2019-03-28 17:59:41

阅读数 91

评论数 0

webrtc-RateStatistics

计算窗口期的码率, 通过update累加count,然后除以采样的窗口期时间 , (accumulated_count_/window_size_ms) * scale 创建对象 //window_size_ms: 统计窗口大小 //scale : 计算结果,缩放因子 RateStati...

2019-03-28 10:50:56

阅读数 85

评论数 0

webrtc-InterArrival

为了计算2帧/组数据之间的传输时间延迟(发送端时间戳差,接收端接收时间差),传输字节大小差 可能网络设备会把多个包聚合到一起进行发送的问题 构造 // timestamp_group_length_ticks:时间戳间隔少于这个值,表示是一组数据 // timestamp_to_ms_co...

2019-03-27 18:13:05

阅读数 92

评论数 0

webrtc-OveruseDetector

网络状态探测器,用于探测网络当前状态 一. 探测网络状态 过载了 网络负荷比较大,需要减少流量 正常状态 欠载 网络负荷比较小,可以加大流量 – // ts_delta:2帧发送的相对延迟 // num_of_deltas: 计算offset的点的个数 // now_ms...

2019-03-27 15:33:18

阅读数 121

评论数 0

webrtc-MedianSlopeEstimator

webrtc中网络排队,基于趋势中值算法(MedianSlopeEstimator),用于推测网络的延迟趋势,延迟值。 用于计算直线 y=ax+b 创建对象 // window_size:窗口大小,最多这多点 // threshold_gain: MedianSlopeEstimator(...

2019-03-27 10:03:11

阅读数 91

评论数 0

webrtc-TrendlineEstimator

webrtc网络排队趋势推测器(TrendlineEstimator),用于推测网络的延迟趋势,延迟值。 用于计算直线 y=ax+b 创建 // window_size: 窗口大小,数据点数组的大小,如果数据过多则删除老的数据 // smoothing_coef :平滑输入y的因子 , (...

2019-03-26 20:01:09

阅读数 117

评论数 0

提示
确定要删除当前文章?
取消 删除