音视频开发
1、音视频发展
音频压缩技术也从电话使用的 G.711、G.722 等窄带音频压缩技术,发展到现代的 AAC、OPUS 等宽带音频压缩技术。
视频压缩技术从 H261 到 H264,再到现在的 H265 及未来不久将出现的 AV1,视频压缩率越来越高。
H264/H265、VP8/VP9 以及后面的 AV1 编解码器,解决了视频压缩率的问题。
2011 年 Google 推出 WebRTC 技术后,大大降低了音视频技术的门槛。
支持上万人同时在线的直播系统主要使用 CDN 技术,它是一种比较老的直播架构,使用的底层传输协议是 RTMP 和 HLS。
2、 音视频 架构
这幅图从大的方面可以分为 4 部分,即两个 WebRTC 终端(上图中的两个大方框)、一个 Signal(信令)服务器和一个 STUN/TURN 服务器。
WebRTC 终端,负责音视频采集、编解码、NAT 穿越、音视频数据传输。
Signal 服务器,负责信令处理,如加入房间、离开房间、媒体协商消息的传递等。
STUN/TURN 服务器,负责获取 WebRTC 终端在公网的 IP 地址,以及 NAT 穿越失败后的数据中转。