本发明涉及视频通话领域,特别涉及一种基于WebRTC的多人语音视频通话方法及系统。
背景技术:
随着互联网技术和通信技术的快速发展,人们的交流方式与交流内容得到了极大的丰富和发展。在节奏越来越快的信息时代,传统的基于文字的交流方式不仅效率显得有些低,而且有时并不能准确的表达人们的本意。所以,支持语音视频的通信方式逐渐盛行起来。对于早期的网页即时通讯,仍然需要下载臃肿而且并不安全的插件。但WebRTC的出现,弥补了传统即时通讯的不足。
WebRTC,即Web Real-Time Communication,是一个支持网页浏览器进行实时语音视频通话的技术。其直接的应用就是允许开发者能实现视频通话或者其他的点对点的数据传输。WebRTC有一整套的音视频解决方案,并且代码是开源的。此外,WebRTC也是全平台支持的。其不仅局限于网页端,也提供了移动开发使用的接口。这为二次开发移动端应用提供了基础。
技术实现要素:
本发明的目的在于克服现有技术的缺点与不足,提供一种基于WebRTC的多人语音视频通话方法,该方法抛弃传统流媒体通信方式,降低通信延迟,应对复杂网络环境,提高用户体验,丰富用户交流形式,降低系统维护成本;而且操作简单灵活,具有较高的信息传递和响应的速度,适用于大多数移动终端。
本发明的另一目的在于提供一种基于WebRTC的多人语音视频通话系统。
本发明的目的通过以下的技术方案实现:
一种基于WebRTC的多人语音视频通话方法,包含以下步骤:
步骤1、第一位用户指定连接房间号Room ID与房间大小n,发起n-1路通话;
步骤2、所述第一位用户采集网络信息以及本地会话信息,并将这些连接数据发送至服务器,等待接收端与之建立连接;
步骤3、第二位用户指定同样的房间号Room ID和房间大小n,发起n-1路通话,同时第二位用户采集网络信息以及本地会话信息,作为连接数据;
步骤4、所述第二位用户选取其中一路通话作为接收端,回应第一位用户的通话请求,与之建立连接;同时剩余的n-1-1路通话等待新的接收端与之建立连接;
步骤5、重复步骤3、4,第三位用户分别与第一、二位用户建立连接,依次循环,最终实现n个客户端之间的两两互联互通。
所述步骤1具体为:第一位用户指定连接房间号Room ID与房间大小n,并作为n-1路通话的发起端,发起通话,等待接收端与之建立连接;所述第一位用户构成一个Client,由唯一的Client Id标识;每一路通话称之为Instance,由唯一的Instance ID标识ÿ