webrtc中neteq的设计思路
这是探究音视频流程的一篇文章。它涉及到了 webrtc 框架中关于 neteq 模块的涉及思路。neteq 模块是音频的一个网络负载均衡器。
neteq 是什么
neteq 会根据网络状况对音频数据进行一定的处理,保证接口端播放的正常播放。它的主要流程如下:
- 根据数据包的到达时间计算网络状况
- 根据网络状况计算现有数据的处理方式
- 对数据进行处理,并存入缓存,
- 消费缓存数据
实际场景
在实际使用中 1,2,3,4 步通常情况下并不在同一线程进行。1 为单独线程,2,3,4 通常情况下为同一线程。
消费缓存数据
这里最重要的缓存数据的设计。这个缓存数据通常情况下是给实际的硬件设备播放,但是也应该可以被其他单位消费。