💡
原文中文,约4300字,阅读约需11分钟。
📝
内容提要
本文分享了WebRTC面试题,涉及连接与网络、标准与兼容、数据通道、音频处理及码率控制等内容,讨论了ICE重启、SDP格式、SCTP优势、双讲场景及Pacer作用等技术细节,旨在提升音视频开发技能。
🎯
关键要点
- WebRTC面试题涉及连接与网络、标准与兼容、数据通道、音频处理及码率控制等内容。
- ICE重启流程在网络切换时触发,客户端需重新进行SDP协商,ice-ufrag和ice-pwd会发生变化。
- Plan B和Unified Plan是两种SDP格式,Unified Plan提供更细粒度的控制,解决了互操作性问题。
- SCTP over UDP相比TCP WebSocket有NAT穿透和避免队头阻塞的优势,DataChannel的队头阻塞问题在ordered模式下会发生。
- 双讲场景会导致回声消除算法失效,WebRTC通过检测双讲状态和冻结滤波器系数来处理。
- Pacer的作用是平滑发送数据包,Padding包用于维持带宽估计,Pacer的预算会被Padding包占用。
❓
延伸问答
ICE重启的触发流程是什么?
ICE重启在网络切换时触发,客户端需重新进行SDP协商,ice-ufrag和ice-pwd会发生变化。
Plan B和Unified Plan的核心区别是什么?
Plan B使用单一m=行表示多流,无法准确描述流的方向和编码参数;Unified Plan为每一路流提供独立的m=行,支持更细粒度的控制。
SCTP over UDP相比TCP WebSocket有哪些优势?
SCTP over UDP支持NAT穿透,避免TCP的队头阻塞,允许多流传输,流A的丢包不会影响流B的读取。
什么是双讲场景,为什么会导致回声消除算法失效?
双讲场景是指远端和近端同时说话,导致AEC算法误以为回声路径变了,可能会消除近端人声或无法收敛。
Pacer的作用是什么?
Pacer平滑发送数据包,防止网络拥塞,确保数据均匀发送以应对网络抖动。
Padding包的作用是什么?
Padding包用于维持带宽估计,填补编码器输出低于目标码率时的空缺,防止带宽估计下降。
➡️