CN113630424A - WebRTC通信方法及系统 - Google Patents

WebRTC通信方法及系统 Download PDF

Info

Publication number
CN113630424A
CN113630424A CN202111079660.XA CN202111079660A CN113630424A CN 113630424 A CN113630424 A CN 113630424A CN 202111079660 A CN202111079660 A CN 202111079660A CN 113630424 A CN113630424 A CN 113630424A
Authority
CN
China
Prior art keywords
information
webrtc
called terminal
terminal
calling terminal
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.)
Granted
Application number
CN202111079660.XA
Other languages
English (en)
Other versions
CN113630424B (zh
Inventor
田秋然
丁建强
白国帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202111079660.XA priority Critical patent/CN113630424B/zh
Publication of CN113630424A publication Critical patent/CN113630424A/zh
Priority to PCT/CN2022/098671 priority patent/WO2023040380A1/zh
Application granted granted Critical
Publication of CN113630424B publication Critical patent/CN113630424B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1093In-session procedures by adding participants; by removing participants
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种WebRTC通信方法,所述方法包括:获取所述主叫终端的第一设备信息与被叫终端的第二设备信息;根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息;及若有所述非必要信息,则在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,以实现所述主叫终端和所述被叫终端的通信。本申请公开的技术方案,可以减少信令服务器30%以上的网络带宽和性能消耗,且不影响两端之间WebRTC建立连接的成功率。

Description

WebRTC通信方法及系统
技术领域
本申请涉及通信领域,尤其涉及一种WebRTC通信方法、装置、计算机设备和计算机可读存储介质,及WebRTC通信系统。
背景技术
随着www万维网和移动互联网的发展,WebRTC技术成为各方关注的技术内容。WebRTC(Web Real-Time Communication,Web实时通信)是一项在浏览器内部进行实时视频和音频通信的技术,例如WebRTC可以实现基于网页的视频会议,其使得不同终端浏览器之间的直接web通信成为可能,从而改变了终端浏览器只能通过服务器拉取信息的网络结构模式,是对WEB技术的一大变革。
发明人发现,建立WebRTC通信的双方均是通过信令服务器转发全部类型的互联网连接候选者信息给对方,从而给信令服务器带来过多网络带宽和性能消耗。
发明内容
本申请实施例的目的是提供一种WebRTC通信方法、装置、计算机设备及计算机可读存储介质,及WebRTC通信系统,可以用于解决以下问题:建立WebRTC通信的双方均是通过信令服务器转发全部类型的互联网连接候选者信息给对方,从而给信令服务器带来过多网络带宽和性能消耗。
本申请实施例的一个方面提供了一种WebRTC通信方法,所述方法包括:
获取所述主叫终端的第一设备信息与被叫终端的第二设备信息;
根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息;及
若有所述非必要信息,则在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,以实现所述主叫终端和所述被叫终端的通信。
可选的,所述第一设备信息包括所述主叫终端的第一公网IP地址,与所述第二设备信息包括所述被叫终端的第二公网IP地址;
所述根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息,包括:
判断所述第一公网IP地址与所述第二公网IP地址是否相同;
若所述第一公网IP地址与所述第二公网IP地址不相同,则判定主机类型的互联网连接候选者信息为所述非必要信息。
可选的,所述主机类型的互联网连接候选者信息和其他类型的互联网连接候选者信息构成互联网连接候选者信息;所述在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,包括:
通过所述其他类型的互联网连接候选者信息,在所述主叫终端和所述被叫终端之间建立WebRTC连接。
可选的,所述主机类型的互联网连接候选者信息和其他类型的互联网连接候选者信息构成互联网连接候选者信息;所述方法还包括:
若所述第一公网IP地址与所述第二公网IP地址相同,则判定没有所述非必要信息;及
通过所述互联网连接候选者信息,在所述主叫终端和所述被叫终端之间建立WebRTC连接。
本申请实施例的一个方面又提供了一种WebRTC通信装置,所述装置包括:
获取模块,用于获取所述主叫终端的第一设备信息与被叫终端的第二设备信息;
判断模块,用于根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息;及
建立模块,用于若有所述非必要信息,则在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,以实现所述主叫终端和所述被叫终端的通信。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上述WebRTC通信方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上述WebRTC通信方法的步骤。
本申请实施例的一个方面又一种WebRTC通信系统,所述系统包括主叫终端、信令服务器和被叫终端;
所述主叫终端,用于获取所述主叫终端的第一设备信息与被叫终端的第二设备信息;根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的主叫端非必要信息;及若有所述主叫端非必要信息,则收集不包括所述主叫端非必要信息的第一网络信息;及将所述第一网络信息通过所述信令服务器转发给所述被叫终端;
所述被叫终端,用于获取所述第一设备信息与所述第二设备信息;根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的被叫端非必要信息;及若有所述被叫端非必要信息,则收集不包括所述被叫端非必要信息的第二网络信息;及将所述第二网络信息通过所述信令服务器转发给所述被叫终端;
所述信令服务器,用于转发所述第一网络信息和所述第二网络信息,以使所述主叫终端和所述被叫终端建立WebRTC连接,并基于所述WebRTC连接进行通信。
可选的,所述第一设备信息包括所述主叫终端的第一公网IP地址,与所述第二设备信息包括所述被叫终端的第二公网IP地址;
所述主叫终端,还用于:判断所述第一公网IP地址与所述第二公网IP地址是否相同;若不相同,则判定主机类型的主叫端互联网连接候选者信息为所述主叫端非必要信息;
所述被叫终端,还用于:判断所述第一公网IP地址与所述第二公网IP地址是否相同;若不相同,则判定主机类型的被叫端互联网连接候选者信息为所述被叫端非必要信息。
可选的,所述主叫终端,还用于将非主机类型的主叫端互联网连接候选者信息通过所述信令服务器发送给所述被叫终端;
所述被叫终端,还用于将非主机类型的被叫端互联网连接候选者信息通过所述信令服务器发送给所述主叫终端。
本申请实施例提供的WebRTC通信方法、装置、设备及计算机可读存储介质,及WebRTC通信系统,包括如下优点:
主叫终端和被叫终端需要以信令服务器为中介交换用于建立WebRTC连接的信息。主叫终端和被叫终端在某些场景下,部分连接方式并不适用,因此对应的信息也可以被认为是非必要信息。在每次建立端与端之间的WebRTC连接时,若双方均将这部分非必要信息忽略掉(即不用于信息交换中),则可以减少信令服务器30%以上的网络带宽和性能消耗,且不影响两端之间WebRTC建立连接的成功率。
附图说明
图1示意性示出了根据本申请实施例的WebRTC通信系统的网络架构图;
图2示意性示出了WebRTC连接的建立过程;
图3示意性示出了根据本申请实施例二的WebRTC通信方法的流程图;
图4为图3中步骤S302的子步骤流程图;
图5为图3中步骤S304的子步骤流程图;
图6示意性示出了根据本申请实施例二的WebRTC通信方法的新增步骤流程图;
图7示意性示出了根据本申请实施例三的WebRTC通信装置的框图;
图8示意性示出了根据本申请实施例四的适于实现WebRTC通信方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
WebRTC(Web Real-Time Communication,Web实时通信)是一项在浏览器内部进行实时视频和音频通信的技术,例如WebRTC可以实现基于网页的视频会议,其使得不同终端浏览器之间的直接web通信成为可能,从而改变了终端浏览器只能通过服务器拉取信息的网络结构模式,是对WEB技术的一大变革。发明人发现,建立WebRTC通信的双方均是通过信令服务器转发全部类型的互联网连接候选者信息给对方,从而给信令服务器带来过多网络带宽和性能消耗。
针对上述发现的问题,本申请旨在:在建立WebRTC过程中,双方尽量避免发送非必要信息,如仅将部分类型的互联网连接候选者信息发送信令服务器,以通过信令服务器转发给对方,从而有效减少信令服务器的网络带宽和性能消耗。
以下为本申请的术语解释:
WebRTC:全称Web Real-Time Communications,是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。
信令服务器(Signaling Server):用于转发WebRTC客户端与WebRTC客户端之间消息的服务器。
RTCIceCandidate(互联网连接候选者信息):是可能用于建立RTCPeerConnection的候选ICE(Internet Connectivity Establishment,因特网连接建立)配置。ICE候选者描述了WebRTC能够与被叫终端通信所需的协议和路由。启动WebRTC对等连接时,通常会在连接的每一端提出若干候选者,直到他们共同商定描述他们决定的连接将是最好的候选者。WebRTC使用该候选者的详细信息启动连接。
这些候选者分为多个类型,这些类型按优先级顺序列出。
Host类型:对应主机候选者,其RTCIceCandidate.ip属性中指定的IP地址实际上是远程对等方的真实地址。
srflx类型:对应服务器自反候选者(server reflexive candidate),IP表示由STUN服务器分配的中间地址,用于匿名地表示候选者的对等方。
prflx类型:对应同等自反候选者(peer reflexive candidate),IP是STUN服务器分配的中间地址,用于匿名地代表候选者的对等方。
relay类型:对应从TURN服务器获得的中继候选者(relay candidate),中继候选者的IP地址是TURN服务器用来在两个对等方之间转发媒体的地址。
SDP(Session Description Protocol,会话描述协议),用于两个会话实体之间的媒体协商。
图1示意性示出了根据本申请实施例的WebRTC通信方法的网络架构图。
主叫终端2,可以被配置为可以实施WebRTC通信的设备。主叫终端2可以包括任何类型的计算设备,诸如移动设备、平板设备、膝上型计算机、智能电视等。
信令服务器4,用于转发WebRTC客户端与WebRTC客户端之间消息的服务器。
被叫终端6,可以被配置为可以实施WebRTC通信的设备。被叫终端6可以包括任何类型的计算设备,诸如移动设备、平板设备、膝上型计算机、智能电视等。
主叫终端2、信令服务器4与被叫终端6之间可以通过一个或多个网络进行通信。所述一个或多个网络包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或类似。一个或多个网络可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。网络可以包括无线链路,诸如蜂窝链路,卫星链路,Wi-Fi链路等。
主叫终端2、被叫终端6各自安装浏览器或专门的应用程序。通过浏览器或专门的应用程序可以实现彼此之间的WebRTC通信,进而实现音频或视频通话等。主叫终端2、被叫终端6各自配置客户端接口,该客户端接口可以包括输入元件。例如,输入元件可以被配置为接收用户指令,所述用户指令可以实现各类操作。
在建立主叫终端2和被叫终端6之间的WebRTC连接过程中,主叫终端2和被叫终端6之间需要通过信令服务器4进行信息交换,以实现二者之间的通信协商。其中,所述信息可以包括媒体信息和网络信息(互联网连接候选者信息)等。
在上述示例性的网络架构下,本申请将提供多个用于WebRTC通信的实施例,具体参照下文。
实施例一
继续参考图1,本实施例提供了一种WebRTC通信系统。
如图1所示,所述WebRTC通信系统包括主叫终端2、信令服务器4和被叫终端6。
所述主叫终端2,用于获取所述主叫终端的第一设备信息与被叫终端的第二设备信息;根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的主叫端非必要信息;及若有所述主叫端非必要信息,则收集不包括所述主叫端非必要信息的第一网络信息;及将所述第一网络信息通过所述信令服务器转发给所述被叫终端;
所述被叫终端6,用于获取所述第一设备信息与所述第二设备信息;根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的被叫端非必要信息;及若有所述被叫端非必要信息,则收集不包括所述被叫端非必要信息的第二网络信息;及将所述第二网络信息通过所述信令服务器转发给所述被叫终端;
所述信令服务器4,用于转发所述第一网络信息和所述第二网络信息,以使所述主叫终端和所述被叫终端建立WebRTC连接,并基于所述WebRTC连接进行通信。
本申请实施例所述的WebRTC通信系统,包括如下优点:主叫终端2和被叫终端6需要以信令服务器为中介交换用于建立WebRTC连接的信息。主叫终端2和被叫终端6在某些场景下,部分连接方式并不适用,因此对应的信息也可以被认为是非必要信息。在每次建立端与端之间的WebRTC连接时,若双方均将这部分非必要信息忽略掉(即不用于信息交换中),则可以减少信令服务器30%以上的网络带宽和性能消耗,且不影响两端之间WebRTC建立连接的成功率。
在示例性的实施例中,所述第一设备信息包括所述主叫终端的第一公网IP地址,与所述第二设备信息包括所述被叫终端的第二公网IP地址;所述主叫终端2,还用于:判断所述第一公网IP地址与所述第二公网IP地址是否相同;若不相同,则判定主机类型的主叫端互联网连接候选者信息为所述主叫端非必要信息;所述被叫终端6,还用于:判断所述第一公网IP地址与所述第二公网IP地址是否相同;若不相同,则判定主机类型的被叫端互联网连接候选者信息为所述被叫端非必要信息。在本实施例中,将主机类型的主叫端/被叫端互联网连接候选者信息确定为非必要信息,可以有效减少双方发送给信令服务器4的网络带宽和性能消耗。
在示例性的实施例中,所述主叫终端2,还用于将非主机类型的主叫端互联网连接候选者信息通过所述信令服务器发送给所述被叫终端;所述被叫终端6,还用于将非主机类型的被叫端互联网连接候选者信息通过所述信令服务器发送给所述主叫终端。在本实施例中,将非主机类型的主叫端/被叫端互联网连接候选者信息用于WebRTC连接,可以有效减少双方发送给信令服务器4的网络带宽和性能消耗。
以下提供一个基于上述WebRTC通信系统的WebRTC连接示例。
主叫终端2和被叫终端6注册到信令服务器4中。
其中,主叫终端2可以向被叫终端6请求WebRTC连接。WebRTC连接过程如下:
步骤一:主叫终端2向信令服务器4获取自己的公网IP地址和被叫终端6的公网IP地址。
步骤二:主叫终端2调用PeerConnection接口,创建一个PeerConnection对象。
步骤三:主叫终端2调用该PeerConnection对象的CreateOffer方法创建一个offer SDP对象。其中,所述offer SDP对象可以保存有当前音视频的相关参数。
步骤四:主叫终端2经由信令服务器4将所述offer SDP对象发送给被叫终端6。
步骤五:被叫终端6接收所述offer SDP对象,调用PeerConnection的CreateAnswer方法创建应答SDP对象,并经由信令服务器4将所述应答SDP对象发送给主叫终端2。
步骤六:主叫终端2接收所述应答SDP对象,主叫终端2开启收集互联网连接候选者信息(如图2所示)。
步骤七:主叫终端2判断自己的公网IP地址和被叫终端6的公网IP地址是否相同;如果主叫终端2自己的公网IP地址和被叫终端6的公网IP地址不相同,进入步骤八;否则进入步骤九。
步骤八:主叫终端2收集除“主机类型的互联网连接候选者信息”之外的互联网连接候选者信息;进入步骤十。
步骤九:主叫终端2收集全部类型的互联网连接候选者信息;进入步骤十。
步骤十:主叫终端2将收集到的互联网连接候选者信息发送给信令服务器4,以经由信令服务器4转发给被叫终端6。
需要说明的是,被叫终端6镜像执行如步骤七至步骤十的操作,并将自己收集到的互联网连接候选者信息发送给信令服务器4,以经由信令服务器4转发给主叫终端2。
最后,主叫终端2和被叫终端6通过交换彼此的互联网连接候选者信息,选择一种方式建立WebRTC连接。基于该WebRTC连接,主叫终端2和被叫终端6可以实现通信。
如上,当主叫终端2的公网IP地址和被叫终端6的公网IP地址不相同时,双方给对方发送的互联网连接候选者信息都忽略掉主机(host)类型的互联网连接候选者信息,这样每建立一次端与终端之间的WebRTC连接,减少了信令服务器30%以上的网络带宽和性能消耗,并且不影响两端之间WebRTC建立连接的成功率。
实施例二
本实施例提供的WebRTC连接方法的技术细节可参考上文。
图3示意性示出了根据本申请实施例二的WebRTC通信方法的流程图。在示例性的实施例中,所述WebRTC通信方法可以执行在主叫终端2或被叫终端6中。
如图3所示,该WebRTC通信方法可以包括步骤S300~S304,其中:
步骤S300,获取所述主叫终端的第一设备信息与被叫终端的第二设备信息;
步骤S302,根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息;及
步骤S304,若有所述非必要信息,则在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,以实现所述主叫终端和所述被叫终端的通信。
本申请实施例所述的WebRTC通信方法,包括如下优点:主叫终端2和被叫终端6需要以信令服务器为中介交换用于建立WebRTC连接的信息。主叫终端2和被叫终端6在某些场景下,部分连接方式并不适用,因此对应的信息也可以被认为是非必要信息。在每次建立端与端之间的WebRTC连接时,若双方均将这部分非必要信息忽略掉(即不用于信息交换中),则可以减少信令服务器30%以上的网络带宽和性能消耗,且不影响两端之间WebRTC建立连接的成功率。
在示例性的实施例中,所述第一设备信息包括所述主叫终端的第一公网IP地址,与所述第二设备信息包括所述被叫终端的第二公网IP地址。如图4所示,所述步骤S302可以包括:步骤S400,判断所述第一公网IP地址与所述第二公网IP地址是否相同;步骤S402,若所述第一公网IP地址与所述第二公网IP地址不相同,则判定主机类型的互联网连接候选者信息为所述非必要信息。在本实施例中,将主机类型的互联网连接候选者信息确定为非必要信息,可以有效减少双方发送给信令服务器的网络带宽和性能消耗。
在示例性的实施例中,所述主机类型的互联网连接候选者信息和其他类型的互联网连接候选者信息构成互联网连接候选者信息。如图5所示,所述步骤S304可以包括:步骤S500,通过所述其他类型的互联网连接候选者信息,在所述主叫终端和所述被叫终端之间建立WebRTC连接。在本实施例中,将非主机类型的互联网连接候选者信息用于WebRTC连接,可以有效减少双方发送给信令服务器的网络带宽和性能消耗。
在示例性的实施例中,所述主机类型的互联网连接候选者信息和其他类型的互联网连接候选者信息构成互联网连接候选者信息。如图6所示,所述方法还可以包括:步骤S600,若所述第一公网IP地址与所述第二公网IP地址相同,则判定没有所述非必要信息;及步骤S602,通过所述互联网连接候选者信息,在所述主叫终端和所述被叫终端之间建立WebRTC连接。在本实施例中,将全部类型的互联网连接候选者信息用于WebRTC连接,有效确保主叫终端和被叫终端的WebRTC连接。
实施例三
图7示意性示出了根据本申请实施例三的WebRTC通信装置的框图。该WebRTC通信装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图7所示,该WebRTC通信装置700可以包括获取模块710、判断模块720和建立模块730,其中:
获取模块710,用于获取所述主叫终端的第一设备信息与被叫终端的第二设备信息;
判断模块720,用于根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息;及
建立模块730,用于若有所述非必要信息,则在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,以实现所述主叫终端和所述被叫终端的通信。
在示例性的实施例中,所述第一设备信息包括所述主叫终端的第一公网IP地址,与所述第二设备信息包括所述被叫终端的第二公网IP地址;所述判断模块720还用于:
判断所述第一公网IP地址与所述第二公网IP地址是否相同;
若所述第一公网IP地址与所述第二公网IP地址不相同,则判定主机类型的互联网连接候选者信息为所述非必要信息。
在示例性的实施例中,所述主机类型的互联网连接候选者信息和其他类型的互联网连接候选者信息构成互联网连接候选者信息;所述建立模块730,还用于:
通过所述其他类型的互联网连接候选者信息,在所述主叫终端和所述被叫终端之间建立WebRTC连接。
在示例性的实施例中,所述主机类型的互联网连接候选者信息和其他类型的互联网连接候选者信息构成互联网连接候选者信息;所述建立模块730还用于:
若所述第一公网IP地址与所述第二公网IP地址相同,则判定没有所述非必要信息;及
通过所述互联网连接候选者信息,在所述主叫终端和所述被叫终端之间建立WebRTC连接。
实施例四
图8示意性示出了根据本申请实施例四的适于实现WebRTC通信方法的计算机设备10000的硬件架构示意图。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是移动设备、平板设备、膝上型计算机、智能电视、个人电脑(PC)、虚拟现实设备等各类终端设备。如图8所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如WebRTC通信方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件10010-10030的计算机设备,但是应该理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的WebRTC通信方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请实施例。
实施例五
本申请还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的WebRTC通信方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中WebRTC通信方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
需要说明的是,以上仅为本申请的优选实施例,并非因此限制本申请的专利保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种WebRTC通信方法,其特征在于,所述方法包括:
获取主叫终端的第一设备信息与被叫终端的第二设备信息;
根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息;及
若有所述非必要信息,则在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,以实现所述主叫终端和所述被叫终端的通信。
2.根据权利要求1所述的WebRTC通信方法,其特征在于:所述第一设备信息包括所述主叫终端的第一公网IP地址,与所述第二设备信息包括所述被叫终端的第二公网IP地址;
所述根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息,包括:
判断所述第一公网IP地址与所述第二公网IP地址是否相同;
若所述第一公网IP地址与所述第二公网IP地址不相同,则判定主机类型的互联网连接候选者信息为所述非必要信息。
3.根据权利要求1所述的WebRTC通信方法,其特征在于,所述主机类型的互联网连接候选者信息和其他类型的互联网连接候选者信息构成互联网连接候选者信息;所述在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,包括:
通过所述其他类型的互联网连接候选者信息,在所述主叫终端和所述被叫终端之间建立WebRTC连接。
4.根据权利要求2所述的WebRTC通信方法,其特征在于,所述主机类型的互联网连接候选者信息和其他类型的互联网连接候选者信息构成互联网连接候选者信息;所述方法还包括:
若所述第一公网IP地址与所述第二公网IP地址相同,则判定没有所述非必要信息;及
通过所述互联网连接候选者信息,在所述主叫终端和所述被叫终端之间建立WebRTC连接。
5.一种WebRTC通信装置,其特征在于,所述装置包括:
获取模块,用于获取主叫终端的第一设备信息与被叫终端的第二设备信息;
判断模块,用于根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的非必要信息;及
建立模块,用于若有所述非必要信息,则在排除所述非必要信息的情况下,在所述主叫终端和所述被叫终端之间建立WebRTC连接,以实现所述主叫终端和所述被叫终端的通信。
6.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至4中任意一项所述的WebRTC通信方法的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至4中任意一项所述的WebRTC通信方法的步骤。
8.一种WebRTC通信系统,其特征在于,所述系统包括主叫终端、信令服务器和被叫终端;
所述主叫终端,用于获取所述主叫终端的第一设备信息与被叫终端的第二设备信息;根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的主叫端非必要信息;及若有所述主叫端非必要信息,则收集不包括所述主叫端非必要信息的第一网络信息;及将所述第一网络信息通过所述信令服务器转发给所述被叫终端;
所述被叫终端,用于获取所述第一设备信息与所述第二设备信息;根据所述第一设备信息与所述第二设备信息,判断是否有用于建立连接的被叫端非必要信息;及若有所述被叫端非必要信息,则收集不包括所述被叫端非必要信息的第二网络信息;及将所述第二网络信息通过所述信令服务器转发给所述被叫终端;
所述信令服务器,用于转发所述第一网络信息和所述第二网络信息,以使所述主叫终端和所述被叫终端建立WebRTC连接,并基于所述WebRTC连接进行通信。
9.根据权利要求8所述的WebRTC通信系统,其特征在于:所述第一设备信息包括所述主叫终端的第一公网IP地址,与所述第二设备信息包括所述被叫终端的第二公网IP地址;
所述主叫终端,还用于:判断所述第一公网IP地址与所述第二公网IP地址是否相同;若不相同,则判定主机类型的主叫端互联网连接候选者信息为所述主叫端非必要信息;
所述被叫终端,还用于:判断所述第一公网IP地址与所述第二公网IP地址是否相同;若不相同,则判定主机类型的被叫端互联网连接候选者信息为所述被叫端非必要信息。
10.根据权利要求9所述的WebRTC通信系统,其特征在于,
所述主叫终端,还用于将非主机类型的主叫端互联网连接候选者信息通过所述信令服务器发送给所述被叫终端;
所述被叫终端,还用于将非主机类型的被叫端互联网连接候选者信息通过所述信令服务器发送给所述主叫终端。
CN202111079660.XA 2021-09-15 2021-09-15 WebRTC通信方法及系统 Active CN113630424B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111079660.XA CN113630424B (zh) 2021-09-15 2021-09-15 WebRTC通信方法及系统
PCT/CN2022/098671 WO2023040380A1 (zh) 2021-09-15 2022-06-14 WebRTC通信方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111079660.XA CN113630424B (zh) 2021-09-15 2021-09-15 WebRTC通信方法及系统

Publications (2)

Publication Number Publication Date
CN113630424A true CN113630424A (zh) 2021-11-09
CN113630424B CN113630424B (zh) 2023-04-28

Family

ID=78390099

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111079660.XA Active CN113630424B (zh) 2021-09-15 2021-09-15 WebRTC通信方法及系统

Country Status (2)

Country Link
CN (1) CN113630424B (zh)
WO (1) WO2023040380A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285829A (zh) * 2021-12-14 2022-04-05 上海哔哩哔哩科技有限公司 WebRTC连接方法及系统
WO2023040380A1 (zh) * 2021-09-15 2023-03-23 上海哔哩哔哩科技有限公司 WebRTC通信方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014109487A1 (ko) * 2013-01-08 2014-07-17 주식회사 한올테크놀로지 응용프로그램 관리장치 및 관리방법
CN104012062A (zh) * 2011-12-20 2014-08-27 高通股份有限公司 在通信系统中交换先前传达的会话信息的经压缩版本
CN104255014A (zh) * 2012-12-31 2014-12-31 华为技术有限公司 设置、处理交互式连接建立ice地址的方法、装置和服务器
CN104283760A (zh) * 2013-07-04 2015-01-14 华为技术有限公司 一种WebRTC通信方法、相关设备及系统
CN104869101A (zh) * 2014-02-21 2015-08-26 华为技术有限公司 一种通道建立的方法和设备
CN105516112A (zh) * 2015-12-01 2016-04-20 深圳联友科技有限公司 通过基于WebRTC的浏览器实现语音通话的方法及系统
CN106161179A (zh) * 2015-03-26 2016-11-23 中兴通讯股份有限公司 一种基于网页的实时通信的媒体处理方法与装置
CN110113299A (zh) * 2019-03-19 2019-08-09 视联动力信息技术股份有限公司 数据传输方法、装置、信令服务器和计算机可读介质
KR20200092272A (ko) * 2019-01-24 2020-08-03 주식회사 브리지텍 WebRTC 기반 콜센터 서비스 방법 및 그 장치
CN113114702A (zh) * 2021-05-13 2021-07-13 上海井星信息科技有限公司 一种IOS端基于SIP协议交互的WebRTC通信方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103581945A (zh) * 2012-08-06 2014-02-12 中兴通讯股份有限公司 测量配置的处理方法及装置
CN103945003B (zh) * 2014-05-06 2017-06-06 北京邮电大学 一种WebRTC客户端连接动态自适应选择的方法
US9942322B1 (en) * 2017-04-07 2018-04-10 T-Mobile Usa, Inc. Call log update across mobile device and WebRTC client device
CN113630424B (zh) * 2021-09-15 2023-04-28 上海哔哩哔哩科技有限公司 WebRTC通信方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104012062A (zh) * 2011-12-20 2014-08-27 高通股份有限公司 在通信系统中交换先前传达的会话信息的经压缩版本
CN104255014A (zh) * 2012-12-31 2014-12-31 华为技术有限公司 设置、处理交互式连接建立ice地址的方法、装置和服务器
WO2014109487A1 (ko) * 2013-01-08 2014-07-17 주식회사 한올테크놀로지 응용프로그램 관리장치 및 관리방법
CN104283760A (zh) * 2013-07-04 2015-01-14 华为技术有限公司 一种WebRTC通信方法、相关设备及系统
CN104869101A (zh) * 2014-02-21 2015-08-26 华为技术有限公司 一种通道建立的方法和设备
CN106161179A (zh) * 2015-03-26 2016-11-23 中兴通讯股份有限公司 一种基于网页的实时通信的媒体处理方法与装置
CN105516112A (zh) * 2015-12-01 2016-04-20 深圳联友科技有限公司 通过基于WebRTC的浏览器实现语音通话的方法及系统
KR20200092272A (ko) * 2019-01-24 2020-08-03 주식회사 브리지텍 WebRTC 기반 콜센터 서비스 방법 및 그 장치
CN110113299A (zh) * 2019-03-19 2019-08-09 视联动力信息技术股份有限公司 数据传输方法、装置、信令服务器和计算机可读介质
CN113114702A (zh) * 2021-05-13 2021-07-13 上海井星信息科技有限公司 一种IOS端基于SIP协议交互的WebRTC通信方法和系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023040380A1 (zh) * 2021-09-15 2023-03-23 上海哔哩哔哩科技有限公司 WebRTC通信方法及系统
CN114285829A (zh) * 2021-12-14 2022-04-05 上海哔哩哔哩科技有限公司 WebRTC连接方法及系统
WO2023109045A1 (zh) * 2021-12-14 2023-06-22 上海哔哩哔哩科技有限公司 WebRTC连接方法及系统

Also Published As

Publication number Publication date
CN113630424B (zh) 2023-04-28
WO2023040380A1 (zh) 2023-03-23

Similar Documents

Publication Publication Date Title
WO2023040380A1 (zh) WebRTC通信方法及系统
EP3275162B1 (en) Systems and techniques for web communication
CN114124929B (zh) 跨网络的数据处理方法和装置
CN111756674A (zh) 网络通信方法、系统、设备及计算机可读存储介质
CN110177128B (zh) 数据传输系统及其建立vpn连接的方法、终端、vpn代理
CN111510476B (zh) 通信方法、装置、计算机设备和计算机可读存储介质
CN105450479A (zh) 一种监控模块的方法及装置
CN114157607A (zh) 媒体流传输方法和系统
CN112511366A (zh) 测试系统、方法、装置、设备及存储介质
CN102739619B (zh) 一种数据通信方法和装置
CN112511621A (zh) 数据发送方法及装置、存储介质、电子装置
CN112468367A (zh) 一种数据采集与交互的方法、系统、设备及介质
CN111818010A (zh) 一种数据传输方法、装置、电子设备及存储介质
CN111600883A (zh) 一种车辆诊断方法、系统及电子设备和存储介质
CN113810775B (zh) 语音视频连线系统和方法
WO2022166590A1 (zh) 对等网络的传输方法和系统
US7568194B2 (en) Method and system for availability checking on distributed objects
CN114338632A (zh) 远程终端控制方法、装置、计算机设备及存储介质
CN115714805A (zh) 一种跨平台通信连接方法、系统及电子设备
CN113347234B (zh) 网络信息获取方法、装置、系统、计算机设备和存储介质
CN113055444B (zh) 一种文件共享方法及其相关装置
CN114363676A (zh) 视频流传输方法、装置、设备及介质
CN111885560A (zh) 蓝牙通信方法和装置、存储介质及电子装置
CN107465751B (zh) 通信方法、装置、客户端及计算机存储介质
CN104980456B (zh) 传输业务的方法、中间节点、终端和服务器

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
GR01 Patent grant
GR01 Patent grant