什么是 RTC(实时通信)

1. 什么是 RTC

RTC(Real-Time Communication)是指在网络中实现实时音视频数据交换的技术,它强调低延迟、双向互动、连续性和实时反馈。RTC 常见于语音通话、视频会议、在线教育、远程协作、游戏语音等场景。

RTC 的特点:

  • 低延迟:从说话到对方听到应保持在几百毫秒级别。
  • 双向互动:双方(或多方)可以同时发送和接收音视频流。
  • 连续传输:维持稳定的实时流,能够在网络波动中持续通信。
  • 网络适应性:能在不同网络环境下(Wi-Fi、移动网络、NAT、代理)保持可用性。

2. RTC 的历史演进

RTC 技术经历了多次演进,从早期的 IP 语音到现代基于浏览器的 WebRTC:

  1. 传统电话(PSTN/VoIP)时代

    • 使用 SIP/IMS 做信令交换,RTP/RTCP 传输音频,G.711/G.729 等编解码器。
    • 多基于 UDP,但部分运营商/企业会用 SIP/TCP、RTP/TCP 以增强可靠性。
    • 重点解决语音质量、呼叫控制与计费。
  2. 早期视频通话与企业会议系统

    • 引入 H.263/H.264 视频编码,使用 H.323、SIP 作为信令。
    • 采用 MCU(Multipoint Control Unit)架构:将多路流混合并转发给每个用户,简化客户端但增加服务器负载。
    • 关注带宽管理、多方混音/混屏与终端兼容性。
  3. 逐步从 MCU 到 SFU 的演进

    • SFU(Selective Forwarding Unit)架构兴起:只转发流而不混合,降低服务器计算和延迟。
    • 结合多路复用(RTP/RTCP)、Simulcast、SVC 等技术实现多分辨率/多码率分发。
    • 支持更灵活的多方场景和规模扩展。
  4. 传输协议的演进:UDP 优先 vs TCP/LB/QUIC

    • 初始依赖 UDP + RTP 以获得低延迟,但面临丢包和防火墙限制。
    • 为适应受限网络,引入 TCP/HTTP 穿透(WebSocket、HTTP tunneling)和 TURN relay。
    • 近年倾向 QUIC/HTTP3 作为可靠低延迟传输方案,同时支持多路复用、拥塞控制与阻塞避免。
  5. WebRTC 时代

    • 2011 年由 Google 开源,2020 年成为 W3C 和 IETF 标准。
    • 实现了在浏览器中无插件直接进行音视频通话,提供统一的 API(getUserMedia、RTCPeerConnection、DataChannel)。
    • 内建 NAT 穿透(ICE/STUN/TURN)、安全传输(DTLS/SRTP)、自适应码率、回声消除等。
  6. 商用云 RTC 平台与边缘优化

    • 腾讯云 TRTC、Agora、Twilio 等服务提供端到端 SDK 和 PaaS 能力,简化接入。
    • 结合边缘节点、CDN/RTC 混合、AI 增强(降噪、美颜、实时字幕)等。

3. RTC 演进时间线

以下是 RTC 技术演进的时间线图,展示各阶段的关键变化:

4. RTC 与传统直播/点播的区别

特性 RTC(实时通信) 直播/点播
主要目标 双向互动、低延迟 单向分发、可扩展性
延迟 几百毫秒级 几秒甚至几十秒
传输模式 P2P/多点转发,强调双向传输 CDN 分发、单向传输
应用场景 通话、会议、连麦、互动教育 直播、视频点播

3. RTC 的核心组成

  • 音视频采集与渲染:从摄像头/麦克风获取流并在本地/远端渲染。需要管理设备权限、采集质量、回显控制等。
  • 音视频编码与解码:将采集到的原始音视频数据压缩成可传输的格式(如 H.264、Opus),并在接收端解码为可播放的流。
  • 网络传输:通过 RTP/RTCP、SCTP、QUIC 等协议将音视频流传输到对端,支持丢包重传、网络拥塞控制、NAT 穿透等。
  • 信令与会话管理:使用信令通道(如 WebSocket、HTTP)交换会话描述(如 SDP)和控制信息(如加入/离开、静音等)。
  • 安全与加密:通过 DTLS/SRTP 等机制保护音视频传输的机密性和完整性。

4. 典型应用场景

  • 1 对 1 通话:如电话、视频聊天、远程面试。
  • 多人会议:企业会议、远程团队协作、在线课堂。
  • 互动连麦:直播间互动、在线活动连麦、语音派对。
  • 在线游戏语音:低延迟语音聊天、组队语音。
  • 远程控制/可视化支持:远程协助、技术支持、远程培训。