CN114070827B - 一种转推流数据的传输方法、设备及介质 - Google Patents
一种转推流数据的传输方法、设备及介质 Download PDFInfo
- Publication number
- CN114070827B CN114070827B CN202210048735.6A CN202210048735A CN114070827B CN 114070827 B CN114070827 B CN 114070827B CN 202210048735 A CN202210048735 A CN 202210048735A CN 114070827 B CN114070827 B CN 114070827B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- push
- nodes
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000005540 biological transmission Effects 0.000 title abstract description 8
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000007781 pre-processing Methods 0.000 claims abstract description 7
- 238000001514 detection method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000000903 blocking effect Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 229920006395 saturated elastomer Polymers 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种转推流数据的传输方法、计算机设备和介质,其中,该方法包括:通过多个推流节点接收相同的流媒体数据,对流媒体数据进行预处理转换成推流数据,并将推流数据发往转推节点;响应于接收到多个推流节点的推流数据,判断多个推流节点的推流数据到达转推节点的先后顺序,选择最先到达的推流数据进行转推。通过本发明提出的一种转推流数据的传输方法,基于多个推流节点向转推节点发送推流数据,转推节点选择最先到达的推流数据作为转推数据进行转推,即采用饱和式的推流方案可有效解决推流节点的单点故障导致的推流数据无法及时衔接所带来的观众在使用上的卡顿现象,提高了直播数据传输的稳定性。
Description
技术领域
本发明属于计算机领域,具体涉及一种转推流数据的传输方法、设备及介质。
背景技术
随着互联网的兴起,越来越多的网站通过对网络直播节目的整合,最大限度去满足受众的观看需求,其中秀场直播就是其中一个应用场景。秀场直播规模较小,镜头较少,但是同样需要固定的场地,专业的设备进行直播。秀场直播可以使用nginx rtmp源站直接对接导播台,并通过转推功能快速对接CDN供应商、合作商或者直接对接观众。使得秀场直播不仅仅局限于特定的时间和场合,变成随播随看,其内容也因此得到了丰富和发展。
在秀场直播平台搭建模型中,nginx rtmp虽然可以快速的完成直播源站的服务,但是源站本身属于单点运行。一旦源站本身程序出现了问题或者部署源站的网络环境不稳定,将会出现卡顿花屏,严重的将会导致上下行连接断开,直接导致直播中断。这些情况严重影响下行观众的观看质量,不能给予下行观众平稳流畅的观看体验。
发明内容
为解决以上问题,本发明提出一种转推流数据的传输方法,包括:
通过多个推流节点接收相同的流媒体数据,对所述流媒体数据进行预处理转换成推流数据,并将所述推流数据发往转推节点;
响应于接收到所述多个推流节点的所述推流数据,判断所述多个推流节点的所述推流数据到达所述转推节点的先后顺序,选择最先到达的所述推流数据进行转推。
在本发明的一些实施方式中,通过多个推流节点接收相同的流媒体数据,对所述流媒体数据进行预处理转换成推流数据,并将所述推流数据发往转推节点,包括:
对流媒体数据按第一预定个数进行分组以组成推流数据,对每一组所述推流数据进行编号,并以组为单位将所述推流数据按照预定速度发往所述转推节点。
在本发明的一些实施方式中,方法还包括:
将所述最先到达的所述推流数据的所述节点作为主节点,接收并缓存所述主节点的分组后的所述推流数据。
在本发明的一些实施方式中,方法还包括:
响应于所述多个推流节点中存在主节点,所述主节点将发往所述转推节点的推流数据的编号发送到所述多个推流节点;
所述多个推流节点获取所述主节点发送的所述推流数据的编号,并判断相邻编号之间的间隔时间是否大于第一预定值;
响应于所述相邻编号之间的间隔时间大于第一预定值,将所述编号对应的所述推流数据发送到所述转推节点。
在本发明的一些实施方式中,方法还包括:
响应于所述相邻编号之间的间隔时间大于第一预定值,所述多个推流节点从所述编号对应的所述推流数据之前的第二预定个数的编号所对应的所述推流数据开始向所述转推节点发送所述推流数据。
在本发明的一些实施方式中,方法还包括:
将所述转推节点选择的最先到达的所述推流数据对应的推流节点作为活跃节点,将其他推流节点作为非活跃节点,将所述活跃节点的信息发送到所述非活跃节点并断开与所述非活跃节点的数据连接。
在本发明的一些实施方式中,方法还包括:
所述非活跃节点根据发送推流数据的预定速度,拟发送所述推流数据,并根据接收到的所述活跃节点的信息,向所述活跃节点发送检测信号,并判断所述检测信号的响应时间是否大于第一预定值;
响应于所述检测信号的响应时间大于第一预定值,所述非活跃节点将拟发送的所述推流数据直接发送到所述转推节点。
在本发明的一些实施方式中,方法还包括:
所述非活跃节点实时统计与所述转推节点断开数据连接的时间,并判断与所述转推节点断开数据连接的时间是否大于第二预定值;
响应于所述断开数据连接的时间大于第二预定值,根据所述推流数据的发送速度,推断当前所述活跃节点向所述转推节点的对应编号的所述推流数据,从所述活跃节点未发送的所述推流数据的编号开始提前向所述转推节点发送所述推流数据。
本发明的另一方面还提出了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现上述实施方式中任意一项所述方法的步骤。
本发明的另一方面还提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
通过本发明提出的一种转推流数据的传输方法,基于多个推流节点向转推节点发送推流数据,转推节点选择最先到达的推流数据作为转推数据进行转推,即采用饱和式的推流方案可有效解决推流节点的单点故障导致的推流数据无法及时衔接所带来的观众在使用上的卡顿现象。提高直播数据传输的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提出的一种转推流数据的传输方法的方法流程图;
图2为本发明实施例提出的一种计算机设备的结构示意图;
图3为本发明实施例提出的一种计算机存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
如图1所示,本发明提出一种转推流数据的传输方法,包括:
步骤S1、通过多个推流节点接收相同的流媒体数据,对所述流媒体数据进行预处理转换成推流数据,并将所述推流数据发往转推节点;
步骤S2、响应于接收到所述多个推流节点的所述推流数据,判断所述多个推流节点的所述推流数据到达所述转推节点的先后顺序,选择最先到达的所述推流数据进行转推。
在本发明的实施例中,本发明采用多个推流节点向转推节点推送相同的推流数据,多个推流节点接收相同的来自直播用户上传的实时流媒体数据,在推流节点通常都会对收到的实时的流媒体数据进行格式转换处理,将流媒体数据转换成在网络上便于传播的速度,在一些情况下还对流媒体视频内容进行压缩。对格式转换或内容压缩之后通过网络发送到转推节点,转推节点可以是CDN内容分发网络的视频内容分发网站,例如,以视频直播平台为例,为分散在不同地域的用户提供视频直播服务,只提供对视频的转推服务,并不对视频数据进行相关处理。
在步骤S2中,在本发明的实施例中,转推节点同时接收多个推流节点的视频数据。由于多个推流节点的视频数据完全相同,因此,转推节点仅选择最先到达的推流节点数据进行转推。也即如果推流节点1的对应的推流数据先到达转推节点,转推节点则将选择推流节点1发送的数据进行转推服务器,对于其他推流节点发送的推流数据则选择不转推,并且向其他推流节点发送停止发送推流数据的指令(但可以接收,如果其他推流节点仍然发送,转推节点是可接收的,仅表示转推节点已有数据接收源)。
在本发明的一些实施方式中,通过多个推流节点接收相同的流媒体数据,对所述流媒体数据进行预处理转换成推流数据,并将所述推流数据发往转推节点,包括:
对流媒体数据按第一预定个数进行分组以组成推流数据,对每一组所述推流数据进行编号,并以组为单位将所述推流数据按照预定速度发往所述转推节点。
在本实施例中,为使多个推流节点的推流数据变得可识别,在推流节点对流媒体数据进行分组处理。在通常的直播数据处理时,大都采用对相邻的几帧数据封装成一组视频流数据便于网络传输以及到达客户端时的解析,也会对分组的视频数据进行标记。但本申请则对每一帧的数据进行分组,并且采用对每一帧数据按照像素点每隔预定的几个像素点进行抽取的方式进行分组。具体地,以一帧图像为例,假如是1个120×120大小的视频帧,对其进行分组,以分四组为例,则在第一行每隔4个像素点对视频帧数据进行抽取,即第1个像素、第5个像素、第9个像素...第117个像素...为第一组,在第二行以第121个像素、第125个像素...的规律对每一帧的数据进行抽取并封装成一组数据。这样抽取的4组数据,每一组可保持原始视频帧的数据内容的1/4,将四组数据进行编号为001~004同时发送到转推节点。另外还需对每一帧节数据进行再次编号,根据流媒体数据最先发送的一帧视频为起始值为后续发送的视频数据逐帧进行编号。两种编号的方式可以为00112333_001、00112333_002、00112333_003、00112333_004,00112333表示该视频的第几帧,_001~_004表示每一帧视频的分组编号。按照上述方式将每一帧发送到转推节点。
在本发明的一些实施例中,在对每一帧数据进行分组抽取时,对每一行采用偏移一位的方式进行抽取,即依然采用相同的分组数,但在第二行时,第一组数据的抽取像素位置向后移一位的方式进行抽取。以上述120×120大小的视频帧为例,第一组数据的第一行为第1个像素、第5个像素、第9个像素...第117个像素,则第二行起始数据为第122个像素、第126个像素...的规律进行抽取。每一帧的每一组数据在隔行上均采用错位的方式进行抽取并封装成一组数据。
需要说明的是,本发明中的推流数据是指推流节点向转推节点发送的每一帧的被压缩或转格式后的视频数据。
在本发明的一些实施方式中,方法还包括:
将所述最先到达的所述推流数据的所述节点作为主节点,接收并缓存所述主节点的分组后的所述推流数据。
在本实施例中,如果转推节点的接入数据带宽(即从推流节点方向接收推流节点数据的带宽)不够充足,可选择其中一个推流节点作为主节点以及接收该推流节点的推流数据,并缓存一定时长的推流数据之后,将推流数据转发到与转推节点建立连接的客户端上播放。在本发明的一些实施例中,选择多个推流节点其中的某一节点作为主节点的方式并不是长时间保持这一主节点,而是仅在一段时间内保持该推流节点作为主节点,例如,保持其中1个推流节点10秒内作为主节点,则在10秒之后,其他节点将向转推节点发送推流数据。转推节点则将最先到达的推流数据的推流节点作为主节点,并将该主节点的数据转发到直播观看用户的客户端。同样该推流节点作为主节点的时间依然保持10秒,在这10秒内,其他推流节点则不再向推流节点发送相应的推流数据。
在本发明的一些实施方式中,方法还包括:
响应于所述多个推流节点中存在主节点,所述主节点将发往所述转推节点的推流数据的编号发送到所述多个推流节点;
所述多个推流节点获取所述主节点发送的所述推流数据的编号,并判断相邻编号之间的间隔时间是否大于第一预定值;
响应于所述相邻编号之间的间隔时间大于第一预定值,将所述编号对应的所述推流数据发送到所述转推节点。
在本实例中,如果多个推流节点的其中一个节点被选择为主节点,主节点将负责向多个推流节点发送自身的推流状态,即已经向转推节点发送多少个推流数据。具体地,作为主节点的推流节点,每向转推节点发送一帧推流数据,需要将每一帧的编号发送到其他暂时不向转推节点发送推流数据的推流节点。
推流节点在接收到主节点发送的对应的推流数据的编号时,在自身节点建立计时器,计时器的值随着时间累加,如果计时器的值累加到预定阈值时,则认为主节点出现故障,则推流节点将上一次收到的推流数据的编号数据开始向转推节点发送推理数据。
具体地,以3秒为阈值时间,如果主节点上次发送的推流数据的编号为00112333(帧编号,不是每一帧的分组编号),在计时器的值累加到3之后,仍然未收到主节点的本应该发送的00112334的编号,则该推流节点将从00112333帧视频开始向转推节点发送推流数据。
在本发明的一些实施方式中,方法还包括:
响应于所述相邻编号之间的间隔时间大于第一预定值,所述多个推流节点从所述编号对应的所述推流数据之前的第二预定个数的编号所对应的所述推流数据开始向所述转推节点发送所述推流数据。
在本实施例中,为防止出现主节点虽然向其他推流节点发送相应的推流数据的编号,但由于主节点的故障不同,导致该编号的数据或者该编号之前的数据均未完全发送到转推节点,推流节点将该编号之前的多帧视频数据发送到转推节点。
具体地,如果主节点发送到推流节点的编号为00112333,由于将该编号发送到各个推流节点的程序并不能在转推节点发送编号为00112333的数据接收完成的确认信号之后再向其他推流节点发送该编号(因为这样一个数据回路可能要很长时间),一般都是将对应的数据发送到***底层的网络框架之后就向推流节点发送编号00112333,会存在编号为00112333以及之前的数据在链路上丢失,然而其编号已经发送到推流节点,但编号为00112333的数据可能并未发送到转推节点。所以其他推流节点在发送推流数据时要将编号为00112333以及00112333之前的00112332或00112331等更早的一部分推流数据也发送到转推节点,以防止相应的数据的丢失,后续推流节点的发送的推流数据又没有补充上的情况。
在本发明的一些实施方式中,方法还包括:
将所述转推节点选择的最先到达的所述推流数据对应的推流节点作为活跃节点,将其他推流节点作为非活跃节点,将所述活跃节点的信息发送到所述非活跃节点并断开与所述非活跃节点的数据连接。
在本实施例中,转推节点将推流数据最先到达的推流节点作为活跃节点,而不再采用上述作为主节点的方式进行推流,同时转推节点将将被选为活跃节点的节点信息发送到其他非活跃节点,并断开与其他非活跃节点的连接(其他非活跃节点如有需要可以重新与转推节点建立连接)。转推节点发送到非活跃节点的节点信息包括被选择为活跃节点的IP地址等信息。
在本发明的一些实施方式中,方法还包括:
所述非活跃节点根据发送推流数据的预定速度,拟发送所述推流数据,并根据接收到的所述活跃节点的信息,向所述活跃节点发送检测信号,并判断所述检测信号的响应时间是否大于第一预定值;
响应于所述检测信号的响应时间大于第一预定值,所述非活跃节点将拟发送的所述推流数据直接发送到所述转推节点。
在本实施例中,非活跃节点在与转推节点断开后,非活跃节点拟发送推流数据是指:根据正常的推流数据的预定速度估算活跃节点向转推节点发送数据的进度,在本地实现相同推流操作,只是不向转推节点推流,也就是说在非活跃的推流节点上也执行相同的对数据的分组操作,然后在数据通过网络发送时被截止,但持续运行着通过网络发送前的所有的操作,只是在通过网络发送的这一步时被停止。具体地,同样以编号为00112333的数据为例,在各个非活跃的推流节点同样处理着编号为00112333的数据,即生成对应的分组数据00112333_001、00112333_002、00112333_003、00112333_004,但是在处理之后则不将该编号为00112333的数据发出。
在本发明的一些实施例中,本发明中拟发送推流数据还可以是向本地的虚拟地址发送网络数据,即非活跃节点和活跃节点执行相同的数据处理(上述分组等操作)以及和活跃节点相同的推流数据操作,但非活跃节点推流数据的地址是本地地址,或者是发送到本地的某个端口中。并且非活跃节点的推流速度与进度都将根据预设条件而保持同步。
进一步,在保持数据推流的拟发送时,非活跃节点同时还根据从活跃节点收到的活跃节点的IP信息,向活跃节点发送检测信号,确认活跃节点是否正常,如果在预定时间内(如3秒)未收到从活跃节点发送的确认信号,则认为活跃节点出现故障,非活跃的推流节点将拟发送的推流数据直接发送到转推节点。
在本发明的一些实施例中,非活跃节点在向活跃节点发送检测时,首先向活跃节点发送检测信号,同时计时,并计算收到活跃节点发送的确认信号的时间,将这样一来一回的一次检测所用的时间作为参考时间,并设定如果从发送检测信号开始计时,如果在1.5倍参考时间内未收到对应的确认信号,则认为活跃节点出现故障,非活跃节点则将拟发送的推流数据发往转推节点。
需要说明的时,上述参考时间并非是固定的时间而是根据不同的非活跃的推流节点与活跃推流节点之间的通信时间而定,也即不同的非活跃的推流节点中,所使用的参考时间可能和其他非活跃推流节点上的参考时间不同。
另外,如果非活跃推流节点因活跃的推流节点回复的确认信息的时间过长超过1.5倍参考时间(因网络传输问题,受实际的线路影响导致的延迟,活跃节点是正常)而向转推节点发送相应的推流数据,转推节点则依然按照最先到达的推流数据原则进行处理,如果非活跃的推流节点的推流数据先到,则说明当前活跃节点的发送数据的速度不是多个推流节点中最优的,因为按照检测信号所消耗的至少1.5倍的参考时间,当前活跃的推流节点依然没有将推流数据发送到转推节点,则说明当前的活跃的推流节点的网络并不稳定。则将最先到达的非活跃的推流节点发送到推流数据进行转推到各个类型的客户端上,并且将该非活跃节点设定为活跃节点,并将该活跃节点的变更信息发送到各个推流节点上。如果仍然是当前活跃节点的推流数据先到,则依然选择当前活跃节点的推流数据进行转推。
需要说明的是,本发明中推流数据的先到是指编号表示的相同帧的数据的先到。在一些情况下可能是对应的某一帧的某一分组的数据最先到达,则将给分组数据所述的帧的编号作为判断依据。并不对比每一帧中的每一分组的到达顺序。也即只判断到达的分组数据如00112333_001中的00112333而不去对比00112333_001~002。
在本发明的一些实施方式中,方法还包括:
所述非活跃节点实时统计与所述转推节点断开数据连接的时间,并判断与所述转推节点断开数据连接的时间是否大于第二预定值;
响应于所述断开数据连接的时间大于第二预定值,根据所述推流数据的发送速度,推断当前所述活跃节点向所述转推节点的对应编号的所述推流数据,从所述活跃节点未发送的所述推流数据的编号开始提前向所述转推节点发送所述推流数据。
在本实施例中,在非活跃节点收到来自转推节点发送的断开数据的连接时,从断开的时间开始计时,如果断开的时间超过3小时(需要说明的是3小时只是示例,具体的情况可根据网络稳定性和各个活跃节点和非活跃节点的性能稳定性而定,3小时是在推流服务器和所在网络皆稳定时设置,根据不同的情况设定10分钟,30分钟皆可),则按照拟发送的速度,提前将活跃节点未发送的推流数据发送到转推节点,触发转推节点的活跃节点的选择机制,从多个非活跃推流节点中重新选择新的活跃推流节点,将当前的活跃节点设定为非活跃节点。以此实现多个活跃节点的推流任务的轮换,有效均衡多个转推节点的数据流量。
通过本发明提出的一种转推流数据的传输方法,基于多个推流节点向转推节点发送推流数据,转推节点选择最先到达的推流数据作为转推数据进行转推,即采用饱和式的推流方案可有效解决推流节点的单点故障导致的推流数据无法及时衔接所带来的观众在使用上的卡顿现象,提高了直播数据传输的稳定性。
如图2所示,本发明的另一方面还提出了一种计算机设备,包括:
至少一个处理器21;以及
存储器22,所述存储器22存储有可在所述处理器21上运行的计算机指令23,所述指令23由所述处理器21执行时实现上述实施方式中任意一项所述方法的步骤。
如图3所示,本发明的另一方面还提出了一种计算机可读存储介质401,所述计算机可读存储介质401存储有计算机程序402,所述计算机程序402被处理器执行时实现上述实施方式中任意一项所述方法的步骤。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
此外,典型地,本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。
此外,根据本发明实施例公开的方法还可以被实现为由CPU 执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU 执行时,执行本发明实施例公开的方法中限定的上述功能。
此外,上述方法步骤以及***单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。
此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM 可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)、以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个***的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
Claims (7)
1.一种转推流数据的传输方法,其特征在于,包括:
通过多个推流节点接收相同的流媒体数据,对所述流媒体数据进行预处理转换成推流数据,并将所述推流数据发往转推节点;
响应于接收到所述多个推流节点的所述推流数据,判断所述多个推流节点的所述推流数据到达所述转推节点的先后顺序,选择最先到达的所述推流数据进行转推;
其中,所述通过多个推流节点接收相同的流媒体数据,对所述流媒体数据进行预处理转换成推流数据,并将所述推流数据发往转推节点,包括:
对流媒体数据按第一预定个数进行分组以组成推流数据,对每一组所述推流数据进行编号,并以组为单位将所述推流数据按照预定速度发往所述转推节点;
将所述最先到达的推流数据所属的推流节点作为主节点,接收并缓存所述主节点的分组后的所述推流数据;
响应于所述多个推流节点中存在主节点,所述主节点将发往所述转推节点的推流数据的编号发送到所述多个推流节点;
所述多个推流节点获取所述主节点发送的所述推流数据的编号,并判断相邻编号之间的间隔时间是否大于第一预定值;
响应于所述相邻编号之间的间隔时间大于第一预定值,将所述编号对应的所述推流数据发送到所述转推节点。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述相邻编号之间的间隔时间大于第一预定值,所述多个推流节点从所述编号对应的所述推流数据之前的第二预定个数的编号所对应的所述推流数据开始向所述转推节点发送所述推流数据。
3.根据权利要求1所述的方法,其特征在于,还包括:
将所述转推节点选择的最先到达的所述推流数据对应的推流节点作为活跃节点,将其他推流节点作为非活跃节点,将所述活跃节点的信息发送到所述非活跃节点并断开与所述非活跃节点的数据连接。
4.根据权利要求3所述的方法,其特征在于,还包括:
所述非活跃节点根据发送推流数据的预定速度,拟发送所述推流数据,并根据接收到的所述活跃节点的信息,向所述活跃节点发送检测信号,并判断所述检测信号的响应时间是否大于第一预定值;
响应于所述检测信号的响应时间大于第一预定值,所述非活跃节点将拟发送的所述推流数据直接发送到所述转推节点。
5.根据权利要求4所述的方法,其特征在于,还包括:
所述非活跃节点实时统计与所述转推节点断开数据连接的时间,并判断与所述转推节点断开数据连接的时间是否大于第二预定值;
响应于所述断开数据连接的时间大于第二预定值,根据所述推流数据的发送速度,推断当前所述活跃节点向所述转推节点的对应编号的所述推流数据,从所述活跃节点未发送的所述推流数据的编号开始提前向所述转推节点发送所述推流数据。
6.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-5任意一项所述方法的步骤。
7.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210048735.6A CN114070827B (zh) | 2022-01-17 | 2022-01-17 | 一种转推流数据的传输方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210048735.6A CN114070827B (zh) | 2022-01-17 | 2022-01-17 | 一种转推流数据的传输方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114070827A CN114070827A (zh) | 2022-02-18 |
CN114070827B true CN114070827B (zh) | 2022-04-22 |
Family
ID=80231097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210048735.6A Active CN114070827B (zh) | 2022-01-17 | 2022-01-17 | 一种转推流数据的传输方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114070827B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040932A (zh) * | 2012-01-17 | 2014-09-10 | 网络洞察力知识产权公司 | 一种网络通信冗余方法 |
CN105027516A (zh) * | 2013-02-28 | 2015-11-04 | 苹果公司 | 实时数据的冗余传输 |
CN105392021A (zh) * | 2015-12-23 | 2016-03-09 | 武汉鸿瑞达信息技术有限公司 | 一种海量视频推送***的推送方法及*** |
CN110198311A (zh) * | 2019-05-21 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种数据流处理方法、装置、设备及介质 |
CN111404882A (zh) * | 2020-03-02 | 2020-07-10 | 广州华多网络科技有限公司 | 媒体流处理方法及装置 |
CN112737897A (zh) * | 2021-04-06 | 2021-04-30 | 北京百家视联科技有限公司 | 一种链路监测调度方法、装置、设备及存储介质 |
CN113556618A (zh) * | 2021-07-20 | 2021-10-26 | 北京奇艺世纪科技有限公司 | 数据传输方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8385345B2 (en) * | 2007-09-19 | 2013-02-26 | At&T Intellectual Property Ii, L.P. | Data forwarding in hybrid mesh networks |
US10581943B2 (en) * | 2016-04-22 | 2020-03-03 | Home Box Office, Inc. | Streaming media state machine |
CN113301096B (zh) * | 2020-12-16 | 2023-03-14 | 阿里巴巴集团控股有限公司 | 内容分发网络中节点间数据传输方法、***及节点设备 |
CN112738548B (zh) * | 2021-04-06 | 2021-06-18 | 北京百家视联科技有限公司 | 一种流媒体调度方法、装置、设备及存储介质 |
-
2022
- 2022-01-17 CN CN202210048735.6A patent/CN114070827B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104040932A (zh) * | 2012-01-17 | 2014-09-10 | 网络洞察力知识产权公司 | 一种网络通信冗余方法 |
CN105027516A (zh) * | 2013-02-28 | 2015-11-04 | 苹果公司 | 实时数据的冗余传输 |
CN105392021A (zh) * | 2015-12-23 | 2016-03-09 | 武汉鸿瑞达信息技术有限公司 | 一种海量视频推送***的推送方法及*** |
CN110198311A (zh) * | 2019-05-21 | 2019-09-03 | 腾讯科技(深圳)有限公司 | 一种数据流处理方法、装置、设备及介质 |
CN111404882A (zh) * | 2020-03-02 | 2020-07-10 | 广州华多网络科技有限公司 | 媒体流处理方法及装置 |
CN112737897A (zh) * | 2021-04-06 | 2021-04-30 | 北京百家视联科技有限公司 | 一种链路监测调度方法、装置、设备及存储介质 |
CN113556618A (zh) * | 2021-07-20 | 2021-10-26 | 北京奇艺世纪科技有限公司 | 数据传输方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于流媒体技术构建统战工作移动平台研究;赵海雁;《山西电子技术》;20180615(第03期);第1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN114070827A (zh) | 2022-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113271316B (zh) | 多媒体数据的传输控制方法和装置、存储介质及电子设备 | |
CN105392020B (zh) | 一种互联网视频直播方法,及*** | |
EP2890133B1 (en) | System and method for distributing live broadcast content | |
CA2842098C (en) | A system and method for transmission of data signals over a wireless network | |
CN113037440B (zh) | 数据重传处理方法、装置、计算机设备和存储介质 | |
US20100115566A1 (en) | Fast Channel Change Request Processing | |
WO2018203336A1 (en) | Device, system, and method of pre-processing and data delivery for multi-link communications and for media content | |
US20170142029A1 (en) | Method for data rate adaption in online media services, electronic device, and non-transitory computer-readable storage medium | |
US10659190B1 (en) | Optimizing delay-sensitive network-based communications with latency guidance | |
US20140344392A1 (en) | Content delivery system, cache server, and content delivery method | |
EP2942952A1 (en) | Method, device and system for evaluating user experience value of video quality<0} | |
CN113423008B (zh) | 视频数据传输方法、服务器和观众侧设备 | |
KR101501189B1 (ko) | 고속 채널 변경 방법 및 장치 | |
KR20080032088A (ko) | 실시간 콘텐츠 분배의 클라이언트 입력 버퍼의 충전율 추정 장치 및 방법 | |
CN114501052A (zh) | 直播数据处理方法、云平台、计算机设备和存储介质 | |
CN109688425A (zh) | 直播数据推流方法 | |
CN114070827B (zh) | 一种转推流数据的传输方法、设备及介质 | |
KR101702426B1 (ko) | 다시점 비디오 서비스의 시점변경 지연을 줄이기 위한 다중 http 스레드 기반의 비디오 전송 시스템 및 방법 | |
CN101090369A (zh) | 一种在流媒体***中控制数据包发送速率的方法 | |
TWI573448B (zh) | 串流連線管理方法及串流資料連線系統 | |
US20220294555A1 (en) | Optimizing delay-sensitive network-based communications with latency guidance | |
CN113726817B (zh) | 一种流媒体数据的传输方法、装置及介质 | |
CN115334068A (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
CN112866390B (zh) | 一种数据传输方法、装置、终端设备和存储介质 | |
WO2016015133A1 (en) | System and method for automatic encoder adjustment based on transport data |
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 |