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

文档序号:9582043阅读:来源:国知局
电脑等中的一种或几种,这多个客户端需先通过房间信令服务来建立会话连接。如图3所示,多个客户端建立会话连接具体包括:
[0040]S11、由第一客户端向房间信令服务器发出创建房间的请求指令,房间房间信令服务器接收到请求指令后创建视频会话房间;
[0041]S12、房间信令服务器向第一客户端请求参与会话的至少一个客户端发起创建房间的通知,邀请参与会话的至少一个客户端加入该视频会话房间;
[0042]S13、参与会话的至少一个客户端分别发送应答指令至房间信令服务器,应答指令包括同意或拒绝;
[0043]S14、第一客户端和同意参与会话的客户端通过房间信令服务器建立起会话连接。
[0044]在本实施例中,房间信令服务器主要用于提供房间管理服务,由某一客户端,在此设为第一客户端发送创建房间的请求指令至房间信令服务器,该请求指令包括邀请至少一个客户端进入房间以建立会话连接。
[0045]房间信令服务器根据该请求指令创建一个视频会话房间,并给该第一客户端请求参与会话的至少一个客户端发出创建房间的通知,该至少一个客户端被邀请进入该房间。在步骤S12和步骤S13之间还包括:由第一客户端发送同意/拒绝进入房间的指令给房间信令服务器,房间信令服务器将同意/拒绝进入房间的通知下发给邀请参与会话的至少一个客户端。
[0046]之后该至少一个客户端会根据自身的需求发送应答指令给房间信令服务器,若同意加入此次会话,则第一客户端与该客户端建立会话连接,若该客户端拒绝加入此次会话,则房间信令服务器会自动将该客户端移出房间。可以理解的是,这里的房间信令服务器可以管理视频会议房间的创建/销毁、人员的添加/删除以及对请求加入房间的申请人员的拒绝/同意,此外,对于非房间内人员,可以通过查询该房间号来请求加入。
[0047]通过上述描述,步骤SI中的已建立会话连接的多个客户端为第一客户端以及同意参与会话的客户端,第一客户端为这多个客户端中的一个。
[0048]以下描述均以位于同一视频会话房间内的已建立会话连接的多个客户端的会话过程为例,为了更好地说明建立会话的具体过程,现以建立会话连接的四个客户端为例。如图4所示,这多个客户端包括客户端A、客户端B、客户端C和客户端D,这四个客户端均通过网络与房间信令服务器连接,在这里客户端A为第一客户端,由客户端A向信令服务器发出创建房间的请求指令,请求客户端B、客户端C和客户端D加入房间以建立会话连接,房间信令服务器接收到该请求指令后创建一个视频会话房间,同时房间信令服务器向客户端B、客户端C和客户端D发出创建房间的通知,邀请客户端B、客户端C和客户端D进入该视频会话房间。
[0049]之后,客户端A发送同意/拒绝进入房间的指令给房间信令服务器,房间信令服务器将同意/拒绝进入房间的通知下发给客户端B、客户端C和客户端D,这三个客户端可以根据各自的需求进行同意或拒绝处理,客户端A和同意参与会话的客户端则通过信令服务器建立起会话连接,若某一客户端拒绝加入此次会话,则信令服务器接收到该应答指令后,将该客户端移出房间。若客户端B、客户端C和客户端D均同意加入此次会话,则这四个客户端通过信令服务器建立会话连接。
[0050]另外,若客户端A想退出该视频会话房间,则发送退出房间的指令给房间信令服务器,房间信令服务器接收到该指令后发送退出房间的通知至客户端B、客户端C和客户端D,所有客户端均退出该房间。另外,当视频会话房间的信息发生变更时,如上述某人同意/拒绝进入房间、退出房间,房间信令服务会通知后台数据库实时更新该视频会话房间的信息,并通知控制服务器和中转服务器去后台数据库获取更新后的视频会话房间的信息。本实施例只是为了更好地说明本发明建立会话连接的过程,其客户端的个数并不限于此,在此不再赘述。
[0051]在同一视频会话房间内的多个客户端通过房间信令服务器建立会话连接后,由控制服务器来管理控制在房间里的每个客户端请求的某路视频信息、屏蔽的某路视频信息,并进行网络的传输控制管理、拥塞控制管理等视频内容是否进行传输的管理控制。
[0052]具体地,在已建立会话连接的多个客户端中,每一客户端会发送相应的需求信息给控制服务器,控制服务器会将这些需求信息存储至后台服务器中,并通知中转服务器获取这些需求信息,这里需要说明的是,后台服务器中存储的视频会话房间的信息是与该视频会话房间内的每个客户端发送的需求信息是一一对应的,即一个视频会话房间内存储的是同一视频会话房间的所有客户端发送的需求信息,而每一需求信息包括需求某一个或多个客户端的视频数据。
[0053]仍以客户端A、客户端B、客户端C和客户端D为例,这四个客户端已通过房间信令服务器建立了会话连接,即客户端B、客户端C和客户端D均同意了客户端A的会话请求,如图5所示。例如,客户端A向控制服务器发出的需求信息为需求客户端B和客户端C的视频数据,客户端B向控制服务器发送的需求信息为需求客户端D的视频数据,客户端C向控制服务器发送的需求信息为需求客户端B的视频数据,客户端D向控制服务器发送需要客户端A、客户端B和客户端C的视频数据。
[0054]控制服务器将接收到的每一客户端发送的相应的需求信息均存储于后台数据库中。
[0055]同时,建立会话连接的多个客户端会分别上传本端视频数据至中转服务器,中转服务器从后台数据库中获取存储的视频会话房间的信息和与该视频会话房间的信息相对应的所有客户端发送的需求信息,如图6所示,为中转服务器根据需要来选择是否对视频数据进行分发,即中转服务器根据需要是否分发客户端B、客户端C和客户端D的视频数据给客户端A,根据需要是否分发客户端A、客户端C和客户端D的视频数据给客户端B,根据需要是否分发客户端A、客户端B和客户端D的视频数据给客户端C,根据需要是否分发客户端A、客户端B和客户端C的视频数据给客户端D。在中转服务器从后台服务器中获取到该视频会话房间内的这4个客户端的需求信息后,将接收到的视频数据进行分发。
[0056]结合图5的描述,中转服务器根据获取到的需求信息对视频数据进行分发的具体方式为:中转服务器将客户端B和客户端C的视频数据转发给客户端A ;将客户端D的视频数据转发给客户端B,将客户端B的视频数据转发给客户端C ;将客户端A、客户端B和客户端C的视频数据转发给客户端D。这里,还需特别说明的是,若某一客户端发送给控制服务器的需求信息有变更,例如某人请求增加需求另一客户端的视频数据,控制服务器会通知后台数据库实时更新该客户端发送的需求信息,同时控制服务器需要通知中转服务器从后台数据库中获取更新后的需求信息来进行视频数据的分发。
[0057]本发明的多人网络视频会话方法通过房间信令服务器、控制服务器以及中转服务器这三台服务器分别独立工作,并能够根据每一客户端的需求进行控制转发视频数据,在房间信令服务器创建的同一视频会话房间内的多个客户端建立会话连接后,再由控制服务器接收每一客户端的需求信息并存储在后台数据库中,中转服务器则从后台数据库中获取相应房间内的所有客户端的需求信息并根据该需求信息对每一客户端上传的视频数据进行分发,最后把分发给每一客户端的至少一路视频数据转发至相应的客户端,极大地降低了带宽压力。
[0058]故相较于现有技术,由于视频会话房间内的每个客户端可以自由控制需要显示的客户端的视频,降低了带宽的使用率,并且也解决了多人视频会话时个人PC显卡传输带宽以及中央处理器和图形处理器效率不高的问题。如图7所示,在该视频会话房间内共有η个客户端参与会话连接,对于某一客户端,其显示界面上最多只能显示9个视频窗口,其界面上的视频窗口布局情况如图所示,若该客户端发送给控制服务器的需求信息包括需要客户端1、客户端2、客户端3、客户端n、客户端10、客户端9、客户端7、客户端6和客户端5的视频数据。
[0059]相应地,中转服务器从后台数据库中获取该需求信息,并根据该需求信息将客户端1、客户端2、客户端3、客户端n、客户端10、客户端9、客户端7、客户端6和客户端5的视频数据依次分发给该客户端,在该客户端的显示界面
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1