直播系统源码,连麦功能的实现和相关问题的解决
直播系统源码中,主播到用户的画面传输属于单向型传输,从服务器上拉取主播的直播画面,分发到各个请求端,完成直播画面的单向传输。原版属于单向传递的动作在连麦功能加入后发生了改变,连麦时信息流传输由单向变成了双向,这也产生了新的问题,如何在直播系统源码中实现信息流的双向传递。
一、连麦功能的实现
直播系统源码实现连麦功能,会使用CDN来保证连麦传递的实时性,用户接受的直播画面线路不一定是它正在请求直播画面的那条线路,而是由CDN节点根据服务器负载情况,重新选择最优线路进行分发。实现主播和用户之间无延迟式的连麦交流,当连麦产生时,就不仅仅是需要保证主播画面传输到用户端没有延迟,还需要保证回溯的音频数据流畅无延迟。
二、直播协议的应用
RTMP协议的使用广泛,绝大多数视频直播也是基于RTMP协议和CDN技术前提下实现连麦的,在主播和用户进行连麦时,会基于RTMP协议分别将主播端和连麦用户端推流到CDN,通过CDN将主播和用户产生的音视频流分隔开,主播传递音视频给用户,用户传递音频给主播,两者音视频流混合后传递给其他用户接收。
三、使用CDN节点和RTMP协议连麦时的问题
1.直播系统源码通过CDN节点和RTMP协议带来的效果,能将直播画面的延迟和连麦的延迟控制在5s之内,加上主播设置的延迟时间,能更好的保证用户的观看体验,不过对于连麦来说,5s的时间似乎太久了。
2.连麦功能消耗的流量太多,直播系统源码在满足直播画面传输时就会伴随大量的流量使用和支出,在CDN的使用方面也会使用很多流量,再加上连麦功能,运营商的开发预算怕是要超出。
好在现在直播系统源码接入的三方SDK中,有些是包含连麦功能的,能从自己服务器的开发技术上解决延迟和流量消耗问题,所以运营商们最好还是选择接入的方式实现连麦功能。
声明:以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任