CN115361364B - 一种基于WebRTC的通信协议的数据传输方法 - Google Patents

一种基于WebRTC的通信协议的数据传输方法 Download PDF

Info

Publication number
CN115361364B
CN115361364B CN202211219794.1A CN202211219794A CN115361364B CN 115361364 B CN115361364 B CN 115361364B CN 202211219794 A CN202211219794 A CN 202211219794A CN 115361364 B CN115361364 B CN 115361364B
Authority
CN
China
Prior art keywords
peer
request
data transmission
message
communication protocol
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.)
Active
Application number
CN202211219794.1A
Other languages
English (en)
Other versions
CN115361364A (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.)
Chengdu Chinamcloud Technology Co ltd
Original Assignee
Chengdu Chinamcloud 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 Chengdu Chinamcloud Technology Co ltd filed Critical Chengdu Chinamcloud Technology Co ltd
Priority to CN202211219794.1A priority Critical patent/CN115361364B/zh
Publication of CN115361364A publication Critical patent/CN115361364A/zh
Application granted granted Critical
Publication of CN115361364B publication Critical patent/CN115361364B/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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

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

Abstract

本发明涉及数据传输领域,提出了一种基于WebRTC的通信协议的数据传输方法,该方法包括:进入Web前端页面,并调用Web API获取视频流;创建对等连接对象,并将获取的视频流拆分为音、视频轨后加载到连接对象中;创建offer sdp报文,并向统一信令网关发送请求;统一信令网关接收到请求后,将请求报文进行拆分,解析出URL,并根据协议头匹配对应RTC厂商服务;重新封装请求报文,并请求解析出的RTC厂商服务,获取answer SDP响应报文,重新封装后返回给Web前端,Web前端将answer SDP响应报文添加到对等连接对象中,对等连接就此建立成功;RTC根据双方SDP报文自动寻址。

Description

一种基于WebRTC的通信协议的数据传输方法
技术领域
本发明涉及数据传输领域,特别涉及一种基于WebRTC的通信协议的数据传输方法。
背景技术
当前,人与人之间的交流更多的由线下转为线上,一种高质量、低延迟、抗弱网、高可靠的通信技术已成为人们的迫切需求,基于WebRTC的通信协议成为了大势所趋,他天然支持低延迟、抗弱网。用户可直通通过浏览器使用这项技术,无需额外插件,同时全链路必须采用HTTPS进行加密,保证了通信环境安全。
然而这项技术目前的发展进度则还没有一个完全的标准框架,谷歌也只定义了媒体设备、以及通信连接的标准,而关键的建立连接前的SDP报文交换(信令)的标准则未对其进行定义,这也导致了各个云厂商提供的RTC版本都有所差异,比如国内厂商阿里云的RTC服务采用artc作为协议头,腾讯云则是trtc。因此对于使用者来说每接入一个RTC服务,则需要对自己的前端代码进行全部替换,而且各个厂商提供的SDK对功能也进行相应裁剪,非常不利于使用者平滑切换到其他RTC服务。
发明内容
本发明的目的是提供一种基于WebRTC的通信协议的数据传输方法,能够兼容不同厂商的RTC服务。
本发明解决其技术问题,采用的技术方案是:
一种基于WebRTC的通信协议的数据传输方法,包括如下步骤:
进入Web前端页面,并调用Web API获取视频流;
创建对等连接对象,并将获取的视频流拆分为音、视频轨后加载到连接对象中;
创建offer sdp报文,并向统一信令网关发送请求;
统一信令网关接收到请求后,将请求报文进行拆分,解析出URL,并根据协议头匹配对应RTC厂商服务;
重新封装请求报文,并请求解析出的RTC厂商服务,获取answer SDP响应报文;
对answer SDP响应报文进行重新封装后返回给Web前端,Web前端将answer SDP响应报文添加到对等连接对象中,对等连接就此建立成功;
RTC根据双方SDP报文自动寻址。
进一步的是,调用Web API获取视频流之前,检测浏览器是否支持Web API,若支持,则调用Web API获取视频流,否则提示更换浏览器。
进一步的是,创建对等连接对象后,判断连接对象transport定义是否为sendonly,若是,则不添加监听器,否则为连接对象添加监听器。
进一步的是,创建offer sdp报文,设置本地描述信息后向统一信令网关发送请求。
进一步的是,设置本地描述信息后等待远端sdp报文。
进一步的是,重新封装请求报文是指:获取URL中的鉴权信息,并对请求进行鉴权,同时向对应RTC服务提供商鉴权,成功后开始封装请求报文。
进一步的是,获取answer SDP响应报文后,根据配置对其进行自定义修改。
进一步的是,根据配置对其进行自定义修改包括:实时修改当前连接最大网络带宽。
本发明的有益效果是:通过上述一种基于WebRTC的通信协议的数据传输方法,首先,进入Web前端页面,并调用Web API获取视频流,其次,创建对等连接对象,并将获取的视频流拆分为音、视频轨后加载到连接对象中,然后,创建offer sdp报文,并向统一信令网关发送请求,然后,统一信令网关接收到请求后,将请求报文进行拆分,解析出URL,并根据协议头匹配对应RTC厂商服务,再然后,重新封装请求报文,并请求解析出的RTC厂商服务,获取answer SDP响应报文,再然后,对answer SDP响应报文进行重新封装后返回给Web前端,Web前端将answer SDP响应报文添加到对等连接对象中,对等连接就此建立成功,最后,RTC根据双方SDP报文自动寻址。因此,通过本发明可以完成对接其他RTC服务器,缩短了开发者的研发周期,开发者不用再对接一个RTC厂商就拿着该厂商的SDK重复着相同的工作。
附图说明
图1为本发明提出的一种基于WebRTC的通信协议的数据传输方法的流程图。
具体实施方式
下面结合附图,详细描述本发明的技术方案。
本发明提出的是一种基于WebRTC的通信协议的数据传输方法,其流程图见图1,其中,该方法包括如下步骤:
S1.进入Web前端页面,并调用Web API获取视频流;
S2.创建对等连接对象,并将获取的视频流拆分为音、视频轨后加载到连接对象中;
S3.创建offer sdp报文,并向统一信令网关发送请求;
S4.统一信令网关接收到请求后,将请求报文进行拆分,解析出URL,并根据协议头匹配对应RTC厂商服务;
S5.重新封装请求报文,并请求解析出的RTC厂商服务,获取answer SDP响应报文;
S6.对answer SDP响应报文进行重新封装后返回给Web前端,Web前端将answerSDP响应报文添加到对等连接对象中,对等连接就此建立成功;
S7.RTC根据双方SDP报文自动寻址。
上述方法中,为了适配当前浏览器的API调用,需要对当前浏览器的Web API进行测试,因此,Web API获取视频流之前,检测浏览器是否支持Web API,若支持,则调用WebAPI获取视频流,否则提示更换浏览器。
需要指出的是,对于是否添加监听器的选择,如果连接对象transport定义是否为sendonly,则表示不需要进行监听器的添加,其可自行完成监听功能,而对于其他对象,则需要监听器来完成监听功能,因此,创建对等连接对象后,判断连接对象transport定义是否为sendonly,若是,则不添加监听器,否则为连接对象添加监听器。
实际应用过程中,创建offer sdp报文后,为了方面修改相关报文信息和参数配置,这里,可以设置本地描述信息后再向统一信令网关发送请求。
另外,这里,可以设置本地描述信息后等待远端sdp报文,在设置了远端sdp报文后,则可以通过设置后的远端sdp报文触发连接事件,进而帮助建立连接。
需要说明的是,上述方法中,重新封装请求报文是指:获取URL中的鉴权信息,并对请求进行鉴权,同时向对应RTC服务提供商鉴权,成功后开始封装请求报文。
实际应用过程中,获取answer SDP响应报文后,可以根据配置对其进行自定义修改,这里,根据配置对其进行自定义修改可以包括:实时修改当前连接最大网络带宽。当前,根据实际应用的需求不同,也可以进行其他参数进行修改。
最终,本发明能够帮助前端开发者,将更多的精力放在功能开发、优化上,减少对接第三方RTC SDK所花的时间,开发者只需维护一套代码,就可以在不切换版本的情况下同时对接多个RTC服务器,经过测试,本发明可以使得每对接一个厂商所需要的开发周期缩短到原来的20%,效果显著。

Claims (8)

1.一种基于WebRTC的通信协议的数据传输方法,其特征在于,包括如下步骤:
进入Web前端页面,并调用Web API获取视频流;
创建对等连接对象,并将获取的视频流拆分为音、视频轨后加载到连接对象中;
创建offer sdp报文,并向统一信令网关发送请求;
统一信令网关接收到请求后,将请求报文进行拆分,解析出URL,并根据协议头匹配对应RTC厂商服务;
重新封装请求报文,并请求解析出的RTC厂商服务,获取answer SDP响应报文;
对answer SDP响应报文进行重新封装后返回给Web前端,Web前端将answer SDP响应报文添加到对等连接对象中,对等连接就此建立成功;
RTC根据双方SDP报文自动寻址。
2.根据权利要求1所述的一种基于WebRTC的通信协议的数据传输方法,其特征在于,调用Web API获取视频流之前,检测浏览器是否支持Web API,若支持,则调用Web API获取视频流,否则提示更换浏览器。
3.根据权利要求1所述的一种基于WebRTC的通信协议的数据传输方法,其特征在于,创建对等连接对象后,判断连接对象transport定义是否为sendonly,若是,则不添加监听器,否则为连接对象添加监听器。
4.根据权利要求1所述的一种基于WebRTC的通信协议的数据传输方法,其特征在于,创建offer sdp报文,设置本地描述信息后向统一信令网关发送请求。
5.根据权利要求1所述的一种基于WebRTC的通信协议的数据传输方法,其特征在于,设置本地描述信息后等待远端sdp报文。
6.根据权利要求1所述的一种基于WebRTC的通信协议的数据传输方法,其特征在于,重新封装请求报文是指:获取URL中的鉴权信息,并对请求进行鉴权,同时向对应RTC服务提供商鉴权,成功后开始封装请求报文。
7.根据权利要求1所述的一种基于WebRTC的通信协议的数据传输方法,其特征在于,获取answer SDP响应报文后,根据配置对其进行自定义修改。
8.根据权利要求7所述的一种基于WebRTC的通信协议的数据传输方法,其特征在于,根据配置对其进行自定义修改包括:实时修改当前连接最大网络带宽。
CN202211219794.1A 2022-10-08 2022-10-08 一种基于WebRTC的通信协议的数据传输方法 Active CN115361364B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211219794.1A CN115361364B (zh) 2022-10-08 2022-10-08 一种基于WebRTC的通信协议的数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211219794.1A CN115361364B (zh) 2022-10-08 2022-10-08 一种基于WebRTC的通信协议的数据传输方法

Publications (2)

Publication Number Publication Date
CN115361364A CN115361364A (zh) 2022-11-18
CN115361364B true CN115361364B (zh) 2022-12-20

Family

ID=84008895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211219794.1A Active CN115361364B (zh) 2022-10-08 2022-10-08 一种基于WebRTC的通信协议的数据传输方法

Country Status (1)

Country Link
CN (1) CN115361364B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243520A (zh) * 2013-06-18 2014-12-24 华为终端有限公司 远程监控方法及装置、系统
DE102014015443A1 (de) * 2014-10-21 2016-04-21 Unify Gmbh & Co. Kg Telekommunikationsanordnung und Verfahren zum Traversieren einer Application-Layer-Gateway-Firewall beim Aufbau einer RTC-Kommunikationsverbindung zwischen einem RTC-Client und einem RTC-Server
WO2020263492A1 (en) * 2019-06-26 2020-12-30 Oracle International Corporation Methods, systems, and computer readable media for establishing a communication session between a public switched telephone network (pstn) endpoint and a web real time communications (webrtc) endpoint
CN112584194A (zh) * 2020-11-13 2021-03-30 深圳市捷视飞通科技股份有限公司 视频码流的推送方法、装置、计算机设备和存储介质
CN112738140A (zh) * 2021-04-01 2021-04-30 浙江华创视讯科技有限公司 一种基于WebRTC的视频流传输方法、装置、存储介质和设备
CN112738644A (zh) * 2021-04-01 2021-04-30 浙江华创视讯科技有限公司 一种基于WebRTC的视频流传输方法和装置
CN113114702A (zh) * 2021-05-13 2021-07-13 上海井星信息科技有限公司 一种IOS端基于SIP协议交互的WebRTC通信方法和系统
CN113630439A (zh) * 2021-06-30 2021-11-09 网宿科技股份有限公司 实时通信rtc连接方法、服务器及存储介质
CN114844870A (zh) * 2022-03-25 2022-08-02 阿里巴巴(中国)有限公司 一种媒体流获取方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151229B1 (en) * 2020-04-10 2021-10-19 Avila Technology, LLC Secure messaging service with digital rights management using blockchain technology

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243520A (zh) * 2013-06-18 2014-12-24 华为终端有限公司 远程监控方法及装置、系统
DE102014015443A1 (de) * 2014-10-21 2016-04-21 Unify Gmbh & Co. Kg Telekommunikationsanordnung und Verfahren zum Traversieren einer Application-Layer-Gateway-Firewall beim Aufbau einer RTC-Kommunikationsverbindung zwischen einem RTC-Client und einem RTC-Server
WO2020263492A1 (en) * 2019-06-26 2020-12-30 Oracle International Corporation Methods, systems, and computer readable media for establishing a communication session between a public switched telephone network (pstn) endpoint and a web real time communications (webrtc) endpoint
CN112584194A (zh) * 2020-11-13 2021-03-30 深圳市捷视飞通科技股份有限公司 视频码流的推送方法、装置、计算机设备和存储介质
CN112738140A (zh) * 2021-04-01 2021-04-30 浙江华创视讯科技有限公司 一种基于WebRTC的视频流传输方法、装置、存储介质和设备
CN112738644A (zh) * 2021-04-01 2021-04-30 浙江华创视讯科技有限公司 一种基于WebRTC的视频流传输方法和装置
CN113114702A (zh) * 2021-05-13 2021-07-13 上海井星信息科技有限公司 一种IOS端基于SIP协议交互的WebRTC通信方法和系统
CN113630439A (zh) * 2021-06-30 2021-11-09 网宿科技股份有限公司 实时通信rtc连接方法、服务器及存储介质
CN114844870A (zh) * 2022-03-25 2022-08-02 阿里巴巴(中国)有限公司 一种媒体流获取方法、装置、电子设备及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Models for Multimedia Conference between Browsers based on WebRTC;Wajdi Elleuch;《2013 Sixth International Workshop on Selected Topics in Mobile and Wireless Computing》;20130930;全文 *
基于WebRTC的多信息源监控系统设计与实现;张旭东;《中国优秀硕士论文全文数据库(电子期刊) 信息科技辑》;20210515(第05期);全文 *
基于WebRTC的音视频通信的设计与实现;吴晨等;《有线电视技术》;20170815(第08期);全文 *

Also Published As

Publication number Publication date
CN115361364A (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
US10819757B2 (en) System and method for real-time communication by using a client application communication protocol
CN101960822B (zh) Sip-http应用相关器
US20180255182A1 (en) Web Real-Time Client Communication Over a Stimulus Based Network
JP2015535414A (ja) 未準備端末の呼
US20230353603A1 (en) Call processing system and call processing method
US20140164543A1 (en) Communication System, Application Server and Communication Method for Server Cooperation
US20130142085A1 (en) Call transfer processing in sip mode
US8983043B2 (en) Data communication
CN115361364B (zh) 一种基于WebRTC的通信协议的数据传输方法
JP4677350B2 (ja) 呼制御信号転送装置、呼制御信号転送方法および呼制御信号転送プログラム
JP4723676B2 (ja) セッション状態の通知に係る通信方法、サーバ、およびプログラム
WO2012052710A1 (en) Concurrent voice and data communication
US9398254B2 (en) Method for implementing telepresence technology and telepresence device
Rosenberg A Framework for Application Interaction in the Session Initiation Protocol (SIP)
US10104133B2 (en) Data communications
JP5421940B2 (ja) 呼処理制御装置および呼処理制御方法
CN115102944B (zh) 终端升级方法、终端、服务器、电子设备及存储介质
WO2012052705A1 (en) Data communication
CN115334050B (zh) 呼叫处理方法、装置、会话初始协议服务器及存储介质
JP2010219580A (ja) 通信中継装置、通信端末、及び通信方法
KR20080093725A (ko) 세션 설정 프로토콜 기반의 ip 멀티미디어 서비스를제공하는 단말장치, 호 세션 제어 기능 장치 및 이를이용한 서비스 요청 송/수신 방법
CN118101367A (zh) 家居设备控制方法、装置
CN112073671A (zh) 一种视联网的会议控制方法及装置
CN116405535A (zh) 一种远程服务调用方法、装置、电子设备和存储介质
CN112073672A (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