2 视频会议系统把主播的视频流推向 CDN,观众通过 CDN 观看主播视频;
3 参与连麦的观众登录到与主播端同一个视频会议频道中,此时主播端和连麦者通过实时的
视频会议进行交互;主播与连麦者的视频,经过服务端混合后输出给 CDN;
4 其他用户通过 CDN 观看主播与连麦者的交互;
这种方式的优势在于:
1 主播和连麦者交互延迟很小;由于使用视频会议系统,通过服务端做了一次转发,基本
延迟都在一秒以下;
2 主播端只承担视频会议交互的流量,而不需要再承担直播的上传流量,对网路要求比 P2P
方式要低;
3 支持多人交互;
缺点在于:
1 服务端相比于一般的直播系统,还多增加了视频会议系统,开发复杂性高;
2 音视频混合在服务端完成,对服务器性能要求高;
以上就是对连麦实现方式的简单介绍,这三种方式在实际项目中都有被使用到,原则上后两
种方法的体验会更好些;特别是第三种方案,他可以支持小范围的多人实时交互,但这种方
案的开发量大,同时熟悉视频会议和直播的团队比较缺少,对研发团队要求高; 第二种方
案可以在webrtc 和直播技术基础上可以实现,对这方面比较熟悉的团队可以尝试整合一下。
Q&A
问题 1:连麦技术是在客户端实现还是服务器端实现? 两种实现方式各有什么优缺点?
解答 1: 刚才介绍的第二种方案就是在客户端实现的,当然服务端也需要做一些工作; 而
第三种方案主要是在服务端的实现; 相关的优缺点上面也做过解答,大家可以参考下;
问题 2:连麦技术有开源基础版吗?
解答 2: P2P 的方案可以考虑在 webrtc 基础上实现;而视频会议+直播的方案目前还没有
看到开源项目,可以考虑在视频会议系统上进行改造,使其输出 RTMP 直播;
问题 3: 直播和用户宽带至少需要多少才能流畅连麦
解答 3: 如果是 P2P 方案,对主播端带宽要求会高一些; 如果是第三种会议模式,要求
就不高了,基本上就是一路上传,一路下载; 第二种 P2P 方案,我们在 4G,10M 的联通,
电信等网络下实验都是 OK 的;
问题 4:你们 P2P 是自己研发的还是基于其他的?
解答 4: 我们是在 webrtc 基础上改造的,webrtc 的视频图像要和摄像头的视频图像合成;
并且在带耳机的情况下,音频也需要程序合成;
问题 5:你们对防火墙或 NAT 有没有运用 STUN 或 ICE 之类的技术?
解答 5: ICE 是一定要使用的; 对于 P2P 网络,有很多网路不能直连,肯定要使用 TURN
服务做中转; 对于会议模式,也可以通过 TURN 做中转,从而解决异地网络连接不稳定的