面向第一次接触 RTC 的读者,从及时接话这个目标出发,沿着声音从麦克风到扬声器的路径学习。
RTC 实时音视频入门
从一通语音电话开始,用场景、时间计算和练习理解实时音视频,逐步学习采集、编解码、传输、缓冲与恢复。
从一通语音电话开始
7 篇- 01实时通话为什么不能一直等
从声音的播放期限出发,拆解 120 毫秒的端到端延迟,解释缓冲、迟到与恢复怎样争用同一份时间预算,并用可运行模型比较取舍。
- 02声音从麦克风到扬声器
沿同一段20毫秒声音,算清PCM样本、回调块、Opus负载与解码输出的变化,用配图和真实编解码实验解释变调、积压及收包后无声。
- 03从一段收包记录读懂 RTP
从乱序的声音引出 RTP 序号与时间戳,先区分重复、乱序、迟到和到期缺失,再读报头,用实验和一段新记录检查播放判断。
- 04丢包后,重传、FEC 和 PLC 怎么选
把重传、Opus 带内 FEC 与丢包隐藏放回同一播放预算,计算何时来得及恢复,再用真实 libopus 的正反例检查恢复冗余、解码顺序和数据成本。
- 05带宽没跟上,声音为什么越排越晚
从 32 kbit/s 音频为何挤不进 40 kbit/s 的传输预算讲起,计算报头开销与排队增长,区分降低编码码率、消化积压和 Pacing,再用可运行模型检查等待发生在哪里。
- 06怎样从收发记录看出延迟在增长
用发送间隔和到达间隔计算耗时变化,解释固定时钟偏移为何能抵消,再用连续记录区分增长、尖峰和发送前排队,检查乱序、时钟走速与记录点带来的误判。
- 07RTC 入门 07:两端怎样找到能通话的网络路径
从 IP、端口和 NAT 讲起,沿一通电话的建立过程理解信令、SDP、ICE、STUN 与 TURN,用连接记录和本机浏览器实验判断通话卡在哪一步。