CN116248644A - 一种基于WebRTC推流技术的优化方法 - Google Patents
一种基于WebRTC推流技术的优化方法 Download PDFInfo
- Publication number
- CN116248644A CN116248644A CN202211706313.XA CN202211706313A CN116248644A CN 116248644 A CN116248644 A CN 116248644A CN 202211706313 A CN202211706313 A CN 202211706313A CN 116248644 A CN116248644 A CN 116248644A
- Authority
- CN
- China
- Prior art keywords
- webrtc
- push
- task
- browser
- pushing
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于WebRTC推流技术的优化方法,包括以下步骤:步骤1:响应于来自于浏览器的网页实时通信WebRTC推流请求,确定用于执行所述WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点;步骤2:响应于WebRTC服务器接收到待推流的流媒体的触发执行节点,获取待推流的执行节点信息,其中,待推流的流媒体由采集端浏览器产生;步骤3:推流终端根据当前实时上行带宽来确定当前数据的传送时间判断所述当前数据的所述传送时间是否超过预设值。本发明实时了解上行带宽的变化,从源头上控制生产,减少生产量实时检测推流终端的网络情,减少上传数据量,使客户可以在推流终端的上行带宽不佳的情况下。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种基于WebRTC推流技术的优化方法。
背景技术
随着移动互联网以及通信技术的发展,音视频流媒体逐渐成为新的信息载体,同时实时流媒体传输(直播)成为一种流行的信息传播工具,可以通过移动终端设备观看直播视频获取信息。但是,目前一般都是借助于网络视频采集端进行实时音视频传输,在传输过程中,客户端程序采集摄像头视频、音频数据,及屏幕等数据,通过客户端软件将数据进行视频编码,推流到流媒体服务器,视频观看端通过浏览器或者客户端从服务器拉取视频或者拉流进行观看。
WebRTC(Web Real-Time Communication,网页实时通信)可以支持多平台的浏览器进行音视频通信,被广泛用于上述业务场景中。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种基于WebRTC推流技术的优化方法。
为了实现上述目的,本发明采用了如下技术方案:
一种基于WebRTC推流技术的优化方法,包括以下步骤:
步骤1:响应于来自于浏览器的网页实时通信WebRTC推流请求,确定用于执行所述WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点;
步骤2:响应于WebRTC服务器接收到待推流的流媒体的触发执行节点,获取待推流的执行节点信息,其中,待推流的流媒体由采集端浏览器产生;
步骤3:推流终端根据当前实时上行带宽来确定当前数据的传送时间判断所述当前数据的所述传送时间是否超过预设值;
步骤4:向目标推流任务执行节点分配所述WebRTC推流任务;
步骤5:响应于来自于浏览器的WebRTC推流请求,获取至少一个推流任务执行节点的负载信根据所述至少一个推流任务执行节点的负载信息,确定用于执行所述WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点。
步骤6:基于WebRTC服务器与采集端浏览器,根据SDP信息进行媒体协商的结果选择推流的客户端与服务端,确定推流的服务端;
步骤7:若当前数据的传送时间超过所述预设值,则采取丢帧方式减少上传的数据;
步骤8:响应于目标推流任务执行节点执行完成WebRTC推流任务,向浏览器发送WebRTC推流任务执行完成的消息。
优选的,所述响应于来自于浏览器的网页实时通信WebRTC推流请求,确定用于执行所述WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点,响应于来自于浏览器的WebRTC推流请求,获取至少一个推流任务执行节点的负载信息。
优选的,若所述当前数据的所述传送时间没有超过所述预设值,则继续从所述待发送的队列中依序发送剩余的所述流媒体格式数据。
优选的,通过信令服务器获取SDP信息和candidate信息并使得在采集端浏览器和WebRtc服务器之间进行传输,以完成PeerConnection的初始化;所述完成PeerConnection初始化步骤的过程中,获取candidate信息,所述candidate信息是采集端浏览器和WebRtc服务器是通过STUN服务器和TURN服务器获得的。
优选的,所述响应于来自于浏览器的WebRTC推流请求,从键值存储系统获取至少一个推流任务执行节点的负载信息;将所述WebRTC推流任务写入键值存储系统中所述目标推流任务执行节点对应的目录下。
优选的,响应于获取到推流任务调度节点分配的WebRTC推流任务,向目标渲染节点发送所述WebRTC推流任务对应的渲染请求,以由所述目标渲染节点响应于所述渲染请求,渲染得到所述WebRTC推流任务对应的数据流;从所述目标渲染节点获取所述数据流。
本发明的有益效果为:
1.本发明实时了解上行带宽的变化,从源头上控制生产,减少生产量实时检测推流终端的网络情,减少上传数据量,使客户可以在推流终端的上行带宽不佳的情况下,还能流畅的推流,从而极大的提高了用户的观看体验;
2.WebRTC协议因其自身在媒体传输方面低延迟、画面平滑性、媒体质量高等方面都有不错的设计实现,保证了本方法在时延、平滑以及视频质量方面都有保证;还可用于有实时新视频采集和分发的场景中;
3.在本公开实施例中,基于WebRTC的推流系统采用分布式架构,包括推流任务调度节点和推流任务执行节点。通过采用本公开实施例提供的所述基于WebRTC的推流系统,能够使浏览器对于所述基于WebRTC的推流系统中的推流任务执行节点的变化(例如推流任务执行节点的数量增减、服务升级、业务类型更改等)无感知。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1,一种基于WebRTC推流技术的优化方法,包括以下步骤:
步骤1:响应于来自于浏览器的网页实时通信WebRTC推流请求,确定用于执行WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点;
步骤2:响应于WebRTC服务器接收到待推流的流媒体的触发执行节点,获取待推流的执行节点信息,其中,待推流的流媒体由采集端浏览器产生;
步骤3:推流终端根据当前实时上行带宽来确定当前数据的传送时间判断当前数据的传送时间是否超过预设值;
步骤4:向目标推流任务执行节点分配WebRTC推流任务;
步骤5:响应于来自于浏览器的WebRTC推流请求,获取至少一个推流任务执行节点的负载信根据至少一个推流任务执行节点的负载信息,确定用于执行WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点。
步骤6:基于WebRTC服务器与采集端浏览器,根据SDP信息进行媒体协商的结果选择推流的客户端与服务端,确定推流的服务端;
步骤7:若当前数据的传送时间超过预设值,则采取丢帧方式减少上传的数据;
步骤8:响应于目标推流任务执行节点执行完成WebRTC推流任务,向浏览器发送WebRTC推流任务执行完成的消息。
该实施例中,实时了解上行带宽的变化,从源头上控制生产,减少生产量实时检测推流终端的网络情,减少上传数据量,使客户可以在推流终端的上行带宽不佳的情况下,还能流畅的推流,从而极大的提高了用户的观看体验;
WebRTC协议因其自身在媒体传输方面低延迟、画面平滑性、媒体质量高等方面都有不错的设计实现,保证了本方法在时延、平滑以及视频质量方面都有保证;还可用于有实时新视频采集和分发的场景中;
基于WebRTC的推流系统采用分布式架构,包括推流任务调度节点和推流任务执行节点。通过采用本公开实施例提供的所述基于WebRTC的推流系统,能够使浏览器对于所述基于WebRTC的推流系统中的推流任务执行节点的变化(例如推流任务执行节点的数量增减、服务升级、业务类型更改等)无感知。
在本发明的一些实施例中,响应于来自于浏览器的网页实时通信WebRTC推流请求,确定用于执行WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点,响应于来自于浏览器的WebRTC推流请求,获取至少一个推流任务执行节点的负载信息。
该实施例中,在本公开实施例中,推流任务调度节点可以表示用于调度WebRTC推流任务的节点,推流任务执行节点可以表示用于执行WebRTC推流任务的节点。其中,推流任务执行节点的数量可以根据流量大小(例如单位时间内接收到的WebRTC推流请求的数量等)灵活增减。
推流任务调度节点可以用于向各个推流任务执行节点分配WebRTC推流任务。WebRTC推流任务可以表示基于WebRTC向浏览器推送数据流的任务。其中,数据流可以包括视频流、音频流、图像流、文本流等中的至少之一。
在本发明的一些实施例中,若当前数据的传送时间没有超过预设值,则继续从待发送的队列中依序发送剩余的流媒体格式数据。
该实施例中,在推流终端的存储器中划分有一暂存区,用于暂时存储流媒体数据,采用RTMP协议封装后的流媒体数据放入待发送的队列中,其中,待发送的队列存储在存储器的暂存区中。
在本发明的一些实施例中,通过信令服务器获取SDP信息和candidate信息并使得在采集端浏览器和WebRtc服务器之间进行传输,以完成PeerConnection的初始化;完成PeerConnection初始化步骤的过程中,获取candidate信息,candidate信息是采集端浏览器和WebRtc服务器是通过STUN服务器和TURN服务器获得的。
该实施例中,基于本发明以上实施例公开的方法,不需要第三方插件和flash就可以进行网页推流直播的方法;利用浏览器支持的WebRTC标准,经过WebRTC服务器改造,即可进行直播。
整个过程中,采集端浏览器可以概括的讲是用于采集音视频数据以及进行WebRTC协议通信;信令服务器是用于采集端浏览器和WebRTC服务器进行信息交互的。WebRTC服务器是用于和采集端浏览器进行WebRTC协议交互。另外,在整个过程中,如果采集端浏览器和WebRTC服务器在防火墙后,则需要借助STUN服务器、TURN服务器,STUN服务器、TURN服务器用于私网穿越和媒体流中继。另外,本发明执行的主体不限于在电脑上,在手机或者其他移动设置也是可以执行的。
在本发明的一些实施例中,响应于来自于浏览器的WebRTC推流请求,从键值存储系统获取至少一个推流任务执行节点的负载信息;将WebRTC推流任务写入键值存储系统中目标推流任务执行节点对应的目录下。
该实施例中,在本公开实施例中,浏览器通过向推流任务调度节点发送WebRTC推流请求,响应于来自于所述推流任务调度节点的所述WebRTC推流请求对应的WebRTC推流任务执行完成的消息,向所述WebRTC推流任务执行完成的消息中的目标推流任务执行节点发送WebRTC连接建立请求,以由所述目标推流任务执行节点与所述浏览器建立WebRTC连接,并通过所述WebRTC连接,从所述目标推流任务执行节点获取WebRTC推流任务对应的数据流,由此实现了基于WebRTC的分布式推流。根据本公开实施例提供的基于WebRTC的推流方法,能够使浏览器对于推流任务执行节点的变化(例如推流任务执行节点的数量增减、服务升级、业务类型更改等)无感知。当流量增大时,可以在不影响现有的基于WebRTC的推流服务的前提下,采用一台或多台机器扩展推流任务执行节点,即,可以增加一个或多个推流任务执行节点;当流量减小时,可以在不影响现有的基于WebRTC的推流服务的前提下,减少推流任务执行节点。
在本发明的一些实施例中,响应于获取到推流任务调度节点分配的WebRTC推流任务,向目标渲染节点发送WebRTC推流任务对应的渲染请求,以由目标渲染节点响应于渲染请求,渲染得到WebRTC推流任务对应的数据流;从目标渲染节点获取数据流。
该实施例中,整个过程中,采集端浏览器可以概括的讲是用于采集音视频数据以及进行WebRTC协议通信;信令服务器是用于采集端浏览器和WebRTC服务器进行信息交互的。WebRTC服务器是用于和采集端浏览器进行WebRTC协议交互。另外,在整个过程中,如果采集端浏览器和WebRTC服务器在防火墙后,则需要借助STUN服务器、TURN服务器,STUN服务器、TURN服务器用于私网穿越和媒体流中继。另外,本发明执行的主体不限于在电脑上,在手机或者其他移动设置也是可以执行的。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种基于WebRTC推流技术的优化方法,其特征在于,包括以下步骤:
步骤1:响应于来自于浏览器的网页实时通信WebRTC推流请求,确定用于执行所述WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点;
步骤2:响应于WebRTC服务器接收到待推流的流媒体的触发执行节点,获取待推流的执行节点信息,其中,待推流的流媒体由采集端浏览器产生;
步骤3:推流终端根据当前实时上行带宽来确定当前数据的传送时间判断所述当前数据的所述传送时间是否超过预设值;
步骤4:向目标推流任务执行节点分配所述WebRTC推流任务;
步骤5:响应于来自于浏览器的WebRTC推流请求,获取至少一个推流任务执行节点的负载信根据所述至少一个推流任务执行节点的负载信息,确定用于执行所述WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点。
步骤6:基于WebRTC服务器与采集端浏览器,根据SDP信息进行媒体协商的结果选择推流的客户端与服务端,确定推流的服务端;
步骤7:若当前数据的传送时间超过所述预设值,则采取丢帧方式减少上传的数据;
步骤8:响应于目标推流任务执行节点执行完成WebRTC推流任务,向浏览器发送WebRTC推流任务执行完成的消息。
2.根据权利要求1所述的一种基于WebRTC推流技术的优化方法,其特征在于,所述响应于来自于浏览器的网页实时通信WebRTC推流请求,确定用于执行所述WebRTC推流请求对应的WebRTC推流任务的目标推流任务执行节点,响应于来自于浏览器的WebRTC推流请求,获取至少一个推流任务执行节点的负载信息。
3.根据权利要求1所述的一种基于WebRTC推流技术的优化方法,其特征在于,若所述当前数据的所述传送时间没有超过所述预设值,则继续从所述待发送的队列中依序发送剩余的所述流媒体格式数据。
4.根据权利要求1所述的一种基于WebRTC推流技术的优化方法,其特征在于,通过信令服务器获取SDP信息和candidate信息并使得在采集端浏览器和WebRtc服务器之间进行传输,以完成PeerConnection的初始化;所述完成PeerConnection初始化步骤的过程中,获取candidate信息,所述candidate信息是采集端浏览器和WebRtc服务器是通过STUN服务器和TURN服务器获得的。
5.根据权利要求1所述的一种基于WebRTC推流技术的优化方法,其特征在于,所述响应于来自于浏览器的WebRTC推流请求,从键值存储系统获取至少一个推流任务执行节点的负载信息;将所述WebRTC推流任务写入键值存储系统中所述目标推流任务执行节点对应的目录下。
6.根据权利要求1所述的一种基于WebRTC推流技术的优化方法,其特征在于,响应于获取到推流任务调度节点分配的WebRTC推流任务,向目标渲染节点发送所述WebRTC推流任务对应的渲染请求,以由所述目标渲染节点响应于所述渲染请求,渲染得到所述WebRTC推流任务对应的数据流;从所述目标渲染节点获取所述数据流。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211706313.XA CN116248644A (zh) | 2022-12-29 | 2022-12-29 | 一种基于WebRTC推流技术的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211706313.XA CN116248644A (zh) | 2022-12-29 | 2022-12-29 | 一种基于WebRTC推流技术的优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116248644A true CN116248644A (zh) | 2023-06-09 |
Family
ID=86634085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211706313.XA Pending CN116248644A (zh) | 2022-12-29 | 2022-12-29 | 一种基于WebRTC推流技术的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116248644A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117411860A (zh) * | 2023-10-31 | 2024-01-16 | 慧之安信息技术股份有限公司 | 基于WebRTC的可切换中继转发控制方法和系统 |
-
2022
- 2022-12-29 CN CN202211706313.XA patent/CN116248644A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117411860A (zh) * | 2023-10-31 | 2024-01-16 | 慧之安信息技术股份有限公司 | 基于WebRTC的可切换中继转发控制方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111601118B (zh) | 直播视频的处理方法、系统、装置及终端 | |
US9674252B2 (en) | System and method for efficient delivery of repetitive multimedia content | |
CN112738140B (zh) | 一种基于WebRTC的视频流传输方法、装置、存储介质和设备 | |
US10194180B2 (en) | Systems and methods for transmitting video data over a network | |
CN108881972B (zh) | 一种码率分配方法、装置、设备和存储介质 | |
US8813160B2 (en) | Method, system and user device for obtaining a key frame in a streaming media service | |
EP2933982B1 (en) | Media stream transfer method and user equipment | |
CN108063769B (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
WO2020220902A1 (zh) | 视频资源的传输参数分发方法及装置 | |
EP3070935B1 (en) | Apparatus, system, and method of controlling output of content data, and carrier means | |
CN101047838A (zh) | 一种减少直播频道切换响应时间的方法 | |
CN112839238B (zh) | 投屏播放方法、装置和存储介质 | |
CN107547517B (zh) | 音视频节目录制方法和网络设备及计算机装置 | |
WO2015180446A1 (zh) | 一种多设备联动服务中的连接通道维护系统及方法 | |
CN115002497B (zh) | 直播回源的调度方法及系统、回源服务器 | |
CN116248644A (zh) | 一种基于WebRTC推流技术的优化方法 | |
US20150039721A1 (en) | Method and apparatus for controlling traffic using adaptive streaming in multi-media content transmission system | |
CN111478977A (zh) | 一种多流媒体融合网关系统及其实现方法 | |
CN108632681B (zh) | 播放媒体流的方法、服务器及终端 | |
CN112118458B (zh) | 一种基于融合终端的视频分发方法和系统 | |
CN115334059A (zh) | 一种音视频互通方法、装置、设备及存储介质 | |
CN112995766B (zh) | 用于标识iptv多路视频流的方法和装置 | |
CN114051150A (zh) | 直播方法、装置、电子设备及计算机可读存储介质 | |
US20150271530A1 (en) | Video quality enhancement method and apparatus | |
US20170085623A1 (en) | Content downloading and network provisioning |
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 |