CN112671944A - 一种基于webrtc和ice探测的音视频交互方法 - Google Patents
一种基于webrtc和ice探测的音视频交互方法 Download PDFInfo
- Publication number
- CN112671944A CN112671944A CN202011498649.2A CN202011498649A CN112671944A CN 112671944 A CN112671944 A CN 112671944A CN 202011498649 A CN202011498649 A CN 202011498649A CN 112671944 A CN112671944 A CN 112671944A
- Authority
- CN
- China
- Prior art keywords
- module
- client
- gateway
- address
- server
- 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
- 230000003993 interaction Effects 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 title claims abstract description 18
- 238000001514 detection method Methods 0.000 title claims abstract description 16
- 230000011664 signaling Effects 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于webrtc和ice探测的音视频交互方法,包括用客户端信令模块,客户端媒体链接模块,客户端模块,客户端NAT服务器,网关NAT服务器,Stunserver模块,网关stun模块,网关媒体链接模块和网关信令模块。本发明建立在多种NAT穿透协议的基础之上,并且提供了一个统一的框架,所以ICE具备了所有这些技术的优点,同时还避免了任何单个协议可能存在的缺陷。因此,ICE可以实现在未知网络拓扑结构中实现的设备互连,而且不需要进行对手配置。另外,由于本发明不需要为VoIP流量手动打开防火墙,所以也不会产生潜在的安全隐患。
Description
技术领域
本发明属于视频播放技术领域,具体涉及一种基于webrtc和ice探测的音视频交互方法。
背景技术
WebRTC(Web Real-Time Communication),实时通信,是一个基于浏览器的实时多媒体通信技术。该项技术旨在使 Web 浏览器具备实时通信能力,同时,通过将这些能力封装并以 JavaScript API 的方式开放给 Web 应用开发人员,使得 Web 应用开发人员能够通过 HTML 标签和 JavaScript API 快速地开发出基于 Web 浏览器的实时音视频应用,而无需赖任何第三方插件。
ICE(Interactive Connectivity Establishment):交互式连通建立方式。是一组基于offer/answer模式解决NAT穿越的协议集合。它综合利用现有的STUN,TURN等协议,以更有效的方式来建立会话。
为了解决私网设备通过公网环境进行实时音视频交互的问题,实现端到端的通信效果,必定要面临端到端之间很多层防火墙以及NAT设备阻隔等一系列问题,所以需要找到一种可以克服复杂网络,实现建立连接交互的方法。
发明内容
有鉴于此,本发明提出一种基于webrtc和ice探测的音视频交互方法,本地部署stun服务器的形式,从而达到通讯交互的目的。
为了达到目的,本发明提供的技术方案为:
本发明涉及一种基于webrtc和ice探测的音视频交互方法,其包括用于客户端进行协议交互和发起请求的客户端信令模块,用于处理媒体流的客户端媒体链接模块,用于找出NAT后的客户端公网地址的客户端模块,用于私网客户端与公网链接的枢纽和地址映射的客户端NAT服务器,用于私网服务器端与公网链接的枢纽和地址映射的网关NAT服务器,用于与其他stun模块交互的Stunserver模块,用于找出NAT后的服务器公网地址的网关stun模块,用于服务器端媒体流处理的网关媒体链接模块和用于服务器端进行协议交互和响应请求的网关信令模块;还包括以下步骤:
步骤一:客户端信令模块通过客户端stun模块向stunserver模块发请求,收集候选传输地址;
步骤二:网关信令模块通过网关stun模块向stunserver模块发请求,收集候选传输地址;
步骤三:客户端信令模块携带网关NAT服务器映射的地址A和端口向本地服务器的网关信令模块发起建立媒体流请求。
步骤四:本地服务器的网关信令模块解析客户端信令模块发送请求的地址A和端口,并发送给网关stun模块;
步骤五:Stunserver模块对网关stun模块进行连接检查;
步骤六:本地服务器端网关信令模块向客户端信令模块发送请求,媒体协商webrtc媒体地址的ICE信息;
步骤七:客户端信令模块向客户端媒体链接模块发起媒体流请求,客户端媒体链接模块和网关媒体链接模块进行ICE探测以及ICE探测响应,并发起dtls交互,得到远端和本地的srtp的key,最后进行srtp媒体流传输,完成端到端音视频互通。
优选地,步骤六中,若ICE信息的IP地址为网关地址A,则建立连接,否则,不建立连接。
优选地,步骤七中,所述的key解密远端到来的srtp和加密本地即将发出去的rtp数据包。
采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:
本发明建立在多种NAT穿透协议的基础之上,并且提供了一个统一的框架,所以ICE具备了所有这些技术的优点,同时还避免了任何单个协议可能存在的缺陷。因此,ICE可以实现在未知网络拓扑结构中实现的设备互连,而且不需要进行对手配置。另外,由于本发明不需要为VoIP流量手动打开防火墙,所以也不会产生潜在的安全隐患。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法的流程图;
附图中的标注说明:
1-客户端信令模块;2-媒体链接模块;3-客户端模块;4-客户端NAT服务器;5-网关NAT服务器;6-Stunserver模块;7-网关stun模块;8-网关媒体链接模块;9-网关信令模块。
具体实施方式
为进一步了解本发明的内容,结合实施例对本发明作详细描述,以下实施例用于说明本发明,但不用来限制本发明的范围。
参照图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发起建立媒体流请求。
步骤四:本地服务器的网关信令模块9解析客户端信令模块1发送请求的地址A和端口,并发送给网关stun模块7;
步骤五:Stunserver模块6对网关stun模块7进行连接检查;
步骤六:本地服务器端网关信令模块9向客户端信令模块1发送请求,媒体协商webrtc媒体地址的ICE信息;
步骤七:客户端信令模块1向客户端媒体链接模块2发起媒体流请求,客户端媒体链接模块2和网关媒体链接模块8进行ICE探测以及ICE探测响应,并发起dtls交互,得到远端和本地的srtp的key,最后进行srtp媒体流传输,完成端到端音视频互通。
步骤六中,若ICE信息的IP地址为网关地址A,则建立连接,否则,不建立连接。
步骤七中,所述的key解密远端到来的srtp和加密本地即将发出去的rtp数据包。
本发明建立在多种NAT穿透协议的基础之上,并且提供了一个统一的框架,所以ICE具备了所有这些技术的优点,同时还避免了任何单个协议可能存在的缺陷。因此,ICE可以实现在未知网络拓扑结构中实现的设备互连,而且不需要进行对手配置。另外,由于本发明不需要为VoIP流量手动打开防火墙,所以也不会产生潜在的安全隐患。
以上示意性的对本发明及其实施方式进行了描述,该描述没有限制性,附图中所示的也只是本发明的实施方案,实际的结构并不局限于此。所以本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。
Claims (3)
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)发起建立媒体流请求;
步骤四:本地服务器的网关信令模块(9)解析客户端信令模块(1)发送请求的地址A和端口,并发送给网关stun模块(7);
步骤五:Stunserver模块(6)对网关stun模块(7)进行连接检查;
步骤六:本地服务器端网关信令模块(9)向客户端信令模块(1)发送请求,媒体协商webrtc媒体地址的ICE信息;
步骤七:客户端信令模块(1)向客户端媒体链接模块(2)发起媒体流请求,客户端媒体链接模块(2)和网关媒体链接模块(8)进行ICE探测以及ICE探测响应,并发起dtls交互,得到远端和本地的srtp的key,最后进行srtp媒体流传输,完成端到端音视频互通。
2.根据权利要求1所述的基于webrtc和ice探测的音视频交互方法,其特征在于,步骤六中,若ICE信息的IP地址为网关地址A,则建立连接,否则,不建立连接。
3.根据权利要求1所述的基于webrtc和ice探测的音视频交互方法,其特征在于,步骤七中,所述的key解密远端到来的srtp和加密本地即将发出去的rtp数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011498649.2A CN112671944A (zh) | 2020-12-18 | 2020-12-18 | 一种基于webrtc和ice探测的音视频交互方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011498649.2A CN112671944A (zh) | 2020-12-18 | 2020-12-18 | 一种基于webrtc和ice探测的音视频交互方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112671944A true CN112671944A (zh) | 2021-04-16 |
Family
ID=75405056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011498649.2A Pending CN112671944A (zh) | 2020-12-18 | 2020-12-18 | 一种基于webrtc和ice探测的音视频交互方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112671944A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401304A (zh) * | 2021-11-15 | 2022-04-26 | 广州方阵科技有限公司 | 一种基于ip的去中心化端到端连接通信系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685141A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于语音可达性的融合穿越方法 |
US8601144B1 (en) * | 2012-11-27 | 2013-12-03 | Sansay, Inc. | Systems and methods for automatic ICE relay candidate creation |
US20140222963A1 (en) * | 2013-02-04 | 2014-08-07 | Oracle International Corporation | Integrated web-enabled session border controller |
WO2014190487A1 (zh) * | 2013-05-28 | 2014-12-04 | 华为技术有限公司 | 一种会话连接建立的方法、装置和系统 |
US20150026473A1 (en) * | 2013-07-17 | 2015-01-22 | Avaya Inc. | Verifying privacy of web real-time communications (webrtc) media channels via corresponding webrtc data channels, and related methods, systems, and computer-readable media |
EP2958293A1 (en) * | 2014-06-17 | 2015-12-23 | Deutsche Telekom AG | IMS-based IPTV Services with WebRTC |
EP3007401A1 (en) * | 2014-10-08 | 2016-04-13 | Deutsche Telekom AG | Integration of WebRTC based clients into IMS without SIP Registration |
CN106559396A (zh) * | 2015-09-30 | 2017-04-05 | 中国电信股份有限公司 | 基于Web实时通信的媒体多播方法和系统 |
US20170295475A1 (en) * | 2014-10-29 | 2017-10-12 | Kodiak Networks Inc. | System and Method to Leverage Web Real-Time Communication for Implementing Push-to-Talk Solutions |
CN107809683A (zh) * | 2017-11-22 | 2018-03-16 | 广东电网有限责任公司教育培训评价中心 | 一种基于浏览器无插件的直播系统及方法 |
CN109274634A (zh) * | 2017-07-18 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 多媒体通信方法及装置、存储介质 |
CN111147506A (zh) * | 2019-12-30 | 2020-05-12 | 武汉兴图新科电子股份有限公司 | 一种基于html5播放流媒体数据的方法、系统及存储设备 |
-
2020
- 2020-12-18 CN CN202011498649.2A patent/CN112671944A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102685141A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于语音可达性的融合穿越方法 |
US8601144B1 (en) * | 2012-11-27 | 2013-12-03 | Sansay, Inc. | Systems and methods for automatic ICE relay candidate creation |
US20140222963A1 (en) * | 2013-02-04 | 2014-08-07 | Oracle International Corporation | Integrated web-enabled session border controller |
WO2014190487A1 (zh) * | 2013-05-28 | 2014-12-04 | 华为技术有限公司 | 一种会话连接建立的方法、装置和系统 |
US20150026473A1 (en) * | 2013-07-17 | 2015-01-22 | Avaya Inc. | Verifying privacy of web real-time communications (webrtc) media channels via corresponding webrtc data channels, and related methods, systems, and computer-readable media |
EP2958293A1 (en) * | 2014-06-17 | 2015-12-23 | Deutsche Telekom AG | IMS-based IPTV Services with WebRTC |
EP3007401A1 (en) * | 2014-10-08 | 2016-04-13 | Deutsche Telekom AG | Integration of WebRTC based clients into IMS without SIP Registration |
US20170295475A1 (en) * | 2014-10-29 | 2017-10-12 | Kodiak Networks Inc. | System and Method to Leverage Web Real-Time Communication for Implementing Push-to-Talk Solutions |
CN106559396A (zh) * | 2015-09-30 | 2017-04-05 | 中国电信股份有限公司 | 基于Web实时通信的媒体多播方法和系统 |
CN109274634A (zh) * | 2017-07-18 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 多媒体通信方法及装置、存储介质 |
CN107809683A (zh) * | 2017-11-22 | 2018-03-16 | 广东电网有限责任公司教育培训评价中心 | 一种基于浏览器无插件的直播系统及方法 |
CN111147506A (zh) * | 2019-12-30 | 2020-05-12 | 武汉兴图新科电子股份有限公司 | 一种基于html5播放流媒体数据的方法、系统及存储设备 |
Non-Patent Citations (1)
Title |
---|
亢少军, 机械工业出版社 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401304A (zh) * | 2021-11-15 | 2022-04-26 | 广州方阵科技有限公司 | 一种基于ip的去中心化端到端连接通信系统 |
CN114401304B (zh) * | 2021-11-15 | 2024-04-26 | 广州方阵科技有限公司 | 一种基于ip的去中心化端到端连接通信系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8082324B2 (en) | Method of establishing a tunnel between network terminal devices passing through firewall | |
US20050125532A1 (en) | Traversing firewalls and nats | |
US7684397B2 (en) | Symmetric network address translation system using STUN technique and method for implementing the same | |
TWI434595B (zh) | 網路系統之連線建立管理方法及其相關系統 | |
US9473581B2 (en) | Integrated web-enabled session border controller | |
US9137200B2 (en) | Ice based NAT traversal | |
CA3021223C (en) | A method and a system for using relays for network optimization in ip-based communication networks | |
US20070019619A1 (en) | System and method for optimizing communications between session border controllers and enpoints in a network environment | |
Wang | Skype VoIP service-architecture and comparison | |
TWI484804B (zh) | 網路系統之資料管理方法及其相關系統 | |
WO2006136908A3 (en) | System, terminal, method, and computer program product for establishing a transport- level connection with a server located behind a network address translator and/or firewall | |
JP2006254402A (ja) | マルチメディア会議システム,それを用いた会議方法、およびコンピューターの判読可能メディア | |
WO2019184262A1 (zh) | 多类型媒体数据网络地址转换穿越方法、终端及系统 | |
WO2002071717A2 (en) | Traversing firewalls and nats | |
WO2005089063A3 (en) | Multimedia over firewall and nat/pat barriers in ip networks | |
CN112671944A (zh) | 一种基于webrtc和ice探测的音视频交互方法 | |
Tseng et al. | Can: A context-aware NAT traversal scheme | |
WO2007012233A1 (fr) | Procédé de voyage de services multimédias à travers un nat | |
CN110636029B (zh) | 一种通信方法和通信装置 | |
US20180063255A1 (en) | Method and Apparatus for Terminal Application Accessing NAS | |
CN113794715B (zh) | 一种虚拟点对点网络数据发送方法及其系统 | |
CN112511805B (zh) | 一种网络跨域传输的音视频监控系统及其通信方法 | |
CN103139209A (zh) | 媒体码流获取方法、unisaf服务器及软交换通信系统 | |
Koski et al. | The SIP-based system used in connection with a firewall | |
Zhou et al. | A novel ip over udp tunneling based firewall traversal for peer-to-peer networks |
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: 20210416 |