一种基于webrtc和ice探测的音视频交互方法技术

技术编号:28124675 阅读:15 留言:0更新日期:2021-04-19 11:37
本发明专利技术公开了一种基于webrtc和ice探测的音视频交互方法,包括用客户端信令模块,客户端媒体链接模块,客户端模块,客户端NAT服务器,网关NAT服务器,Stunserver模块,网关stun模块,网关媒体链接模块和网关信令模块。本发明专利技术建立在多种NAT穿透协议的基础之上,并且提供了一个统一的框架,所以ICE具备了所有这些技术的优点,同时还避免了任何单个协议可能存在的缺陷。因此,ICE可以实现在未知网络拓扑结构中实现的设备互连,而且不需要进行对手配置。另外,由于本发明专利技术不需要为VoIP流量手动打开防火墙,所以也不会产生潜在的安全隐患。所以也不会产生潜在的安全隐患。所以也不会产生潜在的安全隐患。

【技术实现步骤摘要】
一种基于webrtc和ice探测的音视频交互方法


[0001]本专利技术属于视频播放
,具体涉及一种基于webrtc和ice探测的音视频交互方法。

技术介绍

[0002]WebRTC(Web Real

Time Communication),实时通信,是一个基于浏览器的实时多 媒体通信技术。该项技术旨在使 Web 浏览器具备实时通信能力,同时,通过将这些能力封 装并以 JavaScript API 的方式开放给 Web 应用开发人员,使得 Web 应用开发人员能够 通过 HTML 标签和 JavaScript API 快速地开发出基于 Web 浏览器的实时音视频应用, 而无需赖任何第三方插件。
[0003]ICE(Interactive Connectivity Establishment):交互式连通建立方式。是一组基于offer/answer模式解决NAT穿越的协议集合。它综合利用现有的STUN,TURN等协议,以更有效的方式来建立会话。
[0004]为了解决私网设备通过公网环境进行实时音视频交互的问题,实现端到端的通信效果,必定要面临端到端之间很多层防火墙以及NAT设备阻隔等一系列问题,所以需要找到一种可以克服复杂网络,实现建立连接交互的方法。

技术实现思路

[0005]有鉴于此,本专利技术提出一种基于webrtc和ice探测的音视频交互方法,本地部署stun服务器的形式,从而达到通讯交互的目的。
[0006]为了达到目的,本专利技术提供的技术方案为:本专利技术涉及一种基于webrtc和ice探测的音视频交互方法,其包括用于客户端进行协议交互和发起请求的客户端信令模块,用于处理媒体流的客户端媒体链接模块,用于找出NAT后的客户端公网地址的客户端模块,用于私网客户端与公网链接的枢纽和地址映射的客户端NAT服务器,用于私网服务器端与公网链接的枢纽和地址映射的网关NAT服务器,用于与其他stun模块交互的Stunserver模块,用于找出NAT后的服务器公网地址的网关stun模块,用于服务器端媒体流处理的网关媒体链接模块和用于服务器端进行协议交互和响应请求的网关信令模块;还包括以下步骤:步骤一:客户端信令模块通过客户端stun模块向stunserver模块发请求,收集候选传输地址;步骤二:网关信令模块通过网关stun模块向stunserver模块发请求,收集候选传输地址;步骤三:客户端信令模块携带网关NAT服务器映射的地址A和端口向本地服务器的网关信令模块发起建立媒体流请求。
[0007]步骤四:本地服务器的网关信令模块解析客户端信令模块发送请求的地址A和端口,并发送给网关stun模块;
步骤五:Stunserver模块对网关stun模块进行连接检查;步骤六:本地服务器端网关信令模块向客户端信令模块发送请求,媒体协商webrtc媒体地址的ICE信息;步骤七:客户端信令模块向客户端媒体链接模块发起媒体流请求,客户端媒体链接模块和网关媒体链接模块进行ICE探测以及ICE探测响应,并发起dtls交互,得到远端和本地的srtp的key,最后进行srtp媒体流传输,完成端到端音视频互通。
[0008]优选地,步骤六中,若ICE信息的IP地址为网关地址A,则建立连接,否则,不建立连接。
[0009]优选地,步骤七中,所述的key解密远端到来的srtp和加密本地即将发出去的rtp数据包。
[0010]采用本专利技术提供的技术方案,与现有技术相比,具有如下有益效果:本专利技术建立在多种NAT穿透协议的基础之上,并且提供了一个统一的框架,所以ICE具备了所有这些技术的优点,同时还避免了任何单个协议可能存在的缺陷。因此,ICE可以实现在未知网络拓扑结构中实现的设备互连,而且不需要进行对手配置。另外,由于本专利技术不需要为VoIP流量手动打开防火墙,所以也不会产生潜在的安全隐患。
附图说明
[0011]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0012]图1为本专利技术方法的流程图;附图中的标注说明:1

客户端信令模块;2

媒体链接模块;3

客户端模块;4

客户端NAT服务器;5

网关NAT服务器;6

Stunserver模块;7

网关stun模块;8

网关媒体链接模块;9

网关信令模块。
具体实施方式
[0013]为进一步了解本专利技术的内容,结合实施例对本专利技术作详细描述,以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。
[0014]参照图1,本实施例涉及一种基于webrtc和ice探测的音视频交互方法,其包括用于客户端进行协议交互和发起请求的客户端信令模块1,用于处理媒体流的客户端媒体链接模块2,用于找出NAT后的客户端公网地址的客户端模块3,用于私网客户端与公网链接的枢纽和地址映射的客户端NAT服务器4,用于私网服务器端与公网链接的枢纽和地址映射的网关NAT服务器5,用于与其他stun模块交互的Stunserver模块6,用于找出NAT后的服务器公网地址的网关stun模块7,用于服务器端媒体流处理的网关媒体链接模块8和用于服务器端进行协议交互和响应请求的网关信令模块9;还包括以下步骤:步骤一:客户端信令模块1通过客户端stun模块3向stunserver模块6发请求,收集候选传输地址;步骤二:网关信令模块9通过网关stun模块7向stunserver模块6发请求,收集候选
传输地址;步骤三:客户端信令模块1携带网关NAT服务器5映射的地址A和端口向本地服务器的网关信令模块9发起建立媒体流请求。
[0015]步骤四:本地服务器的网关信令模块9解析客户端信令模块1发送请求的地址A和端口,并发送给网关stun模块7;步骤五:Stunserver模块6对网关stun模块7进行连接检查;步骤六:本地服务器端网关信令模块9向客户端信令模块1发送请求,媒体协商webrtc媒体地址的ICE信息;步骤七:客户端信令模块1向客户端媒体链接模块2发起媒体流请求,客户端媒体链接模块2和网关媒体链接模块8进行ICE探测以及ICE探测响应,并发起dtls交互,得到远端和本地的srtp的key,最后进行srtp媒体流传输,完成端到端音视频互通。
[0016]步骤六中,若ICE信息的IP地址为网关地址A,则建立连接,否则,不建立连接。
[0017]步骤七中,所述的key解密远端到来的srtp和加密本地即将发出去的rtp数据包。
[0018]本专利技术建立在多种NAT穿透协议的基础之上,并且提供了一个统一的框架,所以ICE具备了所有这些技术的优点,同时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于webrtc和ice探测的音视频交互方法,其特征在于,其包括用于客户端进行协议交互和发起请求的客户端信令模块(1),用于处理媒体流的客户端媒体链接模块(2),用于找出NAT后的客户端公网地址的客户端模块(3),用于私网客户端与公网链接的枢纽和地址映射的客户端NAT服务器(4),用于私网服务器端与公网链接的枢纽和地址映射的网关NAT服务器(5),用于与其他stun模块交互的Stunserver模块(6),用于找出NAT后的服务器公网地址的网关stun模块(7),用于服务器端媒体流处理的网关媒体链接模块(8)和用于服务器端进行协议交互和响应请求的网关信令模块(9);还包括以下步骤:步骤一:客户端信令模块(1)通过客户端stun模块(3)向stunserver模块(6)发请求,收集候选传输地址;步骤二:网关信令模块(9)通过网关stun模块(7)向stunserver模块(6)发请求,收集候选传输地址;步骤三:客户端信令模块(1)携带网关NAT服务器(5)映射的地址A和端口向本地服务器的网关信令模块(...

【专利技术属性】
技术研发人员:魏小童陈尚武赵粉玉
申请(专利权)人:杭州叙简科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1