CN113014544A - 基于webRtc无中心媒体链路建立方法及装置 - Google Patents
基于webRtc无中心媒体链路建立方法及装置 Download PDFInfo
- Publication number
- CN113014544A CN113014544A CN202110097839.1A CN202110097839A CN113014544A CN 113014544 A CN113014544 A CN 113014544A CN 202110097839 A CN202110097839 A CN 202110097839A CN 113014544 A CN113014544 A CN 113014544A
- Authority
- CN
- China
- Prior art keywords
- information
- terminal
- terminals
- address book
- webrtc
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 238000004891 communication Methods 0.000 claims abstract description 117
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000011664 signaling Effects 0.000 abstract description 26
- 230000006870 function Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 19
- 230000004044 response Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 210000004899 c-terminal region Anatomy 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
- H04L65/1069—Session establishment or de-establishment
-
- 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/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- 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/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例提供一种基于webRtc无中心媒体链路建立方法及装置,方法包括:局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话;本申请能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能。
Description
技术领域
本申请涉及通信领域,具体涉及一种基于webRtc无中心媒体链路建立方法及装置。
背景技术
Web实时通信技术(Web Real-Time Communcation,WebRtc)为Web浏览器增加了新的功能。它开创性地使得浏览器能够与其他浏览器交互,从而形成包括三角模式和梯形模式在内的多种体系结构。WebRtc的多媒体功能非常先进。能提供很多种新的特性。目前由万维网联盟(World Wide WebConsortium,W3C)和互联网工程任务组(Internet EngineeingTask Force,IETF)联合负责WebRtc的标准化工作。
WebRtc实现音视频通话,最常见的模式是使用信令Signal服务器来完成端到端之间传送彼此的sdp信息和candidate信息,端与端之间通过这些信息建立P2P连接来传送音视频数据,实现通话流程。
发明人发现,由于目前在webRtc下实现音视频通话需要通过信令服务器中转信令,终端与服务器之间存在必要的依赖关系,使用起来很繁琐。
发明内容
针对现有技术中的问题,本申请提供一种基于webRtc无中心媒体链路建立方法及装置,能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能。
为了解决上述问题中的至少一个,本申请提供以下技术方案:
第一方面,本申请提供一种基于webRtc无中心媒体链路建立方法,包括:
局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;
所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话。
进一步地,所述局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,包括:
局域网中的第一终端将自身基本信息封装至数据对象中,并以全网广播的形式发送至多个第二终端,其中,所述数据对象的消息类型为通讯录类型,所述自身基本信息包括IP信息、昵称信息以及账号信息。
进一步地,所述第二终端解析所述基本信息后构建通讯录,包括:
所述第二终端解析数据对象后,若判定所述数据对象的消息类型为通讯录类型,则判断本地通讯录中是否包含有所述数据对象中的IP信息,若无,则将与该IP信息对应的昵称信息和账号信息添加至所述本地通讯录中。
进一步地,所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,包括:
所述第一终端根据所述通讯录构建通讯群组后分别于所述通讯群组中的各第二终端建立通讯连接,并向所述第二终端发送群组集合信息;
各所述第二终端接收到所述群组集合信息后与所述通讯群组中的其他第二终端互相建立通讯连接。
第二方面,本申请提供一种基于webRtc无中心媒体链路建立装置,包括:
通讯录构建模块,用于局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;
呼叫通讯模块,用于所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话。
进一步地,所述通讯录构建模块包括:
数据对象封装解析单元,用于局域网中的第一终端将自身基本信息封装至数据对象中,并以全网广播的形式发送至多个第二终端,其中,所述数据对象的消息类型为通讯录类型,所述自身基本信息包括IP信息、昵称信息以及账号信息。
进一步地,还包括:
通讯录更新单元,用于所述第二终端解析数据对象后,若判定所述数据对象的消息类型为通讯录类型,则判断本地通讯录中是否包含有所述数据对象中的IP信息,若无,则将与该IP信息对应的昵称信息和账号信息添加至所述本地通讯录中。
进一步地,所述呼叫通讯模块包括:
组呼创建单元,用于所述第一终端根据所述通讯录构建通讯群组后分别于所述通讯群组中的各第二终端建立通讯连接,并向所述第二终端发送群组集合信息;
组呼实现单元,用于各所述第二终端接收到所述群组集合信息后与所述通讯群组中的其他第二终端互相建立通讯连接。
第三方面,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的基于webRtc无中心媒体链路建立方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的基于webRtc无中心媒体链路建立方法的步骤。
由上述技术方案可知,本申请提供一种基于webRtc无中心媒体链路建立方法及装置,通过局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话;本申请能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中的基于webRtc无中心媒体链路建立方法的流程示意图之一;
图2为本申请实施例中的基于webRtc无中心媒体链路建立方法的流程示意图之二;
图3为本申请实施例中的基于webRtc无中心媒体链路建立装置的结构图之一;
图4为本申请实施例中的基于webRtc无中心媒体链路建立装置的结构图之二;
图5为本申请实施例中的基于webRtc无中心媒体链路建立装置的结构图之三;
图6为本申请实施例中的基于webRtc无中心媒体链路建立装置的结构图之四;
图7为本申请一具体实施例中现有技术信令转发示意图;
图8为本申请一具体实施例中通讯录构建示意图;
图9为本申请一具体实施例中单呼实现示意图;
图10为本申请一具体实施例中组呼实现示意图;
图11为本申请一具体实施例中组呼通话流程示意图;
图12为本申请实施例中的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有技术中存在的问题,本申请提供一种基于webRtc无中心媒体链路建立方法及装置,通过局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话;本申请能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能。
为了能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能,本申请提供一种基于webRtc无中心媒体链路建立方法的实施例,参见图1,所述基于webRtc无中心媒体链路建立方法具体包含有如下内容:
步骤S101:局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;
步骤S102:所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话。
从上述描述可知,本申请实施例提供的基于webRtc无中心媒体链路建立方法,能够通过局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话;本申请能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能。
在本申请的基于webRtc无中心媒体链路建立方法的一实施例中,还可以具体包含如下内容:
局域网中的第一终端将自身基本信息封装至数据对象中,并以全网广播的形式发送至多个第二终端,其中,所述数据对象的消息类型为通讯录类型,所述自身基本信息包括IP信息、昵称信息以及账号信息。
在本申请的基于webRtc无中心媒体链路建立方法的一实施例中,还可以具体包含如下内容:
所述第二终端解析数据对象后,若判定所述数据对象的消息类型为通讯录类型,则判断本地通讯录中是否包含有所述数据对象中的IP信息,若无,则将与该IP信息对应的昵称信息和账号信息添加至所述本地通讯录中。
在本申请的基于webRtc无中心媒体链路建立方法的一实施例中,参见图2,还可以具体包含如下内容:
步骤S201:所述第一终端根据所述通讯录构建通讯群组后分别于所述通讯群组中的各第二终端建立通讯连接,并向所述第二终端发送群组集合信息;
步骤S202:各所述第二终端接收到所述群组集合信息后与所述通讯群组中的其他第二终端互相建立通讯连接。
为了能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能,本申请提供一种用于实现所述基于webRtc无中心媒体链路建立方法的全部或部分内容的基于webRtc无中心媒体链路建立装置的实施例,参见图3,所述基于webRtc无中心媒体链路建立装置具体包含有如下内容:
通讯录构建模块10,用于局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;
呼叫通讯模块20,用于所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话。
从上述描述可知,本申请实施例提供的基于webRtc无中心媒体链路建立装置,能够通过局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话;本申请能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能。
在本申请的基于webRtc无中心媒体链路建立装置的一实施例中,参见图4,所述通讯录构建模块10包括:
数据对象封装解析单元11,用于局域网中的第一终端将自身基本信息封装至数据对象中,并以全网广播的形式发送至多个第二终端,其中,所述数据对象的消息类型为通讯录类型,所述自身基本信息包括IP信息、昵称信息以及账号信息。
在本申请的基于webRtc无中心媒体链路建立装置的一实施例中,参见图5,还具体包含有如下内容:
通讯录更新单元12,用于所述第二终端解析数据对象后,若判定所述数据对象的消息类型为通讯录类型,则判断本地通讯录中是否包含有所述数据对象中的IP信息,若无,则将与该IP信息对应的昵称信息和账号信息添加至所述本地通讯录中。
在本申请的基于webRtc无中心媒体链路建立装置的一实施例中,参见图6,所述呼叫通讯模块20包括:
组呼创建单元21,用于所述第一终端根据所述通讯录构建通讯群组后分别于所述通讯群组中的各第二终端建立通讯连接,并向所述第二终端发送群组集合信息;
组呼实现单元22,用于各所述第二终端接收到所述群组集合信息后与所述通讯群组中的其他第二终端互相建立通讯连接。
为了更进一步说明本方案,本申请还提供一种应用上述基于webRtc无中心媒体链路建立装置实现基于webRtc无中心媒体链路建立方法的具体应用实例,具体包含有如下内容:
在图7序列中,标注的场景是ClientA向ClientB发起对聊请求,调用描述如下:
·ClientA首先创建PeerConnection对象,然后打开本地音视频设备,将音视频数据封装成MediaStream添加到PeerConnection中。
·ClientA调用PeerConnection的CreateOffer方法创建一个用于offer的SDP对象,SDP对象中保存当前音视频的相关参数。ClientA通过PeerConnection的SetLocalDescription方法将该SDP对象保存起来,并通过Signal服务器发送给ClientB。
·ClientB接收到ClientA发送过的offer SDP对象,通过PeerConnection的SetRemoteDescription方法将其保存起来,并调用PeerConnection的CreateAnswer方法创建一个应答的SDP对象,通过PeerConnection的SetLocalDescription的方法保存该应答SDP对象并将它通过Signal服务器发送给ClientA。
·ClientA接收到ClientB发送过来的应答SDP对象,将其通过PeerConnection的SetRemoteDescription方法保存起来。
·在SDP信息的offer/answer流程中,ClientA和ClientB已经根据SDP信息创建好相应的音频Channel和视频Channel并开启Candidate数据的收集,Candidate数据可以简单地理解成Client端的IP地址信息(本地IP地址、公网IP地址、Relay服务端分配的地址)。
由此,本申请还提供一种不需要信令服务器,在自组网下就能轻松实现音视频通话的方法,具体步骤如下:
步骤一,通讯录实现,每个终端有一个全网广播的形式定时发送自己信息(IP、昵称、账号等)的机制,全网广播的目的是为了让所有的终端都能收到这个终端的信息。发送消息时候将自己所有的信息都封装到一个对象中,并且在这个对象中加入一个消息类型,这里的消息类型为通讯录类型(例如用0来代表)用来告知对方发送的是什么类型的消息,对于任何终端收到别的终端发来的信息解析之后解析成上述约定好的对象之后,拿到消息类型,消息类型如果是通讯录类型,那么先根据对方信息中的IP地址在自己本地的通讯中去遍历,如果有这条记录就忽略这条消息,如果没有这个IP的联系人,将这个联系人加入到自己的通讯中。假设现在有五个终端A、B、C、D、E在该局域网下,A的IP地址为:192.168.1.1,B的IP地址为192.168.1.2,C的IP地址为192.168.1.3,D的IP地址为192.168.1.4,E的IP地址为192.168.1.5,每个最终在本地的通讯中的成员如图8所示.
步骤二,单呼实现。单呼相对来说较简单,两个终端之间通过UDP传送彼此的sdp信息和candidate信息建立一个连接即可实现语音或视频通话,参见图9。
步骤三,组呼实现,群组通话实现较难,首先发起群组通话者负责创建一个群组(集合),假如现在要将A、B、C、D四个终端之间建立一个群组通话,发起群组通话者从通讯录中选择三个人作为B、C、D终端,发起本次群组通话者永远做为A终端,发起通话者默认将自己添加到这个群组集合下标为0的位置,然后其他人按照被选中的顺序依次作为B、C、D添加到群组集合中,然后发起群组通话者将这个群组集合信息以广播的形式发送给B、C、D三个终端,B、C、D三个终端收到这个指令之后将携带的集合解析出来,每个终端根据数组下标就知道谁是对应的A、B、C、D终端了,实现如图10所示。
假如A终端是通话主发起者,A终端先分别和终端B、C、D建立3路连接,A终端将这3路连接建立完毕之后,给B终端发送一个指令,告诉B终端在和其他终端去建立连接,B终端收到A终端发来的的指令后拿到自己的IP地址去刚才收到的群组集合中去遍历,找到自己在群组集合中的位置(下标)然后循环和大于自己下标的终端(也就是C、D终端)去建立连接,B终端无需和A终端再去建立连接,因为A终端已经和B终端建立过一个连接。B终端建立完2路连接之后将建立连接的指令发送给C终端,C终端收到B终端给自己的指令之后还是去拿自己的IP地址从群组集合中去遍历找到自己的下标,然后循环和大于自己的下标的终端(只剩下D终端)建立连接,同理C终端无需和A终端和B终端再去建立连接。到此为止,本次多人通话的连接就全部建立完毕,参见图11。
注:图11描述的是4个终端群组通话的流程图,每一路连接其实是在执行上述的步骤二,创建一个点对点的单呼。数字代表建立连接的先后顺序,四个终端一共需要建立6路连接,A终端建立3路连接,然后B终端建立2路连接,然后C终端再建立1路连接,D终端无需建立连接,即可完成本次音视频群组通话。
步骤四,建立稳定连接。由于信令在传输的过程中可能存在丢包的情况,所以不论单呼还是组呼都可能存在不能顺利建立起通话的现象。这里实现的稳定的机制是通过收到信令方给予发送指令方应答的方式。对于单呼,每一条信令在发出去之后,收到信令一方要给予发送信令一方应答包。每一条信令最多发送两边,第一次发送出去之后在一定时间内如果没有收到对方的应答的话再发送一遍该信令,如果第二次依然没有收到应答,就执行挂断释放资源的逻辑。对于组呼,首先,A终端和B、C、D三个终端建立完连接后将建立连接的指令发送给B终端,让B终端去和C、D终端建立连接。A终端发送给B终端创建指令的消息后,B终端需要给予A终端回应包,如果在一定时间内A终端没有收到B终端的回应A终端就再发一遍该指令给B终端。如果A终端发送了两次该指令给B终端后一直没有收到B终端的回应的话,A终端就去将创建连接的指令发送给C终端,让C终端去执行和D终端之间的媒体建立逻辑。
有上述内容可知,本申请至少还可以实现如下技术效果:
使用UDP作为信令传输的通讯方式,撇弃了通过信令服务器中转信令实现的通话模式,使终端与终端之间进行通话不在依赖服务器,使用起来更加灵活、方便。
从硬件层面来说,为了能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能,本申请提供一种用于实现所述基于webRtc无中心媒体链路建立方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现基于webRtc无中心媒体链路建立装置与核心业务***、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的基于webRtc无中心媒体链路建立方法的实施例,以及基于webRtc无中心媒体链路建立装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,基于webRtc无中心媒体链路建立方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通信模块(即通信单元),可以与远程的服务器进行通信连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通信链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图12为本申请实施例的电子设备9600的***构成的示意框图。如图12所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图12是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,基于webRtc无中心媒体链路建立方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤S101:局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;
步骤S102:所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话。
从上述描述可知,本申请实施例提供的电子设备,通过局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话;本申请能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能。
在另一个实施方式中,基于webRtc无中心媒体链路建立装置可以与中央处理器9100分开配置,例如可以将基于webRtc无中心媒体链路建立装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现基于webRtc无中心媒体链路建立方法功能。
如图12所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图12中所示的所有部件;此外,电子设备9600还可以包括图12中没有示出的部件,可以参考现有技术。
如图12所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的基于webRtc无中心媒体链路建立方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的基于webRtc无中心媒体链路建立方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤S101:局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;
步骤S102:所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话。
从上述描述可知,本申请实施例提供的计算机可读存储介质,通过局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话;本申请能够撇弃现有技术中要依赖信令服务器才能实现通话的束缚,通过自组网轻松实现音视频通话的功能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于webRtc无中心媒体链路建立方法,其特征在于,所述方法包括:
局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;
所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话。
2.根据权利要求1所述的基于webRtc无中心媒体链路建立方法,其特征在于,所述局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,包括:
局域网中的第一终端将自身基本信息封装至数据对象中,并以全网广播的形式发送至多个第二终端,其中,所述数据对象的消息类型为通讯录类型,所述自身基本信息包括IP信息、昵称信息以及账号信息。
3.根据权利要求2所述的基于webRtc无中心媒体链路建立方法,其特征在于,所述第二终端解析所述基本信息后构建通讯录,包括:
所述第二终端解析数据对象后,若判定所述数据对象的消息类型为通讯录类型,则判断本地通讯录中是否包含有所述数据对象中的IP信息,若无,则将与该IP信息对应的昵称信息和账号信息添加至所述本地通讯录中。
4.根据权利要求1所述的基于webRtc无中心媒体链路建立方法,其特征在于,所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,包括:
所述第一终端根据所述通讯录构建通讯群组后分别于所述通讯群组中的各第二终端建立通讯连接,并向所述第二终端发送群组集合信息;
各所述第二终端接收到所述群组集合信息后与所述通讯群组中的其他第二终端互相建立通讯连接。
5.一种基于webRtc无中心媒体链路建立装置,其特征在于,包括:
通讯录构建模块,用于局域网中的第一终端以全网广播的形式向多个第二终端发送自身基本信息,以使所述第二终端解析所述基本信息后构建通讯录;
呼叫通讯模块,用于所述第一终端根据所述通讯录构建通讯群组,并将对应的群组集合信息广播至所述通讯群组中的多个第二终端,以使所述通讯群组中的各终端之间通过UDP传送sdp信息和candidate信息并建立通讯连接和语音或视频通话。
6.根据权利要求5所述的基于webRtc无中心媒体链路建立装置,其特征在于,所述通讯录构建模块包括:
数据对象封装解析单元,用于局域网中的第一终端将自身基本信息封装至数据对象中,并以全网广播的形式发送至多个第二终端,其中,所述数据对象的消息类型为通讯录类型,所述自身基本信息包括IP信息、昵称信息以及账号信息。
7.根据权利要求6所述的基于webRtc无中心媒体链路建立装置,其特征在于,还包括:
通讯录更新单元,用于所述第二终端解析数据对象后,若判定所述数据对象的消息类型为通讯录类型,则判断本地通讯录中是否包含有所述数据对象中的IP信息,若无,则将与该IP信息对应的昵称信息和账号信息添加至所述本地通讯录中。
8.根据权利要求5所述的基于webRtc无中心媒体链路建立装置,其特征在于,所述呼叫通讯模块包括:
组呼创建单元,用于所述第一终端根据所述通讯录构建通讯群组后分别于所述通讯群组中的各第二终端建立通讯连接,并向所述第二终端发送群组集合信息;
组呼实现单元,用于各所述第二终端接收到所述群组集合信息后与所述通讯群组中的其他第二终端互相建立通讯连接。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的基于webRtc无中心媒体链路建立方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的基于webRtc无中心媒体链路建立方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110097839.1A CN113014544B (zh) | 2021-01-25 | 2021-01-25 | 基于webRtc无中心媒体链路建立方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110097839.1A CN113014544B (zh) | 2021-01-25 | 2021-01-25 | 基于webRtc无中心媒体链路建立方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113014544A true CN113014544A (zh) | 2021-06-22 |
CN113014544B CN113014544B (zh) | 2023-02-10 |
Family
ID=76385381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110097839.1A Active CN113014544B (zh) | 2021-01-25 | 2021-01-25 | 基于webRtc无中心媒体链路建立方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113014544B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230188608A1 (en) * | 2021-12-10 | 2023-06-15 | Topia Interactive, Inc. | Peer-to-peer signal caching system |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103702062A (zh) * | 2013-12-27 | 2014-04-02 | Tcl集团股份有限公司 | 一种音视频通讯方法、装置及*** |
CN104255014A (zh) * | 2012-12-31 | 2014-12-31 | 华为技术有限公司 | 设置、处理交互式连接建立ice地址的方法、装置和服务器 |
CN105357590A (zh) * | 2014-08-22 | 2016-02-24 | 中兴通讯股份有限公司 | 一种实现终端多媒体广播的方法及装置 |
CN106559396A (zh) * | 2015-09-30 | 2017-04-05 | 中国电信股份有限公司 | 基于Web实时通信的媒体多播方法和*** |
CN106850399A (zh) * | 2016-12-30 | 2017-06-13 | 深圳市潮流网络技术有限公司 | 一种基于WebRTC技术即时消息的通信方法 |
US20170331798A1 (en) * | 2015-01-06 | 2017-11-16 | Netas Telekomunikasyon Anonim Sirketi | Encrypted-bypass webrtc-based voice and/or video communication method |
US20180302370A1 (en) * | 2015-10-14 | 2018-10-18 | Ntt Communications Corporation | Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program |
CN109274634A (zh) * | 2017-07-18 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 多媒体通信方法及装置、存储介质 |
CN110915168A (zh) * | 2017-04-21 | 2020-03-24 | ***73有限公司 | 预测性覆盖网络体系结构 |
CN110971506A (zh) * | 2019-11-06 | 2020-04-07 | 厦门亿联网络技术股份有限公司 | 一种去中心化实时集群通讯方法、装置、设备及*** |
US20200250254A1 (en) * | 2019-02-04 | 2020-08-06 | Cloudflare, Inc. | Web browser remoting across a network using draw commands |
CN112202882A (zh) * | 2020-09-29 | 2021-01-08 | 联想(北京)有限公司 | 一种传输方法、客户端及传输*** |
-
2021
- 2021-01-25 CN CN202110097839.1A patent/CN113014544B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104255014A (zh) * | 2012-12-31 | 2014-12-31 | 华为技术有限公司 | 设置、处理交互式连接建立ice地址的方法、装置和服务器 |
CN103702062A (zh) * | 2013-12-27 | 2014-04-02 | Tcl集团股份有限公司 | 一种音视频通讯方法、装置及*** |
CN105357590A (zh) * | 2014-08-22 | 2016-02-24 | 中兴通讯股份有限公司 | 一种实现终端多媒体广播的方法及装置 |
US20170331798A1 (en) * | 2015-01-06 | 2017-11-16 | Netas Telekomunikasyon Anonim Sirketi | Encrypted-bypass webrtc-based voice and/or video communication method |
CN106559396A (zh) * | 2015-09-30 | 2017-04-05 | 中国电信股份有限公司 | 基于Web实时通信的媒体多播方法和*** |
US20180302370A1 (en) * | 2015-10-14 | 2018-10-18 | Ntt Communications Corporation | Communication system, address notification apparatus, communication control apparatus, terminal, communication method, and program |
CN106850399A (zh) * | 2016-12-30 | 2017-06-13 | 深圳市潮流网络技术有限公司 | 一种基于WebRTC技术即时消息的通信方法 |
CN110915168A (zh) * | 2017-04-21 | 2020-03-24 | ***73有限公司 | 预测性覆盖网络体系结构 |
CN109274634A (zh) * | 2017-07-18 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 多媒体通信方法及装置、存储介质 |
US20200250254A1 (en) * | 2019-02-04 | 2020-08-06 | Cloudflare, Inc. | Web browser remoting across a network using draw commands |
CN110971506A (zh) * | 2019-11-06 | 2020-04-07 | 厦门亿联网络技术股份有限公司 | 一种去中心化实时集群通讯方法、装置、设备及*** |
CN112202882A (zh) * | 2020-09-29 | 2021-01-08 | 联想(北京)有限公司 | 一种传输方法、客户端及传输*** |
Non-Patent Citations (1)
Title |
---|
于波等: "实时通信集群负载均衡策略研究与应用", 《计算机***应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230188608A1 (en) * | 2021-12-10 | 2023-06-15 | Topia Interactive, Inc. | Peer-to-peer signal caching system |
US11876867B2 (en) * | 2021-12-10 | 2024-01-16 | Topia Interactive, Inc. | Peer-to-peer signal caching system |
Also Published As
Publication number | Publication date |
---|---|
CN113014544B (zh) | 2023-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111031058A (zh) | 基于WebSocket的分布式服务器集***互方法及装置 | |
CN110121902B (zh) | 一种通信建立的方法及终端 | |
US20150350723A1 (en) | Video Communication Method, Home Terminal, and Home Server | |
EP2514139B1 (en) | System and method of multi-media conferencing between universal plug and play (upnp) enabled telephony devices and wireless area network (wan) devices | |
CN104253856A (zh) | 可缩放Web实时通信媒体引擎以及相关的方法、*** | |
CN101317363A (zh) | 终端通话过程中的媒体流替换方法及*** | |
CN102611871A (zh) | 视频通话的方法、***、移动终端及数字电视接收终端 | |
CN104811423A (zh) | 位置信息的共享方法和装置 | |
CN105227418A (zh) | 数据通道建立方法和通信设备 | |
CN113099055A (zh) | 一种通信方法、***、装置、电子设备及存储介质 | |
WO2019079971A1 (zh) | 群组的通信方法及装置、计算机存储介质、计算机设备 | |
CN111818291B (zh) | 建立多媒体通话的方法、装置和电子设备 | |
CN107040498B (zh) | 同屏方法及终端 | |
CN112689012A (zh) | 跨网络的代理通讯方法及装置 | |
CN114666306B (zh) | WebRTC网络连接建立方法和服务器、电子设备及计算机可读存储介质 | |
CN105323714A (zh) | 通知消息处理方法及终端 | |
CN113014544B (zh) | 基于webRtc无中心媒体链路建立方法及装置 | |
CN104038258A (zh) | 电话连接方法、电子终端以及*** | |
CN105120524A (zh) | 一种建立通信连接的方法和电子设备 | |
JP2013153438A (ja) | インターネットを介して移動端末間に通信接続を確立するための方法、コンピュータプログラムおよび記憶媒体 | |
CN103856644A (zh) | 一种网络电话的提示方法及*** | |
CN112947880A (zh) | 投屏方法、装置和电子设备 | |
CN111782366A (zh) | 一种分布式任务调度方法及装置 | |
CN114374614B (zh) | 网络拓扑配置方法及装置 | |
CN115834649A (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 | ||
CP03 | Change of name, title or address |
Address after: 100071 6th floor, No.9 Hangfeng Road, Science City, Fengtai District, Beijing Patentee after: SUNKAISENS(Beijing)TECHNOLOGY Ltd. Country or region after: China Address before: 100071 6th floor, No.9 Hangfeng Road, Science City, Fengtai District, Beijing Patentee before: SUN KAISENS (BEIJING) TECHNOLOGY Co.,Ltd. Country or region before: China |