1.一种直播间连麦视频混流方法,其特征在于,其包括异步的混流步骤和推流步骤:所述混流步骤包括:
连麦发起客户端和被连麦客户端从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若所述连麦参数无误,则连麦发起客户端以及被连麦客户端向服务器发送自身的混流数据;
所述服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述混流步骤和推流步骤异步进行,所述推流步骤包括:观众客户端获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
观众客户端生成播放窗口,并向服务器请求混流视频地址;
观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流;
还包括连麦发起步骤:
其中,所述连麦发起客户端发起连麦请求;
服务器接收连麦请求并连麦匹配;
在完成连麦发起步骤后,执行所述混流步骤,在所述混流步骤完成前,执行所述推流步骤;
在完成连麦发起步骤后,所述混流步骤和推流步骤同时开始进行。
2.如权利要求1所述的方法,其特征在于,所述客户端对连麦参数进行参数校验具体包括以下步骤:校验连麦发起方ID和被连麦方ID是否相同,若相等则报错,并终止连麦;
判断连麦参数是否存在空值,若是则报错并终止连麦。
3.如权利要求1所述的方法,其特征在于,所述向服务器发送混流数据具体包括以下步骤:客户端获取主动发起连麦的直播间的ID,被动接收连麦的直播间ID、发起连麦的直播间的客户端的类型、被动接收连麦的直播间的类型;
客户端将主动发起连麦的直播间的ID,被动接收连麦的直播间ID、发起连麦的直播间的客户端的类型、被动接收连麦的直播间的类型组成数组后,发送至服务器,服务器根据所述数组中的数据,对接受到的混流数据合成。
4.如权利要求1所述的方法,其特征在于:所述客户端、服务器以及观众客户端之间通过socket进行通信,并在php上实现向用户播放连麦视频。
5.如权利要求1所述的方法,其特征在于,所述连麦窗口参数包括:窗口坐标,窗口高度、窗口宽度。
6.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。
7.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的方法。
8.一种直播间连麦视频混流系统,其特征在于,其包括相互独立的混流模块、推流模块和连麦发起模块:所述混流模块用于:
连麦发起客户端和被连麦客户端从服务器获取连麦参数,所述连麦参数包括:当前直播间ID、连麦发起方ID、被连麦方ID;
连麦发起客户端和被连麦客户端对连麦参数进行参数校验,若所述连麦参数无误,则均向服务器发送混流数据;
服务器接收连麦发起客户端和连麦接收客户端的混流数据后,生成合成数据流以及混流视频地址,并向混流视频地址发送合成数据流;
所述推流模块用于:
获取推流参数,所述推流参数包括:连麦直播间ID、连麦发起方ID、连麦窗口参数;
观众客户端生成播放窗口,并向服务器请求混流视频地址;
观众客户端在获取混流视频地址后,从混流视频地址获取合成数据流,并在连麦窗口播放合成数据流;
连麦发起模块用于:
发起连麦请求;
服务器接收连麦请求并连麦匹配;
在完成连麦发起步骤后,执行混流步骤,在混流步骤完成前,执行推流步骤;
在完成连麦发起步骤后,所述混流步骤和推流步骤同时开始进行。