发明内容
因此,本发明提供视频通话系统及视频通话方法,以克服现有计算机网络技术存在的问题。
具体地,本发明实施例提出的一种视频通话方法,包括:第一客户端通过服务器向第二客户端发起视频通话请求;服务器中转第一客户端与第二客户端之间的视频通话请求及第二客户端根据视频通话请求向第一客户端发送的测速请求包,第一客户端根据测速请求包测试第一客户端与第二客户端之间的网速,以提示与第二客户端建立视频通话后的视频通话质量;以及当第二客户端接受视频通话请求时,第一客户端与第二客户端建立视频通话。
在本发明实施例中,上述视频通话方法例如还进一步包括:第一客户端和/或第二客户端定期向服务器发送心跳包,以使服务器确认第一客户端和/或第二客户端是否处于在线状态,并使服务器根据心跳包的延时而侦测出第一客户端和/或第二客户端与服务器之间的网络速度。上述视频通话方法例如还进一步包括:服务器侦测第一客户端和第二客户端与服务器之间的网络速度,并判断第一客户端和第二客户端与服务器之间的网络速度是否支持发起视频通话;以及当上述判断为是时,服务器中转第一客户端与第二客户端之间的视频通话请求。上述视频通话方法例如还包括:在第一客户端显示第一本地图像;第二客户端接收到视频通话请求后,在第二客户端显示第二本地图像;第一客户端根据所测得的第一客户端与第二客户端之间的网络速度而调整在第一客户端显示的第一本地图像的清晰度以提示与第二客户端建立视频通话后的视频通话质量;第一客户端通过服务器发送测速请求包至第二客户端;第二客户端收到测速请求包后,第二客户端根据测速请求包确定与第一客户端之间的网络速度,并根据确定的网络速度而调整在第二客户端显示的第二本地图像的清晰度以提示与第一客户端建立视频通话后的视频通话质量。上述视频通话方法例如当第一客户端与第二客户端之间的网络速度低于预定要求时,则以第一视频窗口在第一客户端显示第一本地图像和/或在第二客户端显示第二本地图像;而当第一客户端与第二客户端之间的网络速度满足预定要求时,则以第二视频窗口在第一客户端显示第一本地图像和/或在第二客户端显示第二本地图像。
另外,本发明实施例提出的一种视频通话系统,其包括:第一客户端、第二客户端、以及服务器,其中,第一客户端通过服务器向第二客户端发起视频通话请求,服务器中转第一客户端与第二客户端之间的视频通话请求及第二客户端根据视频通话请求向第一客户端发送的测速请求包,第一客户端根据测速请求包测试第一客户端与第二客户端之间的网速;第一客户端根据所测得的网速提示与第二客户端建立视频通话后的视频通话质量;当第二客户端接受视频通话请求时,第一客户端与第二客户端建立视频通话。
在本发明实施例中,上述服务器例如还用于侦测第一客户端和第二客户端与服务器之间的网络速度,并判断第一客户端和第二客户端与服务器之间的网络速度是否支持发起视频通话;当上述判断为是时,服务器中转第一客户端与第二客户端之间的视频通话请求。上述视频通话系统例如在第一客户端向第二客户端发送视频通话请求之前,第一客户端和/或第二客户端定期向服务器发送心跳包,以使服务器确认第一客户端和/或第二客户端是否处于在线状态,并使服务器根据心跳包的延时而侦测出第一客户端和/或第二客户端与服务器之间的网络速度。上述第一客户端例如还用于显示第一本地图像,并根据所测得的网速调整在第一客户端显示的第一本地图像的清晰度以提示与第二客户端建立视频通话后的视频通话质量。上述第一客户端例如还用于通过服务器发送测速请求包至第二客户端,第二客户端还用于接收到视频通话请求后,在第二客户端显示第二本地图像并在收到测速请求包后,根据测速请求包确定与第一客户端之间的网络速度,并根据确定的网络速度而调整在第二客户端显示的第二本地图像的清晰度以提示与第一客户端建立视频通话后的视频通话质量。上述视频通话系统例如当第一客户端与第二客户端之间的网络速度低于预定要求时,则以第一视频窗口在第一客户端显示第一本地图像和/或在第二客户端显示第二本地图像;而当第一客户端与第二客户端之间的网络速度满足预定要求时,则以第二视频窗口在第一客户端显示第一本地图像和/或在第二客户端显示第二本地图像。
由上述实施例可知,本发明通过接收测速请求包以测试第一客户端与第二客户端之间的网络速度,再根据测得的网络速度调整进行视频通话时所显示图像的清晰度以保证通话时语音的流畅度,使得用户在通话连接建立前就可以获知网速及通话质量,这样用户可以预先做出决策是否继续等待通话,还可以减少因未知的原因造成无法建立通话连接给用户带来的困惑感,并提示用户改善网络速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
具体实施方式
为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的视频通话系统及视频通话方法其具体实施方式、结构、特征及功效,详细说明如后。
有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过具体实施方式的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
图1是本发明实施例提出的视频通话系统的主要架构框图。请参阅图1,视频通话系统包括:服务器5及与服务器5进行网络相连的第一客户端8及第二客户端9。第一客户端8包括通话请求模块102以及测速模块108。第二客户端9包括通话请求模块以及测速请求包发送模块206。第一客户端8还可以包括定期发送模块100、图像显示模块104、测速请求包发送模块106,以整合更多的功能。第二客户端9还可以包括定期发送模块200、通话请求模块、图像显示模块204以及测速模块208,以整合更多的功能。
更具体地,第一客户端8的定期发送模块100和/或第二客户端9的定期发送模块200,用于定期向服务器5发送心跳包,以使服务器5确认第一客户端8和/或第二客户端9是否处于在线状态,并使服务器5根据心跳包的延时而侦测出第一客户端8或第二客户端9与服务器5之间的网络速度。服务器5可以采用如下方法侦测第一客户端8或第二客户端9与服务器5之间的网络速度:以第一客户端8为例,第一客户端8发送给服务器5的心跳包可以包括心跳包的发送时间,若服务器5收到此心跳包时的当前时间与心跳包的发送时间进行相减,就可以得出心跳包发送给服务器5的延时时间,将此延时时间与服务器5预先存储的延时时间与网络速度的比对表,可以大致地计算出第一客户端8与服务器5之间的网络速度。另外,服务器5每隔一段时间收到第一客户端8和/或第二客户端9发送的心跳包,则可以判断为第一客户端8和/或第二客户端9处于在线状态,若在某一段时间内未收到第一客户端8和/或第二客户端9发送的心跳包,则可以判断为第一客户端8和/或第二客户端9处于离线状态。
第一客户端8的视频通话请求模块102,用于向第二客户端9发起视频通话请求。第二客户端8的视频通话请求模块,用于向第一客户端8发起视频通话请求。下面以第一客户端8向第二客户端9发起视频通话请求为例进行说明。
服务器5,用于侦测第一客户端8和第二客户端9与服务器5之间的网络速度,并在第一客户端8向第二客户端9发起视频通话请求后,判断第一客户端8和第二客户端9与服务器5之间的网络速度是否支持发起视频通话;当上述判断为是时,服务器5中转第一客户端8与第二客户端9之间的视频通话请求,并可分别向第一客户端8和第二客户端9提示第一客户端8和第二客户端9与服务器5之间的网络速度。当上述判断为否时,服务器5发送不支持发起视频通话的信息给第一客户端8以提示其可以选择不进行视频通话。服务器5还用于在第二客户端9接受视频通话请求时,建立第一客户端8与第二客户端9之间的视频通话。
第一客户端8的图像显示模块104,用于显示第一本地图像。例如第一本地图像为第一客户端8的用户的图像。
第二客户端9的图像显示模块204,在接收到第一客户端8发送的视频通话请求后,显示第二本地图像。例如第二本地图像为第二客户端9的用户的图像。
第二客户端9的测速请求包发送模块206,用于通过服务器5发送测速请求包至第一客户端8。测速请求包可以为包括任意内容的二进制数据或其它类型的数据。
第一客户端8的测速模块108,用于接收第二客户端9发送的测速请求包,并在收到测速请求包后,根据测速请求包确定第二客户端9与第一客户端8之间的网络速度,并根据确定的网络速度而调整在第一客户端8显示的第一本地图像的清晰度以提示与第二客户端9建立视频通话后的视频通话质量。例如测速模块108可以采用如下方法侦测第一客户端8与第二客户端9之间的网络速度:第二客户端9发送的测速请求包可以包括测速请求包的发送时间,若第一客户端8收到此测速请求包时的当前时间与测速请求包的发送时间进行相减,就可以得出测速请求包发送给第一客户端8的延时时间,将此延时时间与第一客户端8预先存储的延时时间与网络速度的比对表,可以大致地计算出第一客户端8与第二客户端9之间的网络速度。测速模块108例如在测得网络速度为1M和2M时分别采用不同像素大小(即不同的清晰度)来显示第一本地图像。并且在测得第一客户端8与第二客户端9之间的网络速度低于预定要求(即预设阈值)时,则可以以红色边框的视频窗口(第一视频窗口)在第一客户端8显示第一本地图像。如果在测得第一客户端8与第二客户端9之间的网络速度满足预定要求时,则可以以绿色边框的视频窗口(第二视频窗口)在第一客户端8显示第一本地图像。
第一客户端8的测速请求包发送模块106,用于通过服务器5发送测速请求包至第二客户端9。
第二客户端9的测速模块208,用于接收第一客户端8发送的测速请求包,并在收到测速请求包后,第二客户端9根据测速请求包确定第一客户端8与第二客户端9之间的网络速度,并根据确定的网络速度而调整在第二客户端9显示的第二本地图像的清晰度以提示与第一客户端8建立视频通话后的视频通话质量。测速请求包例如可以为包括任意内容的二进制数据或其它类型的数据。例如测速模块208可以通过采用如下方法侦测第一客户端8与第二客户端9之间的网络速度:第一客户端8发送的测速请求包可以包括测速请求包的发送时间,若第二客户端9收到此测速请求包时的当前时间与测速请求包的发送时间进行相减,就可以得出测速请求包发送给第二客户端9的延时时间,将此延时时间与第二客户端9预先存储的延时时间与网络速度的比对表,可以大致地计算出第一客户端8与第二客户端9之间的网络速度。测速模块208例如在测得第一客户端8与第二客户端9之间的网络速度低于预定要求(即预设阈值)时,则可以以红色边框的视频窗口(第一视频窗口)在第二客户端9显示第二本地图像。如果测得第一客户端8与第二客户端9之间的网络速度满足预定要求时,则可以以绿色边框的视频窗口(第二视频窗口)在第二客户端9显示第二本地图像。
请一并参阅图1至图2,其中图2是本发明实施例提出的视频通话方法的步骤流程图。以第一客户端8向第二客户端9发起视频通话请求为例进行说明。具体地,本发明实施例的视频通话方法可大致包括以下步骤S202-S210。
步骤S202:第一客户端8的定期发送模块100和/或第二客户端9的定期发送模块200定期向服务器5发送一个心跳包,以使服务器5确认第一客户端8和/或第二客户端9是否处于在线状态,并使服务器5根据心跳包的延时而侦测出第一客户端8或第二客户端9与服务器5之间的网络速度。
步骤S203:第一客户端8的视频通话请求模块102通过服务器5向第二客户端9发起视频通话请求;第一客户端8的图像显示模块104显示第一本地图像。
步骤S205:服务器5判断第一客户端8和第二客户端9的网络速度是否支持发起视频通话,若判断第一客户端8和第二客户端9的网络速度支持发起视频通话,则进行步骤S206,若判断第一客户端8和第二客户端9的网络速度不支持发起视频通话,则进行步骤S207。
步骤S206:服务器5中转第一客户端8与第二客户端9之间的视频通话请求,并分别向第一客户端8和第二客户端9提示第一客户端8和第二客户端9与服务器5之间的网络速度,进行步骤S208。
步骤S207:服务器5发送不支持发起视频通话的信息给第一客户端8以提示其可以选择不进行视频通话,结束。
步骤S209:第二客户端9的图像显示模块204显示第二本地图像;第二客户端9的测速请求包发送模块206通过服务器5发送测速请求包至第一客户端8;第一客户端8的测速模块108收到测速请求包后,根据测速请求包确定第二客户端9与第一客户端8之间的网络速度,并根据确定的网络速度而调整在第一客户端8显示的第一本地图像的清晰度以提示与第二客户端9建立视频通话后的视频通话质量。例如测速模块108在测得第一客户端8与第二客户端9之间的网络速度低于预定要求时,则以红色边框的视频窗口在第一客户端8显示第一本地图像。如果在测得第一客户端8与第二客户端9之间的网络速度满足预定要求时,则以绿色边框的视频窗口在第一客户端8显示第一本地图像。
步骤S210:第一客户端8的测速请求包发送模块106通过服务器5发送测速请求包至第二客户端9;第二客户端9的测速模块208收到测速请求包后,根据测速请求包确定第一客户端8与第二客户端9之间的网络速度,并根据确定的网络速度而调整在第二客户端9显示的第二本地图像的清晰度以提示与第一客户端8建立视频通话后的视频通话质量。例如测速模块208在测得第一客户端8与第二客户端9之间的网络速度低于预定要求时,则以红色边框的视频窗口在第二客户端9显示第二本地图像。如果测得第一客户端8与第二客户端9之间的网络速度满足预定要求时,则以绿色边框的视频窗口在第二客户端9显示第二本地图像。
步骤S212:服务器5判断第二客户端9是否接受视频通话请求,若是,进行步骤S213;若否,则结束。
步骤S213:服务器5建立第一客户端8与第二客户端9之间的视频通话,结束。
综上所述,本发明通过测速模块108、测速模块208分别接收第二客户端9及第一客户端8发送的测速请求包以测试第一客户端8与第二客户端9之间的网络速度,再根据测得的网络速度调整第一客户端8与第二客户端9进行视频通话时所显示图像的清晰度以保证通话时语音的流畅度,使得用户在通话连接建立前就可以获知网络速度及通话质量,这样用户可以预先做出决策是否继续等待通话,还可以减少因未知的原因造成无法建立通话连接给用户带来的困惑感,并提示用户改善网络速度。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。