上周写了一篇文章基于RTMP和WebRTC 构建低延迟的直播系统(https://zhuanlan.zhihu.com/p/47302561), 只所以要基于RTMP, 还是考虑尽可能复用现有的技术和基础设施...目前国内低延迟直播的做法是在rtmp的基础调优, 比如使用可靠UDP方案替换RTMP的传输层, 目前使比较多的方案有KCP和QUIC. 但魔改RTMP的方案始终没有特别好的适配浏览器的方法....试想在用WebRTC直播, 瞬间进入几百个观看端, 这几百观看端都在请求关键帧, 发送端的压力会非常大造成整个直播不可观看. 在这几百人中如果有几个人网络特别差, 也会造成整个直播质量的下降....全链路的WebRTC直播跟我上篇文章写的RTMP-WebRTC的方案类似, 有其中几个点需要注意一下:
0, 在源站接入点, 使用WebRTC接入, 这样我们可以省去RTMP到WebRTC协议转封装时间...这部分的原理跟我们在RTMP直播中缓存一个GOP原理一样.
最简单的一个架构如下:
?