CN103702062A - 一种音视频通讯方法、装置及系统 - Google Patents
一种音视频通讯方法、装置及系统 Download PDFInfo
- Publication number
- CN103702062A CN103702062A CN201310734340.2A CN201310734340A CN103702062A CN 103702062 A CN103702062 A CN 103702062A CN 201310734340 A CN201310734340 A CN 201310734340A CN 103702062 A CN103702062 A CN 103702062A
- Authority
- CN
- China
- Prior art keywords
- user
- audio
- server
- video communication
- information
- 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
- 230000006854 communication Effects 0.000 title claims abstract description 170
- 238000004891 communication Methods 0.000 title claims abstract description 168
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000005540 biological transmission Effects 0.000 claims description 51
- 238000012546 transfer Methods 0.000 claims description 8
- 238000012790 confirmation Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 239000000284 extract Substances 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000011330 nucleic acid test Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种音视频通讯方法、装置及系统,其中,方法包括步骤:第一用户通过XMPP服务器进行注册并获得第二用户的身份信息;第一用户根据第二用户的身份信息向第二用户发送音视频通讯请求,接收STUN服务器发送的根据第一用户的请求信息获取到的第二用户的地址信息,并根据接收到第二用户的地址信息与第二用户建立通讯链路;第一用户通过WEBRTC对提取到的音视频数据进行处理后以XMPP协议的方式进行封装得到待传输的音视频数据,将待传输的音视频数据在所述第一用户与第二用户建立的通讯链路上传输实现两端的音视频通讯。本发明使得设备之间无需经过服务器即可实现端对端的高质量通讯效果。
Description
技术领域
本发明涉及音视频通讯技术领域,尤其涉及一种智能设备之间的音视频通讯方法、装置及系统。
背景技术
现有技术中,传统电视音视频通讯都要通过一个中央代理和重定向服务来发送消息,如图1所示,客户端网络电视之间需要通过视频通话代理和重定向服务器来发送消息,这使得服务器传载的数据量和处理量大大增加,另一方面,为了数据的准确传输,传统电视采用了复杂的音视频编码解码模式,即网络数据经过网络解码模块后,需要通过音频解码模块、视频解码模块的解码以及音频编码模块和视频编码模块的编码等处理,处理过程复杂,这使得数据传输过程非常复杂。
因此,现有技术还有待于改进和发展。
发明内容
鉴于上述现有技术的不足,本发明的目的在于提供一种音视频通讯方法、装置及系统,旨在解决现有的音视频通讯方法需要经过服务器传输数据、传输过程复杂的问题。
本发明的技术方案如下:
一种音视频通讯方法,其中,包括步骤:
A、第一用户通过XMPP服务器进行注册并获得第二用户的身份信息;
B、第一用户根据第二用户的身份信息向第二用户发送音视频通讯请求,接收STUN服务器发送的根据第一用户的请求信息获取到的第二用户的地址信息,并根据接收到第二用户的地址信息与第二用户建立通讯链路;
C、第一用户通过WEBRTC对提取到的音视频数据进行处理后以XMPP协议的方式进行封装得到待传输的音视频数据,将待传输的音视频数据在所述第一用户与第二用户建立的通讯链路上传输实现两端的音视频通讯。
所述的音视频通讯方法,其中,所述步骤B具体包括:
B1、第一用户根据第二用户的身份信息通过STUN服务器发送第一用户的音视频通讯请求信息,STUN服务器接收到第一用户的音视频通讯请求后,保存第一用户的公网地址信息和端口信息;
B2、STUN服务器向第二用户发送一回送消息,并在接收到第二用户上传的确认信息后,从确认信息中获取第二用户的公网地址信息和端口信息并将其发送给第一用户;
B3、第一用户根据接收到的第一用户和第二用户的公网地址信息和端口信息,建立两端的P2P通讯链路。
所述的音视频通讯方法,其中,所述步骤B具体包括:
B1’、第一用户根据第二用户的身份信息通过XMPP服务器向STUN服务器转发第一用户的音视频通讯请求;
B2’、STUN服务器接收到音视频通讯请求后,保存第一用户的公网地址信息和端口信息并向第二用户发送请求信息,第二用户通过XMPP服务器向STUN服务器转发其答复信息,当所述答复信息为接受请求时,STUN服务器保存第二用户的公网地址信息以及端口信息并将其发送给第一用户;
B3’、第一用户根据接收到的第二用户的端口信息及公网地址信息建立P2P通讯链路。
所述的音视频通讯方法,其中,所述步骤B3或B3’中,当P2P建立成功时,则进入到步骤C,当P2P建立失败时,则经一TURN服务器进行中转通信。
所述的音视频通讯方法,其中,所述步骤C中将待传输的音视频数据在所述第一用户与第二用户建立的通讯链路上传输实现两端的音视频通讯步骤包括,
C1、第一用户通过其公网地址和端口的组合与STUN服务器建立对话,并使用转发命令在STUN服务器上创建一个分配请求;
C2、第一用户将待传输的音视频数据设置在STUN消息中,STUN服务器接收STUN消息后,将待传输的音视频数据提取出来,并以UDP方式发送到第二用户,第二用户以UDP方式发送数据到提供所述分配请求的STUN服务器,并由STUN服务器转发给第一用户。
一种音视频通讯装置,设置在第一用户中,其中,所述音视频通讯装置包括:
好友获取模块,用于通过XMPP服务器进行注册并获得第二用户的身份信息;
连接模块,用于根据第二用户的身份信息向第二用户发送音视频通讯请求,接收STUN服务器发送的根据好友获取模块发送的请求信息获取到的第二用户的地址信息,并根据接收到第二用户的地址信息与第二用户建立通讯链路;
音视频处理模块,用于通过WEBRTC对提取到的音视频数据进行处理后以XMPP协议的方式进行封装得到待传输的音视频数据;
音视频通讯模块,用于将待传输的音视频数据在所所述连接模块建立的通讯链路上传输实现两端的音视频通讯。
所述的音视频通讯装置,其中,所述连接模块具体包括:
音视频通讯请求转发单元,用于根据第二用户的身份信息通过XMPP服务器向STUN服务器转发所述好友获取模块发送的音视频通讯请求;
信息转发单元,用于接收STUN服务器发送的第二用户的公网地址信息以及端口信息,其中第二用户的公网地址信息以及端口信息是通过在STUN服务器接收到音视频通讯请求后向第二用户发送请求信息,并在第二用户通过XMPP服务器向STUN服务器转发其答复信息为接受请求时,由STUN服务器保存的信息;
P2P建立单元,用于所述信息转发单元中接收到的第二用户的端口信息及公网地址信息建立两端的P2P通讯链路。
所述的音视频通讯装置,其中,所述P2P建立单元还用于当P2P建立成功时,则转入到音视频通讯模块,当P2P建立失败时,则经一TURN服务器进行中转通信。
所述的音视频通讯装置,其中,所述音视频通讯模块具体包括:
分配请求创建单元,用于通过第一用户公网地址和端口的组合与STUN服务器建立对话,并使用转发命令在STUN服务器上创建一个分配请求;
数据转发单元,用于将待传输的音视频数据设置在STUN消息中,STUN服务器接收STUN消息后,将待传输的音视频数据提取出来,并以UDP方式发送到第二用户,并接收由STUN服务器转发的所述第二用户以UDP方式发送的数据。
一种音视频通讯系统,其中,其包括:如上所述的音视频通讯装置、至少一第二用户、XMPP服务器以及STUN服务器,所述音视频通讯装置、第二用户与XMPP服务器以及STUN服务器通讯连接,所述的第二用户用于通过XMPP服务器进行注册,并接收STUN服务器发送的所述音视频通讯装置发送的音视频通讯请求,发送回复信息到STUN服务器,接收所述音视频通讯装置建立的通讯链路上的待传输的音视频数据并进行处理从而实现音视频通讯。
有益效果:本发明中,源用户通过XMPP服务器进行注册,获取目标用户的身份信息,然后通过STUN服务器的私网穿越,使得两端可以直接进行音视频通讯,并通过WebRTC的开源实时通讯系统,使得设备之间无需经过服务器即可实现端对端的高质量通讯效果。
附图说明
图1为现有技术中音视频通讯网络拓扑图。
图2为本发明一种音视频通讯方法较佳实施例的流程图。
图3为图2所示方法中步骤S102的具体流程图。
图4为本发明一种音视频通讯方法中实施例二的流程图。
图5为图2所示方法中步骤S103的具体流程图。
图6为本发明的音视频通讯过程中具体地址形成示意图。
图7为本发明一种音视频通讯装置较佳实施例的结构框图。
图8为图7所示装置中连接模块的具体结构框图。
图9为图7所示装置中音视频通讯模块的具体结构框图。
具体实施方式
本发明提供一种音视频通讯方法、装置及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图2,图2为本发明一种音视频通讯方法较佳实施例的流程图,如图所示,其包括步骤:
S101、第一用户通过XMPP服务器进行注册并获得第二用户的身份信息,具体地可以通过XMPP协议【可扩展通讯和表示协议:The Extensible Messaging and Presence Protocol】对向XMPP服务器发送的数据进行封装;
S102、第一用户根据第二用户的身份信息向第二用户发送音视频通讯请求,接收 STUN【用户数据报协议简单穿越NAT】服务器发送的根据第一用户的请求信息获取到的第二用户的地址信息,并根据接收到第二用户的地址信息与第二用户建立通讯链路;
S103、第一用户通过WEBRTC【网页实时通信:Web Real-Time Communication】对提取到的音视频数据进行处理后以XMPP协议的方式进行封装得到待传输的音视频数据,并将待传输的音视频数据在第一用户与第二用户建立的通讯链路上传输实现两端的音视频通讯。其中提取到的音视频数据是第一用户通过音视频捕获装置提取的音视频数据,且提取到的音视频数据经过编解码处理后也能通过XMPP服务器以XMPP协议进行封装。
在步骤S101中,用户可利用XMPP协议向XMPP服务器进行注册,获得账号信息,同时还可通过XMPP服务器查找好友,并添加好友,从而获得好友信息。需说明的是,本发明中,所述的第一用户与第二用户为需要进行音视频通讯的客户端,也可以指需要进行音视频通讯的第一设备(第一终端)与第二设备(第二终端),第一用户和第二用户的身份信息为用户通过注册获得的账号信息。除了注册以及获取好友信息外,第一用户与第二用户之间的数据传输也是按照XMPP协议实现的。
XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性,因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。并且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
在步骤S102中,第一用户若需要第二用户进行通讯,可通过STUN服务器发送音视频通讯请求,请求与第二用户进行音视频通讯,STUN服务器接收到音视频通讯请求后,保存第一用户的公网地址信息和端口信息,随后向第二用户发送一个回送消息,第二用户在接收到回送消息后,返回一确认信息给STUN服务器,在该确认信息中可获得第二用户的公网地址信息和端口信息,STUN服务器将获取到的第二用户的公网地址信息和端口信息发送给第一用户,第一用户根据接收到的第二用户的公网地址信息和端口信息建立第一用户与第二用户之间的通讯链路。这样,通过STUN服务器实现两端的私网穿越,实现终端通讯,即实现端对端的直接通讯,无需经过中央代理和重定向服务来发送消息,从而避免了信息的丢失、出错、效率低及速度慢等问题,实现高质量的音视频通讯。
具体地,本实施例的音视频连接过程,可通过XMPP服务器来帮助转发消息,这样能使得发送的请求信息以XMPP协议进行封装,如图3所示,所述步骤S102可具体细化为以下步骤:
S201、第一用户根据第二用户的身份信息通过XMPP服务器向STUN服务器转发第一用户的音视频通讯请求;
S202、STUN服务器接收到音视频通讯请求后,保存第一用户的公网地址信息和端口信息并向第二用户发送请求信息,第二用户通过XMPP服务器向STUN服务器转发其答复信息,当所述答复信息为接受请求时,STUN服务器保存第二用户的公网地址信息以及端口信息并将其发送给第一用户;
S203、第一用户根据第二用户的端口信息及两端公网地址信息建立两端的P2P通讯链路,在此步骤中,当P2P建立成功时,则进入到步骤C,当P2P建立失败时,则经一TURN服务器【使用中继穿透NAT:Traversal Using Relays around NAT】进行中转通信。
图4为上述步骤的一具体应用实施例,在该实施例中,用户A向用户B发起音视频通讯请求,IM服务器(即XMPP服务器)经过STUN服务器向用户B转发A的音视频通讯请求。在用户B接收到音视频通讯请求后,可通过STUN服务器以及IM服务器转发其答复信息,例如接受或拒绝,在答复信息为接受请求时,可通过STUN服务器获取用户A和用户B的地址信息,该地址信息为端口信息和公网地址信息的组合,其中ICE信息是指由ICE服务器(即由STUN服务器和TURN服务器组成的服务器,这里只标示出STUN服务器)发送的信息,然后通过STUN服务器向用户A和用户B转发各自对应的另外一端地址信息,用户A根据接收到的用户B地址信息来建立两端的P2P通讯链路,这里STUN服务器可以协助建立通讯链路,若P2P建立成功,则用户A与用户B可进行P2P通信,若失败则经过TURN服务器进行Relay通信,即中转通信。在用户A发送挂断指令时,通过STUN服务器和IM服务器转发挂断指令,二者进行挂断处理。
在所述步骤S103中,第一用户与第二用户可通过webRTC直接对音视频数据进行编解码处理。本实施例通过提取并封装WebRTC中音视频通讯框架的源代码,并与Android应用结果实现端对端音视频通讯。
具体来说,如图5所示,步骤S103可细化为以下步骤:
S301、第一用户通过其公网地址和端口的组合与STUN服务器建立对话,并使用转发命令在STUN服务器上创建一个分配请求;
本实施例的音视频通讯过程中具体地址形成过程如图6所示,第一用户作为一个TURN客户端连接在一个私有网络中,通过一个或多个NAT【网络地址转换器】来连接到公网,在公网中有一个STUN服务器。在因特网的其他地方有一个或多个对端即第二用户(例如PeerA、PeerB)是这个TURN客户端希望通讯的。这些对端也有可能是在一个或多个NAT的后面。TURN客户端使用服务器作为一个中继来发送数据包到这些对端去,并且从这些对端接收数据包。
第一用户首先通过其公网地址和端口的组合来与STUN服务器建立对话,并使用转发命令在STUN服务器上创建一个分配请求(allocation),当该allocation创建好后,第一用户就能在数据发往第二用户的指示下发送数据到STUN服务器,由STUN服务器来中继这些数据到第二用户。
S302、第一用户将待传输的音视频数据设置在STUN消息中,STUN服务器接收STUN消息后,将待传输的音视频数据提取出来,并以UDP【用户数据包协议】方式发送到第二用户,第二用户以UDP方式发送数据到提供所述分配请求的STUN服务器,并由STUN服务器转发给第一用户。
当P2P建立连接失败【即第二用户的公网地址发生变换】时,STUN服务将第二用户公网地址信息以及端口信息保存到数据库,第一用户将待传输的音视频数据传输到TURN服务器,然后TURN服务器根据第二用户的身份信息从数据库中获取第二用户的地址信息并将待传输的音视频数据传输给第二用户实现中继通信,其中STUN服务器和TURN服务器组成ICE服务器,STUN服务器和TURN服务器公网地址相同只是端口号不同。
TURN客户端(例如第一用户)发送的数据包含在STUN消息中,STUN服务器再从STUN消息中提取数据,并以UDP方式发送给对端。另一方便,对端(例如第二用户)以UDP方式发送数据到allocation提供的中继传输地址,并由STUN服务器转发给第一用户。因为STUN消息总是包含客户端与哪些对端通讯的指示,所以TURN客户端能够使用单一的allocation来与多个对端通讯,以上便是STUN转发报文的框架。
基于上述方法,本发明还提供一种音视频通讯装置,设置在第一用户中,如图7所示,其包括:
好友获取模块100,用于通过XMPP服务器进行注册并获得第二用户的身份信息;
连接模块200,用于根据第二用户的身份信息向第二用户发送音视频通讯请求,接收STUN服务器发送的根据好友获取模块发送的请求信息获取到的第二用户的地址信息,并根据接收到第二用户的地址信息与第二用户建立通讯链路;
音视频处理模块300,用于通过WEBRTC对提取到的音视频数据进行处理后以XMPP协议的方式进行封装得到待传输的音视频数据;
音视频通讯模块400,用于将待传输的音视频数据在所述连接模块建立的通讯链路上传输实现两端的音视频通讯。
进一步地,所述的连接模块200具体包括:
音视频通讯请求发送单元,用于根据第二用户的身份信息通过STUN服务器发送所述好友获取模块中发送的音视频通讯请求信息;
地址信息转发单元,用于接收STUN服务器发送的第二用户的公网地址信息和端口信息,其中第二用户的公网地址信息和端口信息是通过在STUN服务器向第二用户发送一回送消息,并在接收到第二用户上传的确认信息后保存的信息;
通讯链路建立单元,用于根据地址信息转发单元接收到的第二用户的公网地址信息和端口信息,建立两端的P2P通讯链路。
进一步,如图8所示,作为本发明另一实施例,所述连接模块200具体包括:
音视频通讯请求转发单元210,用于根据第二用户的身份信息通过XMPP服务器向STUN服务器转发所述连接模块中发送的音视频通讯请求;
信息转发单元220,用于接收STUN服务器发送的第二用户的公网地址信息以及端口信息,其中第二用户的公网地址信息以及端口信息是通过在STUN服务器接收到音视频通讯请求后向第二用户发送请求信息,并在第二用户通过XMPP服务器向STUN服务器转发其答复信息为接受请求时,由STUN服务器保存的信息;
P2P建立单元240,用于根据所述信息接收单元中接收到的第二用户的端口信息及公网地址信息建立两端的P2P通讯链路。
进一步,所述P2P建立单元还用于当P2P建立成功时,则转入到音视频通讯模块,当P2P建立失败时,则经一TURN服务器进行中转通信。
进一步,如图9所示,所述音视频通讯模块400具体包括:
分配请求创建单元410,用于通过第一用户公网地址和端口的组合与STUN服务器建立对话,并使用转发命令在STUN服务器上创建一个分配请求;
数据转发单元420,用于将待传输的音视频数据设置在STUN消息并发送给STUN服务器以便STUN服务器接收STUN消息后将待传输的音视频数据提取出来并以UDP方式发送到第二用户,并接收由STUN服务器转发过来的所述第二用户以UDP方式发送数据。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
基于上述装置可以客户端的形式设置在电视机中实现电视机的音视频通讯。
本发明提供的一种音视频通讯系统,包括上述音视频通讯装置、XMPP服务器、STUN服务器以及至少一个第二用户,其中第二用户用于通过XMPP服务器进行注册,并接收STUN服务器发送的所述音视频通讯装置发送的音视频通讯请求,发送回复信息到STUN服务器,接收所述音视频通讯装置建立的通讯链路上的待传输的音视频数据并进行处理从而实现音视频通讯;
进一步地,XMPP服务器还用于向STUN服务器转发第一用户发送的请求信息以及第二用户的回复信息,具体地,STUN服务器在接收到第一用户发送的音视频请求后,保存第一用户的地址信息,然后向第二用户发送请求信息,并在第二用户通过XMPP服务器转发的答复信息为接收请求时,保存第二用户的地址信息。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (10)
1.一种音视频通讯方法,其特征在于,包括步骤:
A、第一用户通过XMPP服务器进行注册并获得第二用户的身份信息;
B、第一用户根据第二用户的身份信息向第二用户发送音视频通讯请求,接收STUN服务器发送的根据第一用户的请求信息获取到的第二用户的地址信息,并根据接收到第二用户的地址信息与第二用户建立通讯链路;
C、第一用户通过WEBRTC对提取到的音视频数据进行处理后以XMPP协议的方式进行封装得到待传输的音视频数据,将待传输的音视频数据在所述第一用户与第二用户建立的通讯链路上传输实现两端的音视频通讯。
2.根据权利要求1所述的音视频通讯方法,其特征在于,所述步骤B具体包括:
B1、第一用户根据第二用户的身份信息通过STUN服务器发送第一用户的音视频通讯请求信息,STUN服务器接收到第一用户的音视频通讯请求后,保存第一用户的公网地址信息和端口信息;
B2、STUN服务器向第二用户发送一回送消息,并在接收到第二用户上传的确认信息后,从确认信息中获取第二用户的公网地址信息和端口信息并将其发送给第一用户;
B3、第一用户根据接收到的第二用户的公网地址信息和端口信息,建立两端的P2P通讯链路。
3.根据权利要求1所述的音视频通讯方法,其特征在于,所述步骤B具体包括:
B1’、第一用户根据第二用户的身份信息通过XMPP服务器向STUN服务器转发第一用户的音视频通讯请求;
B2’、STUN服务器接收到音视频通讯请求后,保存第一用户的公网地址信息和端口信息并向第二用户发送请求信息,第二用户通过XMPP服务器向STUN服务器转发其答复信息,当所述答复信息为接受请求时,STUN服务器保存第二用户的公网地址信息以及端口信息并将其发送给第一用户;
B3’、第一用户根据接收到的第二用户的端口信息及公网地址信息建立两端的P2P通讯链路。
4.根据权利要求2或3所述的音视频通讯方法,其特征在于,所述步骤 B3或B3’中,当P2P建立成功时,则进入到步骤C,当P2P建立失败时,则经一TURN服务器进行中转通信。
5.根据权利要求4所述的音视频通讯方法,其特征在于,所述步骤C中将待传输的音视频数据在所述第一用户与第二用户建立的通讯链路上传输实现两端的音视频通讯步骤包括,
C1、第一用户通过其公网地址和端口的组合与STUN服务器建立对话,并使用转发命令在STUN服务器上创建一个分配请求;
C2、第一用户将待传输的音视频数据设置在STUN消息中,STUN服务器接收STUN消息后,将待传输的音视频数据提取出来,并以UDP方式发送到第二用户,第二用户以UDP方式发送数据到提供所述分配请求的STUN服务器,并由STUN服务器转发给第一用户。
6.一种音视频通讯装置,设置在第一用户中,其特征在于,其包括:
好友获取模块,用于通过XMPP服务器进行注册并获得第二用户的身份信息;
连接模块,用于根据第二用户的身份信息向第二用户发送音视频通讯请求,接收STUN服务器发送的根据好友获取模块发送的请求信息获取到的第二用户的地址信息,并根据接收到第二用户的地址信息与第二用户建立通讯链路;
音视频处理模块,用于通过WEBRTC对提取到的音视频数据进行处理后以XMPP协议的方式进行封装得到待传输的音视频数据;
音视频通讯模块,用于将待传输的音视频数据在所述连接模块建立的通讯链路上传输实现两端的音视频通讯。
7.根据权利要求6所述的音视频通讯装置,其特征在于,所述连接模块具体包括:
音视频通讯请求转发单元,用于根据第二用户的身份信息通过XMPP服务器向STUN服务器转发所述好友获取模块发送的音视频通讯请求;
信息转发单元,用于接收STUN服务器发送的第二用户的公网地址信息以及端口信息,其中第二用户的公网地址信息以及端口信息是通过在STUN服务器接收到音视频通讯请求后向第二用户发送请求信息,并在第二用户通过XMPP服务器向STUN服务器转发其答复信息为接受请求时,由STUN服务器保存的信息;
P2P建立单元,用于根据所述信息转发单元中接收到的第二用户的端口信息及公网地址信息建立两端的P2P通讯链路。
8.根据权利要求7所述的音视频通讯装置,其特征在于,所述P2P建立单元还用于当P2P建立成功时,则转入到音视频通讯模块,当P2P建立失败时,则经一TURN服务器进行中转通信。
9.根据权利要求7所述的音视频通讯装置,其特征在于,所述音视频通讯模块具体包括:
分配请求创建单元,用于通过第一用户公网地址和端口的组合与STUN服务器建立对话,并使用转发命令在STUN服务器上创建一个分配请求;
数据转发单元,用于将待传输的音视频数据设置在STUN消息并发送给STUN服务器以便STUN服务器接收STUN消息后将待传输的音视频数据提取出来并以UDP方式发送到第二用户,并接收由STUN服务器转发的所述第二用户以UDP方式发送的数据。
10.一种音视频通讯系统,其特征在于,其包括:如权利要求6至9任一项所述的音视频通讯装置、至少一第二用户、XMPP服务器以及STUN服务器,所述音视频通讯装置、第二用户与XMPP服务器以及STUN服务器通讯连接,所述的第二用户用于通过XMPP服务器进行注册,并接收STUN服务器发送的所述音视频通讯装置发送的音视频通讯请求,发送回复信息到STUN服务器,接收所述音视频通讯装置建立的通讯链路上的待传输的音视频数据并进行处理从而实现音视频通讯。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310734340.2A CN103702062A (zh) | 2013-12-27 | 2013-12-27 | 一种音视频通讯方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310734340.2A CN103702062A (zh) | 2013-12-27 | 2013-12-27 | 一种音视频通讯方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103702062A true CN103702062A (zh) | 2014-04-02 |
Family
ID=50363448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310734340.2A Pending CN103702062A (zh) | 2013-12-27 | 2013-12-27 | 一种音视频通讯方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103702062A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104333496A (zh) * | 2014-09-26 | 2015-02-04 | 广东广联电子科技有限公司 | 一种智能家居服务器和智能家居系统 |
CN105379194A (zh) * | 2014-04-28 | 2016-03-02 | 华为技术有限公司 | 一种呼叫消息的处理方法及装置 |
CN106647309A (zh) * | 2016-12-31 | 2017-05-10 | 深圳市愚公科技有限公司 | 一种基于机器人的远程控制指令传输方法 |
WO2017084315A1 (zh) * | 2015-11-16 | 2017-05-26 | 乐视控股(北京)有限公司 | 视频通话连接方法、系统、设备及视频服务端 |
CN106791685A (zh) * | 2016-12-31 | 2017-05-31 | 深圳市愚公科技有限公司 | 一种远程音视频传输方法及装置 |
CN107278363A (zh) * | 2015-03-27 | 2017-10-20 | 英特尔公司 | 用于网络通信的系统和技术 |
CN108124172A (zh) * | 2017-12-08 | 2018-06-05 | 北京奇艺世纪科技有限公司 | 云投影的方法、装置及系统 |
CN109274634A (zh) * | 2017-07-18 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 多媒体通信方法及装置、存储介质 |
US10193837B2 (en) | 2014-12-12 | 2019-01-29 | At&T Intellectual Property I, L.P. | Presence-based communications |
CN109379443A (zh) * | 2018-12-18 | 2019-02-22 | 央视国际网络无锡有限公司 | 一种面向物联网的分布式消息队列的实现方法 |
CN109495599A (zh) * | 2018-11-16 | 2019-03-19 | 深圳市网心科技有限公司 | 数据传输方法和系统、电子装置及计算机可读存储介质 |
CN110089093A (zh) * | 2016-12-22 | 2019-08-02 | 统一专利有限责任两合公司 | 用于运行协作和通信平台的方法以及协作和通信平台 |
CN110392071A (zh) * | 2018-04-18 | 2019-10-29 | 网宿科技股份有限公司 | 流媒体资源的上传、下载方法、分发系统及流媒体服务器 |
CN112600832A (zh) * | 2015-05-05 | 2021-04-02 | 伊帕莱夫股份公司 | 在实时通信中建立媒体路径 |
CN113014544A (zh) * | 2021-01-25 | 2021-06-22 | 阳光凯讯(北京)科技有限公司 | 基于webRtc无中心媒体链路建立方法及装置 |
CN114710461A (zh) * | 2022-03-31 | 2022-07-05 | 中煤科工集团重庆智慧城市科技研究院有限公司 | 多端音视频即时通讯方法及系统 |
CN116760803A (zh) * | 2023-08-17 | 2023-09-15 | 四川汉唐云分布式存储技术有限公司 | 基于WebRTC技术的实时视频通信系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834874A (zh) * | 2010-05-21 | 2010-09-15 | 四川长虹电器股份有限公司 | 一种能穿透防火墙的多媒体网络通信方法 |
CN103259791A (zh) * | 2013-04-28 | 2013-08-21 | 华为技术有限公司 | 一种穿越通信选路方法、终端及系统 |
CN103368937A (zh) * | 2012-03-27 | 2013-10-23 | 三星泰科威株式会社 | 通信系统和在通信系统中发送和接收数据的方法 |
EP2672704A1 (en) * | 2012-06-08 | 2013-12-11 | Samsung Electronics Co., Ltd | Multiple channel communication using multiple cameras |
-
2013
- 2013-12-27 CN CN201310734340.2A patent/CN103702062A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834874A (zh) * | 2010-05-21 | 2010-09-15 | 四川长虹电器股份有限公司 | 一种能穿透防火墙的多媒体网络通信方法 |
CN103368937A (zh) * | 2012-03-27 | 2013-10-23 | 三星泰科威株式会社 | 通信系统和在通信系统中发送和接收数据的方法 |
EP2672704A1 (en) * | 2012-06-08 | 2013-12-11 | Samsung Electronics Co., Ltd | Multiple channel communication using multiple cameras |
CN103259791A (zh) * | 2013-04-28 | 2013-08-21 | 华为技术有限公司 | 一种穿越通信选路方法、终端及系统 |
Non-Patent Citations (1)
Title |
---|
林鸿,王松,杨鑫,付斌: "基于WebRTC技术的应用及平台技术开发与设计", 《电信科学》 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105379194A (zh) * | 2014-04-28 | 2016-03-02 | 华为技术有限公司 | 一种呼叫消息的处理方法及装置 |
CN105379194B (zh) * | 2014-04-28 | 2020-02-14 | 华为技术有限公司 | 一种呼叫消息的处理方法及装置 |
CN104333496A (zh) * | 2014-09-26 | 2015-02-04 | 广东广联电子科技有限公司 | 一种智能家居服务器和智能家居系统 |
US10193837B2 (en) | 2014-12-12 | 2019-01-29 | At&T Intellectual Property I, L.P. | Presence-based communications |
CN107278363A (zh) * | 2015-03-27 | 2017-10-20 | 英特尔公司 | 用于网络通信的系统和技术 |
CN112600832B (zh) * | 2015-05-05 | 2023-05-19 | 伊帕莱夫股份公司 | 用于直接媒体路径而不是通过网关的方法和系统 |
CN112600832A (zh) * | 2015-05-05 | 2021-04-02 | 伊帕莱夫股份公司 | 在实时通信中建立媒体路径 |
WO2017084315A1 (zh) * | 2015-11-16 | 2017-05-26 | 乐视控股(北京)有限公司 | 视频通话连接方法、系统、设备及视频服务端 |
CN110089093B (zh) * | 2016-12-22 | 2021-09-21 | 统一专利有限责任两合公司 | 用于运行协作和通信平台的方法以及协作和通信平台 |
CN110089093A (zh) * | 2016-12-22 | 2019-08-02 | 统一专利有限责任两合公司 | 用于运行协作和通信平台的方法以及协作和通信平台 |
CN106791685A (zh) * | 2016-12-31 | 2017-05-31 | 深圳市愚公科技有限公司 | 一种远程音视频传输方法及装置 |
CN106647309A (zh) * | 2016-12-31 | 2017-05-10 | 深圳市愚公科技有限公司 | 一种基于机器人的远程控制指令传输方法 |
CN109274634A (zh) * | 2017-07-18 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 多媒体通信方法及装置、存储介质 |
US11108570B2 (en) | 2017-07-18 | 2021-08-31 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for multimedia communication, and storage medium |
CN109274634B (zh) * | 2017-07-18 | 2021-06-11 | 腾讯科技(深圳)有限公司 | 多媒体通信方法及装置、存储介质 |
CN108124172A (zh) * | 2017-12-08 | 2018-06-05 | 北京奇艺世纪科技有限公司 | 云投影的方法、装置及系统 |
CN108124172B (zh) * | 2017-12-08 | 2021-01-22 | 北京奇艺世纪科技有限公司 | 云投影的方法、装置及系统 |
CN110392071A (zh) * | 2018-04-18 | 2019-10-29 | 网宿科技股份有限公司 | 流媒体资源的上传、下载方法、分发系统及流媒体服务器 |
CN109495599A (zh) * | 2018-11-16 | 2019-03-19 | 深圳市网心科技有限公司 | 数据传输方法和系统、电子装置及计算机可读存储介质 |
CN109495599B (zh) * | 2018-11-16 | 2023-09-19 | 深圳市网心科技有限公司 | 数据传输方法和系统、电子装置及计算机可读存储介质 |
CN109379443B (zh) * | 2018-12-18 | 2022-02-15 | 央视国际网络无锡有限公司 | 一种面向物联网的分布式消息队列的实现方法 |
CN109379443A (zh) * | 2018-12-18 | 2019-02-22 | 央视国际网络无锡有限公司 | 一种面向物联网的分布式消息队列的实现方法 |
CN113014544A (zh) * | 2021-01-25 | 2021-06-22 | 阳光凯讯(北京)科技有限公司 | 基于webRtc无中心媒体链路建立方法及装置 |
CN113014544B (zh) * | 2021-01-25 | 2023-02-10 | 阳光凯讯(北京)科技有限公司 | 基于webRtc无中心媒体链路建立方法及装置 |
CN114710461A (zh) * | 2022-03-31 | 2022-07-05 | 中煤科工集团重庆智慧城市科技研究院有限公司 | 多端音视频即时通讯方法及系统 |
CN114710461B (zh) * | 2022-03-31 | 2024-03-12 | 中煤科工集团重庆智慧城市科技研究院有限公司 | 多端音视频即时通讯方法及系统 |
CN116760803A (zh) * | 2023-08-17 | 2023-09-15 | 四川汉唐云分布式存储技术有限公司 | 基于WebRTC技术的实时视频通信系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103702062A (zh) | 一种音视频通讯方法、装置及系统 | |
EP3145129B1 (en) | Method and gateway for communication between browser and telecommunication network | |
CN101291335B (zh) | 一种基于浏览器获取服务器动态数据的方法及装置 | |
CN102932461B (zh) | 网络加速传输方法及装置 | |
CN111092802A (zh) | 一种消息交互方法、发送设备及接收设备 | |
CN102845123A (zh) | 虚拟私云的连接方法及隧道代理服务器 | |
CN103685004A (zh) | 一种支持企业级即时通信系统互联互通的协议网关及方法 | |
CN104486327A (zh) | 页面与长连接服务器间的通信方法及客户端 | |
CN104821909A (zh) | 端对端的数据传输方法和系统 | |
WO2015027721A1 (zh) | 一种终端状态订阅方法、装置及系统 | |
CN107920072A (zh) | 一种基于数据特征的多媒体共享方法及系统 | |
CN104852835B (zh) | 智能设备wifi通信系统及其控制方法 | |
US20110022651A1 (en) | Method and apparatus for receiving notification | |
CN110417875B (zh) | 一种云服务器之间的对接方法、系统、设备及存储介质 | |
CN104168302A (zh) | 设备操控实现方法、系统和代理网关 | |
US10666614B2 (en) | Multicast security control method and device based on DNS | |
CN103533001A (zh) | 基于http多重代理的通信方法和系统、中间代理服务器 | |
CN112188301B (zh) | 通信方法、装置、系统、终端以及计算机可读存储介质 | |
KR20080065230A (ko) | 분산 구조의 미디어 서버를 이용한 그룹통신 시스템 및 그방법 | |
CN105553935B (zh) | 一种数据包处理方法、装置以及终端 | |
CN103001930A (zh) | 一种远程数据通信系统 | |
CN102171994A (zh) | 呈现业务的通知消息的发送和接收方法及设备 | |
JP5364427B2 (ja) | ネットワーク接続装置とその制御方法 | |
CN102291402A (zh) | 实现私网穿越的方法、装置及系统 | |
CN108616760A (zh) | 一种基于浏览器的直播方法、服务器、主播端和用户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140402 |
|
RJ01 | Rejection of invention patent application after publication |