一种多人网络音频会话方法及系统的制作方法

文档序号:9600852阅读:532来源:国知局
一种多人网络音频会话方法及系统的制作方法
【技术领域】
[0001]本发明涉及多人音频会话技术领域,更具体地说,涉及一种多人网络音频会话方法及系统。
【背景技术】
[0002]多人音频会话系统是一个多对多的网络会话系统,随着网络技术的的迅速发展,多人音频会话系统得到了广泛的应用和发展。为实现多人音频会议或多人音频聊天,主要有以下几种方式:
[0003]1)硬件实现音频混音:通过硬件进行音频混音处理,然后进行中转服务分发,该种方式成本高,并且硬件混音的路数被限制,不能进行相应的扩展处理;2)软件实现音频混音:通过软件实现音频混音处理,再进行中转服务分发,该种方式成本低,用户可以通过程序控制混音的路数和方式,但技术实现难度大,处理效率低;3)不混音分发实现方式:该方式不进行混音,把收到的数据直接发送出去,成本低,对开发人员的要求较低,但是对带宽的要求较高;4)不混音不分发实现方式:该方式需要客户端根据房间的人数进行多次数据上传,服务器只进行简单的中转处理即可,效率低下。
[0004]而现有多人网络音频会话方法主要是通过软件实现音频混音,但在进行多路混音时会出现效率低下,带来很大的带宽压力,而且不能及时把用户上传上来的音频数据转发出去。

【发明内容】

[0005]本发明要解决的技术问题在于,针对现有技术的上述网络带宽压力大且不能及时把用户上传的音频数据转发出去的缺陷,提供一种多人网络音频会话方法及系统。
[0006]本发明解决其技术问题所采用的技术方案是:构造一种多人网络音频会话方法,包括如下步骤:
[0007]S1、同一音频会话房间内的多个客户端通过房间信令服务器建立会话连接,房间信令服务器将接收到的所述音频会话房间的信息存储于后台数据库,并通知控制服务器和中转服务器获取所述音频会话房间的信息;
[0008]S2、每一所述客户端分别发送相应的控制信息至控制服务器,控制服务器将接收到的所述控制信息存储于所述后台数据库,并通知中转服务器获取所述控制信息;
[0009]S3、每一所述客户端分别发送音频数据给中转服务器,所述中转服务器获取所述后台数据库中存储的音频会话房间的信息和与该音频会话房间的信息相对应的控制信息,并根据所述控制信息,把分配给每一客户端的至少一路音频数据进行混音处理后转发给相应的客户端。
[0010]在上述多人网络音频会话方法中,所述控制信息包括第一指令和第二指令,所述第一指令表示需求同一音频会话房间内的所述多个客户端中的至少一个客户端的音频数据;所述第二指令表示向同一音频会话房间内的所述多个客户端中的至少一个客户端屏蔽本端的音频数据,其中:与所述第一指令相比,所述第二指令具有最高优先权。
[0011]在上述多人网络音频会话方法中,在所述步骤S3中,所述中转服务器把分配给每一客户端的至少一路音频数据进行混音处理的步骤包括:
[0012]S21、将分配给每一客户端的至少一路音频数据中的每一路分别解码成一一对应的解码数据;
[0013]S22、将解码后的至少一路解码数据分成一组或多组解码数据,每一组解码数据分别进行混音处理成一路混音数据;
[0014]S23、对每一路所述混音数据进行编码压缩。
[0015]在上述多人网络音频会话方法中,每一组解码数据包括路数相同的至少一路解码数据。
[0016]在上述多人网络音频会话方法中,所述步骤S1包括:
[0017]S11、由第一客户端向房间信令服务器发出创建房间的请求指令,所述房间房间信令服务器接收到所述请求指令后创建音频会话房间;
[0018]S12、所述房间信令服务器向所述第一客户端请求参与会话的至少一个客户端发起创建房间的通知,邀请参与会话的至少一个客户端加入所述音频会话房间;
[0019]S13、所述参与会话的至少一个客户端分别发送应答指令至所述房间信令服务器,所述应答指令包括同意或拒绝;
[0020]S14、所述第一客户端和同意参与会话的客户端通过所述房间信令服务器建立会话连接。
[0021]还提供一种多人网络音频会话系统,包括房间信令服务器、控制服务器、中转服务器、后台数据库以及多个客户端组,每一客户端组包括位于同一音频会话房间内的通过房间信令服务器建立会话连接的多个客户端,并由所述后台数据库存储音频会话房间的信息,所述多个客户端分别与所述房间信令服务器、控制服务器和所述中转服务器通过网络连接,所述后台数据库分别与所述房间信令服务器、控制服务器和所述中转服务器连接,所述房间信令服务器分别与所述控制服务器和所述中转服务器的连接,所述控制服务器与所述中转服务器连接;
[0022]所述控制服务器包括控制信息接收模块和消息通知模块,所述控制信息接收模块用于接收同一音频会话房间内的多个客户端发送的控制信息,并将所述控制信息存储于所述后台数据库,所述消息通知模块用于通知中转服务器从所述后台数据库中获取所述控制信息;
[0023]所述中转服务器包括音频数据接收模块和音频数据转发模块;
[0024]所述音频数据接收模块,用于接收同一音频会话房间内的多个客户端发送的音频数据;
[0025]所述音频数据转发模块,用于获取所述后台数据库中存储的音频会话房间的信息和与该音频会话房间的信息相对应的控制信息,并根据所述控制信息,把分配给每一客户端的至少一路音频数据进行混音处理后转发给相应的客户端。
[0026]在上述多人网络音频会话系统中,所述控制信息包括第一指令和第二指令,所述第一指令表示需求同一音频会话房间内的所述多个客户端中的至少一个客户端的音频数据;所述第二指令表示向同一音频会话房间内的所述多个客户端中的至少一个客户端屏蔽本端的音频数据,其中:与所述第一指令相比,所述第二指令具有最高优先权。
[0027]在上述多人网络音频会话系统中,所述中转服务器还包括解码处理子模块、分组子模块、混音处理子模块和编码处理子模块;
[0028]所述解码处理子模块,将分配给每一客户端的至少一路音频数据中的每一路分别解码成一一对应的解码数据;
[0029]所述分组子模块,将解码后的至少一路解码数据分成一组或多组解码数据;
[0030]所述混音处理子模块,用于每一组解码数据分别进行混音处理成一路混音数据;
[0031]所述编码处理子单元,用于对每一路所述混音数据进行编码压缩。
[0032]在上述多人网络音频会话系统中,所述房间信令服务器包括房间创建单元,每一客户端包括会话发起单元和会话响应单元:
[0033]所述会话发起单元,用于向房间信令服务器发出创建房间的请求指令;
[0034]所述房间创建单元,用于根据接收到所述请求指令后创建音频会话房间;
[0035]所述会话响应单元,用于发送应答指令至所述房间信令服务器,所述应答指令包括同意或拒绝。
[0036]实施本发明的多人网络音频会话方法及系统,具有以下有益效果:通过房间信令服务器、控制服务器以及中转服务器这三台服务器分别独立工作,并能够根据每一客户端的需求进行控制转发音频数据,在房间信令服务器创建的同一音频会话房间内的多个客户端建立会话连接后,再由控制服务器接收每一客户端的控制信息并存储在后台数据库中,中转服务器则从后台数据库中获取相应
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1