CN106572320A - 多方视频通话方法及系统 - Google Patents
多方视频通话方法及系统 Download PDFInfo
- Publication number
- CN106572320A CN106572320A CN201610993268.9A CN201610993268A CN106572320A CN 106572320 A CN106572320 A CN 106572320A CN 201610993268 A CN201610993268 A CN 201610993268A CN 106572320 A CN106572320 A CN 106572320A
- Authority
- CN
- China
- Prior art keywords
- video
- client
- sent
- network protocol
- sends
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
- H04N7/147—Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种多方视频通话方法及系统,针对多方视频通话场景中视频流的传输方式做出改进,优化了视频传输的策略,使得视频通话的各方与网络协议服务器构成的系统在视频流分发上根据实际网络情况达到一个最优的平衡,以尽可能地实现视频的点对点传输和尽可能高地传输高质量的视频,改善了在现网环境中多方视频通话时的视频质量。视频通话客户端优先点对点发送,也即优先占用客户端的上行带宽,而不是网络协议服务器的带宽,可以更好地提升网络协议服务器的带宽的利用效率,从而提升整个大系统的效率,让网络协议服务器可以尽可能多地同时服务其他的通话。
Description
技术领域
本发明涉及多方视频通话技术领域,尤其涉及一种改进的多方视频通话方法及系统。
背景技术
随着通讯网络的发展,可实现多方同时通话的多方视频通话的需求越来越多。在多方视频通话场景中,任何一方都要将本地采集的视频分别发给另外的多个通话对端。为方便描述,以下以三方视频通话场景为例进行说明。
参考图1,现有三方通话系统中视频流的传输方式。客户端一、客户端二、客户端三为视频通话的三方,在三方通话系统中通话建立后,客户端一可以同时看到客户端二和客户端三的视频;客户端二可以同时看到客户端一和客户端三的视频;客户端三可以同时看到客户端一和客户端二的视频。视频流建立过程的细节(如何发现对端用于接收视频流的IP地址和PORT;如何通知网络协议服务器开启代理视频流的服务端口;如何知道网络协议服务器用于代理视频流的IP地址与端口等)遵循业界现有的实现方式,此处不再赘述。
在三方通话系统中通话建立后,视频流的传输方式如下:
1)客户端一和客户端二之间可以直接通过路由直达,所以客户端一的视频可以通过网络(Internet)发送给客户端二(视频流一);客户端二的视频也可以直接发送给客户端一(视频流三)。
2)客户端二和客户端三之间因为NAT(Network Address Translation,网络地址转换)的原因不能直接传送视频流给对方,因此需要网络协议服务器(TURN Server)做代理。即:客户端二先将视频发送给网络协议服务器(视频流四),由网络协议服务器再发送给客户端三;客户端三先将视频流发送给网络协议服务器(视频流五),由网络协议服务器在发送给客户端二。Turn Server 是一个TURN(Traversal Using Relay NAT,即通过Relay方式穿越NAT)协议的开源实现,该协议允许一个客户端以Relay方式获得IP地址和端口。因为网络协议服务器采用全球唯一的IP地址,所以网络协议服务器和客户端一、客户端二、客户端三中的任何一方都可以直接发送视频。网络协议服务器的工作原理参考现有的实现方式,此处不再赘述。
3)客户端一和客户端三之间的视频流二、六与客户端二与客户端三之间的视频流类似,都要经过网络协议服务器中转。
现有三方通话系统中视频流的传输方式存在的问题是:在典型的三方视频通话场景中,任何一方都要将本地采集的视频分别发给另外的两个通话对端,无论是直接发送还是通过网络协议服务器代理。而在国内的网络环境中,运营商提供给一般家庭用户的宽带上、下行带宽一般是不对称的;因ISP(Internet Service Provider,互联网服务提供商)不一样,一般家庭用户的上行带宽一般是512kps、1Mbps、4Mbps、10Mbps中的一种。绝大部分用户是1Mbps、4Mbps, 而且上行带宽在高峰时段往往达不到这个值。以720P分辨率的视频流为例,采用目前主流的H.264编码技术需要的带宽在1Mbps~4Mbps之间;在实际使用中一般采用降低图像清晰度(分辨率)的方式,来降低应用对传输带宽的要求,从而使视频通话的各方能够观看到流畅的视频,这种方式降低了视频质量。
因此,需要对多方视频通话场景中视频流的传输方式做出改进,以改善在现网环境中多方视频通话时的视频质量。
发明内容
本发明的目的在于提供一种多方视频通话方法及系统,以改善在现网环境中多方视频通话时的视频质量。
为了实现上述目的,本发明提供了一种多方视频通话方法,包括以下步骤:(1)视频发送客户端开始发送待发送视频之前,根据同时通话的视频接收客户端个数若判定n=1时,所述视频发送客户端将待所述发送视频直接发送给所述视频接收客户端,若判定n>1,则执行步骤(2),其中,n为需要发送的视频份数;(2)判断b*n 是否小于等于m,若判定b*n <= m,则所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端,否则执行步骤(3),其中,b为所述待发送视频所占的带宽、m为所述视频发送客户端所在网络的上行带宽;(3)判定b*n > m时,计算k=m/b 取整数,所述视频发送客户端任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,同时所述视频发送客户端发送1份所述待发送视频给网络协议服务器, 并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端。
为了实现上述目的,本发明还提供了一种多方视频通话系统,包括视频发送客户端、视频接收客户端以及网络协议服务器,所述视频发送客户端进一步包括视频发送模块,所述视频发送模块用于在所述视频发送客户端开始发送待发送视频之前,根据同时通话的视频接收客户端个数若判定n=1时,所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端;若判定n>1,则进一步判断b*n 是否小于等于m,若判定b*n <= m,则所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端,若判定b*n > m时,计算k=m/b 取整数,所述视频发送客户端任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,同时所述视频发送客户端发送1份所述待发送视频给网络协议服务器,并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端,其中,n为需要发送的视频份数,b为所述待发送视频所占的带宽、m为所述视频发送客户端所在网络的上行带宽。
本发明的优点在于,本发明针对多方视频通话场景中视频流的传输方式做出改进,通过改进视频通话客户端,优化视频传输的策略,使得视频通话的各方与网络协议服务器构成的系统在视频流分发上根据实际网络情况达到一个最优的平衡,以尽可能地实现视频的点对点传输和尽可能高地传输高质量的视频,改善了在现网环境中多方视频通话时的视频质量。当视频质量越高,视频通话客户端直接发送的视频流份数越少,需要网络协议服务器代理的视频流就越多。所以在多方视频通话时,理论上可以将视频质量提升至本方上行带宽的程度,而不是现有系统中的和本方同时通话的所有对端平分上行带宽。视频通话客户端优先点对点发送,也即优先占用客户端的上行带宽,而不是网络协议服务器的带宽,可以更好地提升网络协议服务器的带宽的利用效率,从而提升整个大系统的效率,让网络协议服务器可以尽可能多地同时服务其他的通话。
附图说明
图1现有三方通话系统中视频流的传输方式;
图2本发明一实施例所述的多方视频通话方法的流程图。
具体实施方式
下面结合附图对本发明提供的多方视频通话方法及系统做详细说明。
参考图2,本发明一实施例所述的路由器长连接服务监控方法的流程图。所述方法包括以下步骤:S21:视频发送客户端开始发送待发送视频之前,根据同时通话的视频接收客户端个数若判定n=1时,所述视频发送客户端将待所述发送视频直接发送给所述视频接收客户端,若判定n>1,则执行步骤S22,其中,n为需要发送的视频份数;S22:判断b*n 是否小于等于m,若判定b*n <= m,则所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端,否则执行步骤S23,其中,b为所述待发送视频所占的带宽、m为所述视频发送客户端所在网络的上行带宽;S23:判定b*n > m时,计算k=m/b 取整数,所述视频发送客户端任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,同时所述视频发送客户端发送1份所述待发送视频给网络协议服务器,并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端。以下给出详细解释。
S21:视频发送客户端开始发送待发送视频之前,根据同时通话的视频接收客户端个数若判定n=1时,所述视频发送客户端将待所述发送视频直接发送给所述视频接收客户端,若判定n>1,则执行步骤S22。
本发明优化了视频传输的策略,使得在视频流分发上根据实际网络情况达到一个最优的平衡。视频发送策略制定如下:在多方视频通话建立过程中,视频发送客户端开始发送待发送视频之前,视频发送客户端根据需要发送的待发送视频(1份)所占的带宽b、需要发送的视频份数n(同时与几个视频接收客户端通话,就要发送几份)和视频发送客户端自身所在网络的上行带宽m,作如下判定:
判断n是否等于1,若判定n=1时,所述视频发送客户端将待所述发送视频直接发送给所述视频接收客户端。也即,进行的是双方视频通话,此时视频发送、接收客户端之间可以直接通过路由直达,所以视频发送客户端的视频可以通过Internet发送给视频接收客户端。所述客户端为具备视频通话功能的客户端,当其发送视频时作为视频发送客户端,当其接收视频时又作为视频接收客户端。此处的视频发送客户端以及视频接收客户端仅用于说明视频的收发端,而非限定客户端仅具有单一功能。
若判定n>1时,继续执行步骤S22,继续判断b*n 是否小于等于m。
S22:判断b*n 是否小于等于m,若判定b*n <= m,则所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端,否则执行步骤S23。
也即,进行的是至少三方视频通话,但所有需要发送的视频份数所占的带宽总和b*n没有超过视频发送客户端自身所在网络的上行带宽m。此时,视频发送客户端与相应的多个视频接收之间仍然可以直接通过路由直达,所以视频发送客户端的视频可以通过Internet发送给相应的多个视频接收客户端。
S23:判定b*n > m时,计算k=m/b 取整数,所述视频发送客户端任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,同时所述视频发送客户端发送1份所述待发送视频给网络协议服务器, 并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端。
也即,进行的是至少三方视频通话,且所有需要发送的视频份数所占的带宽总和b*n超过视频发送客户端自身所在网络的上行带宽m。此时,计算k=m/b 取整数,所取整数即为视频发送客户端与所取整数值相应个数的视频接收之间仍然可以直接通过路由直达,故所述视频发送客户端可以任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,即视频发送客户端的需要发送的视频份数中的k-1份待发送视频可以通过Internet发送给k-1个相应的视频接收客户端。而另外n-k+1个相应的视频接收客户端接收的待发送视频是通过网络协议服务器转发的:所述视频发送客户端发送1份所述待发送视频给网络协议服务器, 并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端。
在本实施例中,在步骤S21之前进一步执行步骤S20:在所述视频发送客户端启动时,执行上行带宽测速,并将结果保存在所述视频发送客户端中。其中,所述上行带宽测速进一步采用:所述视频发送客户端向所述网络协议服务器发送预设字节数的数据,并接收所述网络协议服务器根据接收的字节数和时间计算得到所述视频发送客户端的带宽后转发的所述视频发送客户端所在网络的上行带宽。上行带宽测速过程在视频通话客户端启动时,执行一次,并将结果保存在客户端本地。测速的方法可以采用与现行通用的方法,比如:视频通话客户端用UDP(User Datagram Protocol,用户数据报协议)向网络协议服务器发送1M Byte的数据,网络协议服务器根据接收的字节数和时间,计算视频通话客户端的带宽,并将该结果发送给视频通话客户端。
在本实施例中,步骤S21进一步包括:所述视频发送客户端在发送所述待发送视频之前进行联通性检查,选择可用的IP地址和端口,之后将所述待发送视频发送给选定的IP地址和端口。将待发送视频发送给视频接收客户端,是将待发送视频发送给选定的IP地址和端口;具体为:在视频通话建立过程中,视频发送客户端会将接收视频流的地址列表发送给视频接收客户端,一般是三组IP地址和端口,一组是客户端本地的地址(IP1:PORT1),一组是通过网络协议服务器侦测出的全局地址(IP2:PORT 2),另一组是请求网络协议服务器开通的代理地址(IP3:PORT 3);视频发送客户端在发送之前会进行联通性检查,确认哪个地址可用,选择可用的IP地址和端口,然后将所述待发送视频发送给选定的IP地址和端口。
其中,本发明中提到的有关多方视频通话的技术(如何发现对端用于接收视频流的IP地址和PORT;如何通知网络协议服务器开启代理视频流的服务端口;如何知道网络协议服务器用于代理视频流的IP地址与端口等)遵循业界现有的实现方式。
在本实施例中,当视频发送客户端需要通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端时,可以采用现有的网络协议服务器做代理转发的方法,也可以为采用视频发送客户端和网络协议服务器进行信令交互,以优化视频发送流策略的执行。采用视频发送客户端和网络协议服务器进行信令交互时,步骤S23中通知所述网络协议服务器将所述待发送视频转发给n-k+1个相应的视频接收客户端进一步包括: (31)所述视频发送客户端发送开通接收端口命令报文给所述网络协议服务器;(32)接收所述网络协议服务器根据收到的所述命令报文所选用并回复的选用端口的端口号;具体为:所述网络协议服务器收到所述命令报文后,选用本地的可用的端口并监听(用于接收客户端发送过来的视频流),并将选用端口的端口号(PORT1)发送给所述视频发送客户端;(33)所述视频发送客户端收到所述选用端口的端口号后,将需要转发的视频接收客户端的转发地址列表(IP地址+PORT)发送给所述网络协议服务器;(34)接收所述网络协议服务器收到所述转发地址列表后回复的确认报文;具体为:所述网络协议服务器收到所述转发地址列表后,回复确认报文给所述视频发送客户端;(35)所述视频发送客户端开始发送所述待发送视频给所述网络协议服务器的所述端口号(PORT1)对应的端口。所发送所述待发送视频可以通过在现有的TRUN协议交互报文(rfc5766)基础上增加新的消息类型来实现。
本发明针对多方视频通话场景中视频流的传输方式做出改进,通过改进视频通话客户端,优化视频传输的策略,使得视频通话的各方与网络协议服务器构成的系统在视频流分发上根据实际网络情况达到一个最优的平衡,以尽可能地实现视频的点对点传输和尽可能高地传输高质量的视频,改善了在现网环境中多方视频通话时的视频质量。本发明同时改进了网络协议服务器,以优化视频发送流策略的执行。当视频质量越高,视频通话客户端直接发送的视频流份数越少,需要网络协议服务器代理的视频流就越多。所以在多方视频通话时,理论上可以将视频质量提升至本方上行带宽的程度,而不是现有系统中的和本方同时通话的所有对端平分上行带宽。视频通话客户端优先点对点发送,也即优先占用客户端的上行带宽,而不是网络协议服务器的带宽,可以更好地提升网络协议服务器的带宽的利用效率,从而提升整个大系统的效率,让网络协议服务器可以尽可能多地同时服务其他的通话。
本发明还提供了一种多方视频通话系统。所述系统包括视频发送客户端、视频接收客户端以及网络协议服务器。所述客户端为具备视频通话功能的客户端,当其发送视频时作为视频发送客户端,当其接收视频时又作为视频接收客户端。此处的视频发送客户端以及视频接收客户端仅用于说明视频的收发端,而非限定客户端仅具有单一功能。
所述视频发送客户端进一步包括视频发送模块,所述视频发送模块用于在所述视频发送客户端开始发送待发送视频之前,根据同时通话的视频接收客户端个数若判定n=1时,所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端;若判定n>1,则进一步判断b*n 是否小于等于m,若判定b*n <= m,则所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端;若判定b*n > m时,计算k=m/b 取整数,所述视频发送客户端任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,同时所述视频发送客户端发送1份所述待发送视频给网络协议服务器,并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端。其中,n为需要发送的视频份数,b为所述待发送视频所占的带宽、m为所述视频发送客户端所在网络的上行带宽。
本发明优化了视频传输的策略,使得在视频流分发上根据实际网络情况达到一个最优的平衡。视频发送策略制定如下:在多方视频通话建立过程中,视频发送客户端开始发送待发送视频之前,视频发送客户端根据需要发送的待发送视频(1份)所占的带宽b、需要发送的视频份数n(同时与几个视频接收客户端通话,就要发送几份)和视频发送客户端自身所在网络的上行带宽m,作如下判定:
判断n是否等于1,若判定n=1时,所述视频发送客户端将待所述发送视频直接发送给所述视频接收客户端。也即,进行的是双方视频通话,此时视频发送、接收客户端之间可以直接通过路由直达,所以视频发送客户端的视频可以通过Internet发送给视频接收客户端。若判定n>1时,继续判断b*n 是否小于等于m。
若判定b*n <= m,则所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端。也即,进行的是至少三方视频通话,但所有需要发送的视频份数所占的带宽总和b*n没有超过视频发送客户端自身所在网络的上行带宽m。此时,视频发送客户端与相应的多个视频接收之间仍然可以直接通过路由直达,所以视频发送客户端的视频可以通过Internet发送给相应的多个视频接收客户端。
若判定b*n > m时,也即,进行的是至少三方视频通话,且所有需要发送的视频份数所占的带宽总和b*n超过视频发送客户端自身所在网络的上行带宽m。此时,计算k=m/b取整数,所取整数即为视频发送客户端与所取整数值相应个数的视频接收之间仍然可以直接通过路由直达,故所述视频发送客户端可以任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,即视频发送客户端的需要发送的视频份数中的k-1份待发送视频可以通过Internet发送给k-1个相应的视频接收客户端。而另外n-k+1个相应的视频接收客户端接收的待发送视频是通过网络协议服务器转发的:所述视频发送客户端发送1份所述待发送视频给网络协议服务器, 并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端。
在本实施例中,所述视频发送客户端进一步包括上行带宽测速模块,所述上行带宽测速模块用于在所述视频发送客户端启动时,执行上行带宽测速,并将结果保存在所述视频发送客户端中。其中,所述上行带宽测速进一步采用:所述网络协议服务器进一步包括上行带宽测速服务模块,所述上行带宽测速模块向所述上行带宽测速服务模块发送预设字节数的数据,并接收所述上行带宽测速服务模块根据接收的字节数和时间计算得到所述视频发送客户端的带宽后转发的所述视频发送客户端所在网络的上行带宽。上行带宽测速过程在视频通话客户端启动时,执行一次,并将结果保存在客户端本地。测速的方法可以采用与现行通用的方法,比如:视频通话客户端中的上行带宽测速模块用UDP(User DatagramProtocol,用户数据报协议)向网络协议服务器的上行带宽测速服务模块发送1M Byte的数据,网络协议服务器的上行带宽测速服务模块根据接收的字节数和时间,计算视频通话客户端的带宽,并将该结果发送给视频通话客户端。
在本实施例中,所述视频发送客户端进一步包括地址选择模块,所述地址选择模块在所述视频发送客户端发送所述待发送视频之前进行联通性检查,选择可用的IP地址和端口,之后所述视频发送客户端将所述待发送视频发送给选定的IP地址和端口。将待发送视频发送给视频接收客户端,是将待发送视频发送给选定的IP地址和端口;具体为:在视频通话建立过程中,视频发送客户端会将接收视频流的地址列表发送给视频接收客户端,一般是三组IP地址和端口,一组是客户端本地的地址(IP1:PORT1),一组是通过网络协议服务器侦测出的全局地址(IP2:PORT 2),另一组是请求网络协议服务器开通的代理地址(IP3:PORT 3);视频发送客户端在发送之前会进行联通性检查,确认哪个地址可用,选择可用的IP地址和端口,然后将所述待发送视频发送给选定的IP地址和端口。
在本实施例中,当视频发送客户端需要通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端时,可以采用现有的网络协议服务器做代理转发的方法,也可以为采用视频发送客户端和网络协议服务器进行信令交互,以优化视频发送流策略的执行。采用视频发送客户端和网络协议服务器进行信令交互时,所述视频发送客户端进一步包括视频转发模块,所述视频发送模块通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端时,所述视频转发模块发送开通接收端口命令报文给所述网络协议服务器,并接收所述网络协议服务器根据收到的所述命令报文所选用并回复的选用端口的端口号,以及所述视频转发模块收到所述选用端口的端口号后,将需要转发的视频接收客户端的转发地址列表发送给所述网络协议服务器并接收所述网络协议服务器收到所述转发地址列表后回复的确认报文,之后所述视频发送客户端开始发送所述待发送视频给所述网络协议服务器的所述端口号对应的端口。
本发明所述系统,通过在现有视频通话系统中的视频通话客户端中增加多方视频通话辅助子系统:上行带宽测速模块、地址选择模块、客户端视频发送策略制定的视频发送模块以及视频发送策略执行的视频转发模块,以上模块功能可以由视频通话客户端中新增的软件实现。本发明所述系统,还可以通过在现有视频通话系统中的网络协议服务器中增加上行带宽测速服务模块以配合视频通话客户端中的上行带宽测速模块,模块功能可以由网络协议服务器中新增的软件实现。同时网络协议服务器还可以通过软件配合视频通话客户端中的视频发送策略的执行。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种多方视频通话方法,其特征在于,包括以下步骤:
(1)视频发送客户端开始发送待发送视频之前,根据同时通话的视频接收客户端个数若判定n=1时,所述视频发送客户端将待所述发送视频直接发送给所述视频接收客户端,若判定n>1,则执行步骤(2),其中,n为需要发送的视频份数;
(2)判断b*n 是否小于等于m,若判定b*n <= m,则所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端,否则执行步骤(3),其中,b为所述待发送视频所占的带宽、m为所述视频发送客户端所在网络的上行带宽;
(3)判定b*n > m时,计算k=m/b 取整数,所述视频发送客户端任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,同时所述视频发送客户端发送1份所述待发送视频给网络协议服务器,并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端。
2.根据权利要求1所述的方法,其特征在于,步骤(1)之前进一步包括:在所述视频发送客户端启动时,执行上行带宽测速,并将结果保存在所述视频发送客户端中。
3.根据权利要求2所述的方法,其特征在于,所述上行带宽测速进一步采用:所述视频发送客户端向所述网络协议服务器发送预设字节数的数据,并接收所述网络协议服务器根据接收的字节数和时间计算得到所述视频发送客户端的带宽后转发的所述视频发送客户端所在网络的上行带宽。
4.根据权利要求1所述的方法,其特征在于,步骤(1)中进一步包括:所述视频发送客户端在发送所述待发送视频之前进行联通性检查,选择可用的IP地址和端口,之后将所述待发送视频发送给选定的IP地址和端口。
5.根据权利要求1所述的方法,其特征在于,步骤(3)中通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端进一步包括:
(31)所述视频发送客户端发送开通接收端口命令报文给所述网络协议服务器;
(32)接收所述网络协议服务器根据收到的所述命令报文所选用并回复的选用端口的端口号;(33)所述视频发送客户端收到所述选用端口的端口号后,将需要转发的视频接收客户端的转发地址列表发送给所述网络协议服务器;
(34)接收所述网络协议服务器收到所述转发地址列表后回复的确认报文;
(35)所述视频发送客户端开始发送所述待发送视频给所述网络协议服务器的所述端口号对应的端口。
6.一种多方视频通话系统,其特征在于,包括视频发送客户端、视频接收客户端以及网络协议服务器, 所述视频发送客户端进一步包括视频发送模块,所述视频发送模块用于在所述视频发送客户端开始发送待发送视频之前,根据同时通话的视频接收客户端个数若判定n=1时,所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端;若判定n>1,则进一步判断b*n 是否小于等于m,若判定b*n <= m,则所述视频发送客户端将所述待发送视频直接发送给所述视频接收客户端,若判定b*n > m时,计算k=m/b 取整数,所述视频发送客户端任取所述需要发送的视频份数中的k-1份并将所述待发送视频直接发送给k-1个相应的视频接收客户端,同时所述视频发送客户端发送1份所述待发送视频给网络协议服务器,并且通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端,其中,n为需要发送的视频份数,b为所述待发送视频所占的带宽、m为所述视频发送客户端所在网络的上行带宽。
7.根据权利要求6所述的系统,其特征在于,所述视频发送客户端进一步包括上行带宽测速模块,所述上行带宽测速模块用于在所述视频发送客户端启动时,执行上行带宽测速,并将结果保存在所述视频发送客户端中。
8.根据权利要求7所述的系统,其特征在于,所述网络协议服务器进一步包括上行带宽测速服务模块,所述上行带宽测速模块向所述上行带宽测速服务模块发送预设字节数的数据,并接收所述上行带宽测速服务模块根据接收的字节数和时间计算得到所述视频发送客户端的带宽后转发的所述视频发送客户端所在网络的上行带宽。
9.根据权利要求6所述的系统,其特征在于,所述视频发送客户端进一步包括地址选择模块,所述地址选择模块在所述视频发送客户端发送所述待发送视频之前进行联通性检查,选择可用的IP地址和端口,之后所述视频发送客户端将所述待发送视频发送给选定的IP地址和端口。
10.根据权利要求6所述的系统,其特征在于,所述视频发送客户端进一步包括视频转发模块,所述视频发送模块通知所述网络协议服务器将所述待发送视频转发给另外n-k+1个相应的视频接收客户端时,所述视频转发模块发送开通接收端口命令报文给所述网络协议服务器,并接收所述网络协议服务器根据收到的所述命令报文所选用并回复的选用端口的端口号,以及所述视频转发模块收到所述选用端口的端口号后,将需要转发的视频接收客户端的转发地址列表发送给所述网络协议服务器并接收所述网络协议服务器收到所述转发地址列表后回复的确认报文,之后所述视频发送客户端开始发送所述待发送视频给所述网络协议服务器的所述端口号对应的端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610993268.9A CN106572320A (zh) | 2016-11-11 | 2016-11-11 | 多方视频通话方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610993268.9A CN106572320A (zh) | 2016-11-11 | 2016-11-11 | 多方视频通话方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106572320A true CN106572320A (zh) | 2017-04-19 |
Family
ID=58541400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610993268.9A Pending CN106572320A (zh) | 2016-11-11 | 2016-11-11 | 多方视频通话方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106572320A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1618233A (zh) * | 2002-01-30 | 2005-05-18 | 摩托罗拉公司 | 视频会议系统和操作方法 |
CN101365125A (zh) * | 2008-09-27 | 2009-02-11 | 腾讯科技(深圳)有限公司 | 多路视频通信方法与系统 |
US20100113037A1 (en) * | 2008-10-31 | 2010-05-06 | Motorola, Inc. | Adaptive mobile video call congestion control |
TW201220847A (en) * | 2010-09-30 | 2012-05-16 | Kokuyo Kk | Video call system, main-side terminal, and subordinate-side terminals |
CN103517024A (zh) * | 2012-06-21 | 2014-01-15 | 腾讯科技(深圳)有限公司 | 视频通话系统及视频通话方法 |
CN104580991A (zh) * | 2013-10-15 | 2015-04-29 | 宝利通公司 | 用于会议系统对会议会话的当前条件的实时适应的系统和方法 |
-
2016
- 2016-11-11 CN CN201610993268.9A patent/CN106572320A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1618233A (zh) * | 2002-01-30 | 2005-05-18 | 摩托罗拉公司 | 视频会议系统和操作方法 |
CN101365125A (zh) * | 2008-09-27 | 2009-02-11 | 腾讯科技(深圳)有限公司 | 多路视频通信方法与系统 |
US20100113037A1 (en) * | 2008-10-31 | 2010-05-06 | Motorola, Inc. | Adaptive mobile video call congestion control |
TW201220847A (en) * | 2010-09-30 | 2012-05-16 | Kokuyo Kk | Video call system, main-side terminal, and subordinate-side terminals |
CN103517024A (zh) * | 2012-06-21 | 2014-01-15 | 腾讯科技(深圳)有限公司 | 视频通话系统及视频通话方法 |
CN104580991A (zh) * | 2013-10-15 | 2015-04-29 | 宝利通公司 | 用于会议系统对会议会话的当前条件的实时适应的系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9338190B2 (en) | System and method for managing multimedia communications across convergent networks | |
EP2022201B1 (en) | Media segment monitoring | |
US9479967B1 (en) | Enhanced media gateway | |
CN102265553A (zh) | 用于可靠组播数据流的方法和设备 | |
US20090086722A1 (en) | Communication apparatus and terminal registration method for use in communication system | |
CN104683730A (zh) | 传输视频会议数据方法及视频会议系统 | |
WO2013040970A1 (zh) | 中继节点选择方法及装置 | |
US8233400B2 (en) | Methods, systems, and computer readable media for verifying the availability of an internet protocol (IP) media router during a call setup | |
RU2611969C2 (ru) | Система связи для создания сеанса связи в режиме реального времени | |
US20070204065A1 (en) | Method and system for providing communication protocol interoperability | |
CN111614927A (zh) | 视频会话建立法、装置、电子设备及存储介质 | |
US7907594B2 (en) | Marking keyframes for a communication session | |
CN102075588B (zh) | 一种实现网络地址转换nat穿越的方法、系统和设备 | |
CN111541857A (zh) | 一种入会方法、装置、电子设备及存储介质 | |
US9426186B2 (en) | Methods and systems for load balancing call sessions over a dual ring internet protocol (IP) network | |
CN107634954B (zh) | 一种软交换呼叫方法及系统 | |
WO2013013524A1 (zh) | 一种跨网络实现终端通信的方法及系统 | |
CN106572320A (zh) | 多方视频通话方法及系统 | |
KR20120100376A (ko) | 에스아이피 메시지 송수신 시스템 및 방법 | |
CN102098314B (zh) | 一种多媒体会议的实现方法与系统 | |
US8526315B2 (en) | Flow state attributes for producing media flow statistics at a network node | |
US20100329242A1 (en) | Server apparatus and speech connection method | |
CN103548330B (zh) | 一种网络电话建立呼叫方法、装置和系统 | |
US9356850B2 (en) | Method for monitoring a communication system | |
KR101330246B1 (ko) | 인터넷 전화 단말기, 인터넷 전화 단말기에서의 미디어 데이터 전송 방법 및 인터넷 전화를 위한 세션 보더 콘트롤러 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170419 |