海康威视 郑鹏-剖析WebRTC音视频传输技术

2020-02-27 2771浏览

  • 1.聚 音 视 研修不止于形 2017年10月20日-21日 北京.丽亭华苑酒店
  • 2.剖析WebRTC 音视频传输技术 郑鹏 海康威视 嵌入式工程专家
  • 3.Webrtc音频视传输技术目录 引言 实践经验谈 实时性优化 参考文献 适应变化的带宽 抗丢包 平滑网络抖动 Q&A
  • 4.引言 流媒体基本问题 实时性带来的挑战 TCP
  • 5.流媒体基本问题 带宽 时延抖动 发送发端送/端接/收接端收驱端动 驱的动带的宽带自宽适自应适应 发送去端抖/动接缓收冲端驱动 的带宽自适应 丢包
  • 6.实时性
  • 7.交互式应用
  • 8.非交互式应用
  • 9.TCP 重传的时延开销不可控 丢包环境下的低吞吐量 TCP BBR
  • 10.适应变化的带宽 Google Congestion Control Pacing/Padding 更多拥塞控制算法https://datatracker.ietf.org/wg/rmcat
  • 11.gcc算法 Delay Based BWE Loss Based BWE 算法收敛带宽约为可用带宽50%
  • 12.Delay Based BWE 输入RTP包到达间隔 判断带宽利用状态 输出带宽预估值
  • 13.Delay Based BWE AimdRateControl 发送端 DelayBasedBwe Transport-wide Sequence Number 发送端/接收端驱动的带宽自适应z Transport-wide RTCP Feedback 1s周期性更新RTT
  • 14.Delay Based BWE AimdRateControl 接收端 RemoteBitrateEstimatorAbsSendTime Absolu发te送Se端nd/T接im收e e端xt驱en动sio的n带宽自适应z RTCP REMB
  • 15.Loss Based BWE 输入 Delay Based BWE估值 发送RT端T 丢/包接率收适P端应–驱zRT动CP的R带R报宽文自 25ms周期性运行 带宽估计 As_hat 2-10% 不变 发> 1送0%端/A接s_收ha端t(i)驱=动As的_h带at(宽i-1自)(1适-0应.5Pz) P < 2% As_hat(i) = 1.05(As_hat(i-1)) SendSideBandwidthEstimation
  • 16.Pacing/Padding Pacing 5ms内发送数据 < 2.5 * 估计带宽 * 5ms 发5m送s周端期/性接运收行端驱动的带宽自适应z PacedSender, IntervalBudget Padding 实际带宽使用<估计带宽 发送端/接收端驱动的带宽自适应z 使用已发RTP包进行填充,使两者相等
  • 17.平滑网络抖动
  • 18.去抖动缓冲算法
  • 19.去抖动缓冲算法 如何确定缓冲大小 RTCP RR Jitter近似标准差 Buffer = 3*jitter “理论”上去除99%抖动
  • 20.NetEq 统一管理去抖动缓冲和PCM缓冲 插采样点 - 减速、PLC 丢采样点 - 加速 输入:音频RTP包 输出 由音频硬件驱动取用10ms音频数据 发R送TC端P R/R统接计收数端据驱动的带宽自适应z 根据RTT决策是否重传修复丢包
  • 21.抗丢包
  • 22.复合FEC FEC (ForwardErrorCorrection) XOR (RFC 5109/Flex FEC) 分组越大,效率越高 关键数据重点保护,丢包越多保护越强
  • 23.复合FEC 重传 FEC修复失败 重传数据能够及时抵达 RTT小 重传 RTT大 FEC ProtectionBitrateCalculator fec_rate_table.h
  • 24.RED 音频数据量小 FEC分组引入延时大 RFC 2198 音频冗余 WebRTC将上一帧和当前帧一起发送 也可将低码率音频流作为冗余
  • 25.容错编码 视频 多Slice编码 0.95^10 = 59.8% 响应RTCP PLI/SLI报文
  • 26.PLC 视频 解码器内置 音频 NetEq 以10ms音频数据为单位 语音数据可抗20%随机丢包 结合RED可抗50%随机丢包
  • 27.实时性优化
  • 28.视频关键帧 4G关键帧传输200-300ms 解决方法 Infinite GOP + PLI 发送端/接收端驱动的带宽自适应z Periodic Intra Refresh
  • 29.Periodic Intra Refresh
  • 30.音频帧长 帧长过大 增加延时 降低PLC效率AAC-LC:1024 sample/frameG.711:无限制Opus:最低5ms
  • 31.实践经验谈
  • 32.编解码适配
  • 33.非对称传输
  • 34.适配现有系统 SIP协议 相对容易 RTSP 协议 缺乏NAT穿透 SRTP MIKEY RTSP 2.0?
  • 35.参考文献 Protocols And Algorithms for Adaptive Multimedia Systems VideoStreaming:Concepts, Algorithms, And Systems A Google Congestion Control Algorithm for Real-Time Communication HANDLING PACKET LOSS IN WEBRTC WebRTC 语音引擎中 NETEQ 技术的研究
  • 36.Q&A
  • 37.
  • 38.聚 音 视 研修不止于形 关注LiveVideoStack公众号 回复 郑鹏 为讲师评分