CN115866281A - 一种直播流传输方法及装置、存储介质 - Google Patents
一种直播流传输方法及装置、存储介质 Download PDFInfo
- Publication number
- CN115866281A CN115866281A CN202211468376.6A CN202211468376A CN115866281A CN 115866281 A CN115866281 A CN 115866281A CN 202211468376 A CN202211468376 A CN 202211468376A CN 115866281 A CN115866281 A CN 115866281A
- Authority
- CN
- China
- Prior art keywords
- stream
- identifier
- node
- direct
- live
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 68
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000005070 sampling Methods 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例公开了一种直播流传输方法及装置、存储介质,包括:获取推流应用端经过至少一个第一节点传输的第一直播流;第一直播流中携带追溯标识,追溯标识用于标识第一直播流流经的至少一个节点;第一直播流为至少一个第一节点中的第一个节点在推流应用端生成的第二直播流中添加追溯标识后,得到的直播流;从第一直播流中获取追溯标识,并记录追溯标识;在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,通过至少一个第二节点向拉流应用端传输第一直播流;追溯标识还用于标识第一直播流流经的至少一个第二节点。
Description
技术领域
本申请涉及互联网技术领域,尤其涉及一种直播流传输方法及装置、存储介质。
背景技术
从主播上行推流到观众下行拉流观看,一路直播流会经过一系列角色的主机节点(CDN推流边缘节点->.....->CDN观看边缘),其中,每个角色都是一个集群,因此,一路直播流流的具体流经节点就不明确,需要明确直播流的具体流经节点。
相关技术中,为提高直播服务的服务质量,需要对直播服务的服务质量进行监测,首先要清楚直播流的具体流经节点,常规手段是依次检测传输该直播流的每一个集群中的每一个节点的日志文件中是否存在该直播流的处理信息,从而确定该节点是否传输了该直播流,由于每个节点处理的任务量大,生成的日志文件多,根据日志文件确定该直播流是否流经该节点时效率低,即降低了确定直播流传输路径的效率。
发明内容
为解决上述技术问题,本申请实施例期望提供一种直播流传输方法及装置、存储介质,能够提高确定直播流传输路径的效率。
本申请的技术方案是这样实现的:
本申请实施例提供一种直播流传输方法,所述直播流传输方法包括:
获取推流应用端经过至少一个第一节点传输的第一直播流;所述第一直播流中携带追溯标识,所述追溯标识用于标识所述第一直播流流经的所述至少一个节点;所述第一直播流为所述至少一个第一节点中的第一个节点在所述推流应用端生成的第二直播流中添加追溯标识后,得到的直播流;
从所述第一直播流中获取所述追溯标识,并记录所述追溯标识;
在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,通过所述至少一个第二节点向所述拉流应用端传输所述第一直播流;所述追溯标识还用于标识所述第一直播流流经的所述至少一个第二节点。
本申请实施例提供了一种直播流传输装置,所述装置包括:
获取单元,用于获取推流应用端经过至少一个第一节点传输的第一直播流;所述第一直播流中携带追溯标识,所述追溯标识用于标识所述第一直播流流经的所述至少一个节点;所述第一直播流为所述至少一个第一节点中的第一个节点在所述推流应用端生成的第二直播流中添加追溯标识后,得到的直播流;从所述第一直播流中获取所述追溯标识,
记录单元,用于记录所述追溯标识;
传输单元,用于在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,通过所述至少一个第二节点向所述拉流应用端传输所述第一直播流;所述追溯标识还用于标识所述第一直播流流经的所述至少一个第二节点。
本申请实施例提供了一种直播流传输装置,所述装置包括:
存储器、处理器和通信总线,所述存储器通过所述通信总线与所述处理器进行通信,所述存储器存储所述处理器可执行的直播流传输的程序,当所述直播流传输的程序被执行时,通过所述处理器执行上述所述的直播流传输方法。
本申请实施例提供了一种存储介质,其上存储有计算机程序,应用于直播流传输装置,其特征在于,该计算机程序被处理器执行时实现上述所述的直播流传输方法。
本申请实施例提供了一种直播流传输方法及装置、存储介质,直播流传输方法包括:获取推流应用端经过至少一个第一节点传输的第一直播流;第一直播流中携带追溯标识,追溯标识用于标识第一直播流流经的至少一个节点;第一直播流为至少一个第一节点中的第一个节点在推流应用端生成的第二直播流中添加追溯标识后,得到的直播流;从第一直播流中获取追溯标识,并记录追溯标识;在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,通过至少一个第二节点向拉流应用端传输第一直播流;追溯标识还用于标识第一直播流流经的至少一个第二节点。采用上述方法实现方案,第一直播流在流经至少一个第一节点、直播流传输装置和至少一个第二节点的情况下,通过将第一直播流中携带的追溯标识写入至少一个第一节点、直播流传输装置和至少一个第二节点,即利用该追溯标识来标记将该第一直播流从推流应用端传输至拉流应用端时所经过的节点,可以在追溯该第一直播流时,直接根据节点中的追溯标识快速确定出传输该第一直播流的节点,以根据传输该第一直播流的节点快速确定出第一直播流的传输路径,即提高了确定直播流传输路径的效率。
附图说明
图1为本申请实施例提供的一种直播流传输流程示意图;
图2为本申请实施例提供的一种示例性的直播流传输框图;
图3为本申请实施例提供的一种示例性的NetConnction的connect的相关信息示意图;
图4为本申请实施例提供的一种直播流传输装置的组成结构示意图一;
图5为本申请实施例提供的一种直播流传输装置的组成结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种直播流传输方法,一种直播流传输方法应用于直播流传输装置,图1为本申请实施例提供的一种直播流传输方法流程图,如图1所示,直播流传输方法可以包括:
S101、获取推流应用端经过至少一个第一节点传输的第一直播流;第一直播流中携带追溯标识,追溯标识用于标识第一直播流流经的至少一个节点;第一直播流为至少一个第一节点中的第一个节点在推流应用端生成的第二直播流中添加追溯标识后,得到的直播流。
本申请实施例提供的一种直播流传输方法适用于对直播流进行传输故障检测的场景下。
在本申请实施例中,直播流传输装置可以以各种形式来实施。例如,本申请中描述的直播流传输装置可以包括诸如手机、照相机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等装置,以及诸如数字TV、台式计算机、服务器等装置。
在本申请实施例中,推流应用端为主播直播时所使用的应用端。其中,该推流应用端可以为应用程序(Application,APP)。
需要说明的是,第二直播流即为主播直播时采集到的直播流。
需要说明的是,拉流应用端为观众观看直播时所使用的应用端。其中,该拉流应用端也可以为APP。
在本申请实施例中,从主播上行推流到观众下行拉流观看,一路直播流(如第一直播流)会经过一系列角色的主机节点包括:内容分发网络(Content Delivery Network,CDN)推流边缘节点->源站转发->转码/录制/截图->CDN中转->CDN二级缓存->CDN观看边缘。其中,每个角色都是一个集群,即CDN推流边缘节点是个集群,集群中包括多个CDN推流边缘节点;源站转发也是个集群,集群中包括多个源站转发节点;转码/录制/截图是个集群,集群中包括多个转码/录制/截图节点;CDN中转是个集群,集群中包括多个CDN中转节点;CDN二级缓存是个集群,集群中包括多个CDN二级缓存节点;CDN观看边缘是个集群,集群中包括多个CDN观看边缘节点。
需要说明的是,直播流传输装置可以为CDN中转集群中的任一个CDN中转节点。
示例性的,如图2所示,主播直播时在推流应用端生成第二直播流,CDN推流边缘节点在第二直播流中添加追溯标识,得到第一直播流,并通过直播源站转发节点和转码/录制/截图节点(直播源站截图录制节点、直播源站转码节点、转码脚本)将第一直播流传输至CDN中转节点(直播流传输装置),观众在观看该主播的直播时,需要通过CDN拉流边缘节点和CDN二级缓存节点在CDN中转节点中获取该第一直播流,并将该第一直播流传输至拉流应用端以供用户观看直播。
在本申请实施例中,追溯标识可以为字符形式的标识,追溯标识也可以为数字形式的标识;追溯标识还可以为其他形式的标识;具体的追溯标识可以根据实际情况进行确定,本申请实施例对此不作限定。
示例性的,追溯标识可以为TraceId。接入和移动管理功能(Access and MobilityManagement Function,AMF)data类型为number。
在本申请实施例中,追溯标识为标识该第一直播流的唯一的标识。
在本申请实施例中,第一个节点为CDN推流边缘节点集群中的任一个节点。
在本申请实施例中,追溯标识为根据第一个节点的目标连接标识确定的标识。
需要说明的是,第一节点的目标连接标识可以为第一节点与推流应用端之间的连接关系的标识。即,第一节点的左连接的连接关系标识。
需要说明的是,任意两个节点之间的连接关系与连接标识一一对应。即一个连接关系对应一个连接标识。
示例性的,直播流s从节点A经过节点B传输至节点C,则节点B的左连接为节点A至节点B之间的连接关系,节点A至节点B之间的连接关系有且只有一个连接标识。
在本申请实施例中,直播流传输装置根据目标连接标识确定追溯标识的方式,可以为将目标连接标识作为追溯标识;也可以为利用预设连接标识与预设追溯标识之间的配置关系,确定出与目标连接标识对应的追溯标识;具体的根据目标连接标识确定追溯标识的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
需要说明的是,预设连接标识与预设追溯标识之间的配置关系可以为直播流传输装置中配置的关系;预设连接标识与预设追溯标识之间的配置关系也可以为其他设备传输至直播流传输装置中的关系;具体的直播流传输装置得到预设连接标识与预设追溯标识之间的配置关系的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
可以理解的是,通过确定第一个节点的目标连接标识,目标连接标识为唯一标识节点间连接关系的标识,利用该目标连接标识可以唯一确定出一个追溯标识,利用该唯一的追溯标识来标识第一直播流,使得可以根据该追溯标识全程追溯第一直播流的流经节点,即确定出第一直播流的流经节点,以根据第一直播流的流经节点快速确定出第一直播流的传输路径,提高了确定直播流传输路径的效率。
在本申请实施例中,直播流传输装置从第一直播流中获取追溯标识,并记录追溯标识的过程,还包括:直播流传输装置在第一直播流中存在连接标识获取请求和父级连接标识获取请求的情况下,获取直播流传输装置的第一连接标识以及第一连接标识对应的第一父级连接标识;将第一连接标识和第一父级连接标识写入第一直播流,得到第三直播流。
需要说明的是,第一直播流中包括至少一个第一节点对应的至少一个第二连接标识和至少一个第二父级连接标识。
在本申请实施例中,第一连接标识可以为标识第一直播流在CDN中转节点(直播流传输装置)的connection id或session id,用于唯一定位该第一直播流在一台主机(节点)的一个连接session。第一父级连接标识是标识第一直播流父节点的连接标识,主要用于绘制第一直播流的拓扑走向图。
需要说明的是,若直播流a由A主机(节点)传输到B主机(节点),则A主机的连接标识将调整为B主机的父级连接标识,拓扑图将显示直播流a由A主机传输至B主机。
需要说明的是,一路直播流如果流经两台主机,那么在两台主机的两端都将对应一个连接标识。
示例性的,连接标识可以为NodeId,AMF data类型为number。父级连接标识可以为ParentNodeId,AMF data类型为number。
在本申请实施例中,直播流传输装置通过至少一个第二节点向拉流应用端传输第一直播流的过程,直播流传输装置经过至少一个第二节点,将第三直播流传输至拉流应用端。
需要说明的是,拉流应用端处的第三直播流中包含至少一个第二节点对应的至少一个第三连接标识和至少一个第三父级连接标识。
在本申请实施例中,直播流传输装置还可以在接收到拉流应用端通过至少一个第二节点传输的第一直播流获取请求的情况下,确定第一个接收到拉流应用端传输的第一直播流获取请求的目标第二节点,确定该目标第二节点的目标第三连接标识;并根据该目标第三连接标识确定第一追溯标识;并将第一追溯标识写入第一直播流获取请求中,得到第二请求。第二请求经过CDN二级缓存集群中的任一个CDN二级缓存节点从CDN中转集群中的存储有第三直播流的CDN中转节点中获取第三直播流。以将第三直播流从CDN中转集群中存储有第三直播流的CDN中转节点中通过CDN二级缓存集群中的任一个CDN二级缓存节点、CDN观看边缘集群中的任一个CDN观看边缘节点传输至拉流应用端。
需要说明的是,目标第二节点可以为至少一个第二节点中第一个接收到第一直播流获取请求的节点。具体的,目标第二节点为CDN观看边缘集群中的任一个节点。
需要说明的是,目标第二节点的第一连接标识可以为目标第二节点与拉流应用端之间的连接关系的标识。即,目标第二节点的右连接的连接关系标识。
示例性的,第一直播流获取请求s’从节点A经过节点B传输至节点C,则节点B的右连接为节点B至节点C间的连接关系。且,节点B至节点C之间的连接关系有且只有一个连接标识。
需要说明的是,若目标第二节点在接收到拉流应用端传输的第一直播流获取请求的情况下,生成第一追溯标识,至少一个第一节点中的第一个节点在接收推流应用端传输的第一直播流的情况下,生成追溯标识,则在CDN中转集群中的存储有第一直播流的节点(直播流传输装置)中,会将第二请求中携带的第一追溯标识和第一直播流中的追溯标识进行关联(即建立第一追溯标识和追溯标识之间的对应关系)。或者在CDN二级缓存集群中的存储有第一直播流的节点中,会将第二请求中携带的第一追溯标识和第一直播流中的追溯标识进行关联。
还需要说明的是,在实时消息传输协议(Real Time Messaging Protocol,rtmp)的“RTMP Send Meta”、“RTMP Send Audio Header”、“RTMP Send Video Header”三个阶段关联上行trace id(追溯标识)和下行trace id(第一追溯标识)。通常情况只需要匹配“RTMP Send Meta”,但是也有个别监控摄像头推流时不发meta信息的情况,这种情况就需要匹配“RTMP Send Audio Header”或者“RTMP Send Video Header”,即在“RTMP SendAudio Header”或者“RTMP Send Video Header”阶段关联追溯标识和第一追溯标识。
在本申请实施例中,直播流传输装置中还包括RTMP模块,RTMP模块设置有rtmp协议各个交互阶段,在rtmp协议中,最适合引入trace id的阶段为NetConnction的connect阶段,在Command Object(AMF数据)中附加trace id等信息,由此将新增的trace id等参数通过AMF子对象传递给服务器。rtmp协议文档中阐述了有关NetConnction的connect的相关信息,如图3所示:若在AMF Connect阶段的解析中新增了一个trace id子对象。则在RelaySend Connect阶段的封装中,也新增了同样trace id的子对象。这样有关trace id的相关信息就可以在各服务中传递,从而实现trace跟踪的功能。
在本申请实施例中,直播流传输装置中还包括RTMP模块,RTMP模块设置有HTTP协议,HTTP协议的trace功能实现主要是通过http header的头域来实现,各级服务器是通过http header中的trace头域来传递trace id信息。
在本申请实施例中,直播流传输装置将第一连接标识和第一父级连接标识写入第一直播流,得到第三直播流之后,在第三直播流传输至至少一个第二节点中的第一个节点的情况下,则就根据第三直播流中的连接标识获取请求和父级连接标识获取请求,在至少一个第二节点中的第一个节点中获取第一个第三连接标识和第一个第三父级连接标识;并将该第一个第三连接标识和第一个第三父级连接标识写入该第三直播中,直至第三直播流流经至少一个第二节点中的每一个节点,并从每一个节点处获取到对应的至少一个第三连接标识和至少一个第三父级连接标识,且将至少一个第三连接标识和至少一个第三父级连接标识都写入第三直播流中,并将该第三直播流传输至拉流应用端。
可以理解的是,由于第一直播流中携带连接标识获取请求和父级连接标识获取请求,使得可以根据连接标识获取请求和父级连接标识获取请求从传输第一直播流的至少一个第一节点、直播流传输装置、至少一个第二节点处获取这些节点的对应的连接标识和父级连接标识,使得流至拉流应用端的第三直播流中携带有至少一个第一节点对应的至少一个第二连接标识和至少一个第二父级连接标识、第一连接标识以及第一连接标识对应的第一父级连接标识、至少一个第二节点对应的至少一个第三连接标识和至少一个第三父级连接标识,以根据第三直播流中的多个连接标识(至少一个第二连接标识、第一连接标识和至少一个第三连接标识)和多个父级连接标识(至少一个第二父级连接标识、第一父级连接标识和至少一个第三父级连接标识)可以快速确定出第一直播流的传输路径,从而提高了确定直播流传输路径的效率。
在本申请实施例中,追溯标识为利用预设追溯标识生成策略,生成唯一与第一直播流对应的追溯标识。
在本申请实施例中,预设追溯标识生成策略可以为可以为直播流传输装置中配置的策略;预设追溯标识生成策略也可以为其他设备传输至直播流传输装置中的策略;具体的直播流传输装置得到预设追溯标识生成策略的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
需要说明的是,预设追溯标识生成策略可以为现有技术中的生成追溯标识的策略;预设追溯标识生成策略也可以为现有技术中不存在的、为直播流传输装置配置的用于生成追溯标识的策略;具体的预设追溯标识生成策略可以根据实际情况进行确定,本申请实施例对此不作限定。
示例性的,预设追溯标识生成策略可以为TraceId的生成策略。
在本申请实施例中,至少一个第一节点中的第一个节点在接收推流应用端传输的第二直播流的情况下,就直接利用预设追溯标识生成策略,生成唯一标识第二直播流的追溯标识,然后在第二直播流中添加追溯标识,得到第一直播流。或者,至少一个第一节点中的第一个节点在接收推流应用端传输的第二直播流的情况下,就获取第一个节点的目标连接标识,并将目标连接标识作为追溯标识,然后在第二直播流中添加追溯标识,得到第一直播流。其中,在接收到第一直播流之前,根据第一个节点的目标连接标识确定过其他的追溯标识的情况下,则认为该目标连接标识不可用,不再利用该目标连接标识确定追溯标识;可以利用预设追溯标识生成策略,生成唯一标识第二直播流的追溯标识,然后在第二直播流中添加追溯标识,得到第一直播流。
在本申请实施例中,目标第二节点还可以在接收到拉流应用端传输的第一直播流获取请求的情况下,利用预设追溯标识生成策略,生成唯一标识第一直播流获取请求的第一追溯标识;并将第一追溯标识写入第一直播流获取请求中,得到第二请求。第二请求经过CDN二级缓存集群中的任一个节点从CDN中转集群中的存储有第三直播流的节点中获取第三直播流。以将第三直播流从CDN中转集群中的存储有第三直播流的节点中通过CDN二级缓存集群中的任一个节点传输至拉流应用端。
可以理解的是,利用预设追溯标识生成策略生成唯一标识第一直播流的追溯标识,利用该唯一的追溯标识来标识第一直播流,使得可以根据该追溯标识全程追溯第一直播流的流经节点,即确定出第一直播流的流经节点,以根据第一直播流的流经节点快速确定出第一直播流的传输路径,提高了确定直播流传输路径的效率。
在本申请实施例中,至少一个第一节点中的第一个节点在接收到对第二直播流进行跟踪采样指令的情况下,就在第二直播流中添加采样标识,此时采样标识的标识值为第一预设值,然后就在第二直播流的信息头中添加追溯标识后,得到第一直播流。
在本申请实施例中,至少一个第一节点中的第一个节点在第二直播流中添加采样标识之前,还会获取采样标识。
在本申请实施例中,采样标识可以为至少一个第一节点中的第一个节点中配置的标识;采样标识也可以为在接收到对第一直播流进行跟踪采样指令之前,接收到的标识;具体的至少一个第一节点中的第一个节点获取到采样标识的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,采样标识可以为字符形式的标识;采样标识也可以为数字形式的标识;采样标识还可以为其他形式的标识;具体的采样标识根据实际情况进行确定,本申请实施例对此不作限定。
示例性的,采样标识可以为Sampled,AMF data类型为Boolean。
在本申请实施例中,第二直播流也可以为配置有采样标识的直播流,至少一个第一节点中的第一个节点在第二直播流中添加追溯标识,得到第一直播流的过程,也可以为在接收到对第二直播流进行跟踪采样指令的情况下,将第二直播流中的采样标识的标识值为第一预设值;然后在第二直播流中添加追溯标识,得到第一直播流。
需要说明的是,第一预设值为1。
还需要说明的是,直播流传输装置将采样标识的标识值调整为第一预设值之前,采样标识的标识值为1。
在本申请实施例中,至少一个第一节点中的第一个节点在接收到对第二直播流进行调试的指令的情况下,就在第二直播流中添加调试标识,并将第二直播流中的调试标识的标识值设为第一预设值,然后就在第二直播流信息头中添加追溯标识后,得到第一直播流。
在本申请实施例中,直播流传输装置在第二直播流中添加调试标识,直播流传输装置还会获取调试标识。
在本申请实施例中,调试标识可以为至少一个第一节点中的第一个节点中配置的标识;调试标识也可以为其他设备传输至至少一个第一节点中的第一个节点中的标识;具体的至少一个第一节点中的第一个节点得到调试标识的方式可以根据实际情况进行确定,本申请实施例对此不作限定。
在本申请实施例中,调试标识可以为字符形式的标识;调试标识也可以为数字形式的标识;调试标识还可以为其他形式的标识;具体的调试标识根据实际情况进行确定,本申请实施例对此不作限定。
示例性的,调试标识可以为Flags,AMF data类型为Boolean。
在本申请实施例中,第二直播流也可以为配置有调试标识的直播流,至少一个第一节点中的第一个节点在第二直播流中添加追溯标识,得到第一直播流的过程,也可以为在接收到对第二直播流的调试指令的情况下,将第二直播流中的调试标识的标识值为第一预设值,然后在第二直播流中添加追溯标识,得到第一直播流。
需要说明的是,直播流传输装置将调试标识的标识值调整为第一预设值之前,调试标识的标识值为0。
在本申请实施例中,直播流传输装置在第二直播流中添加追溯标识,得到第一直播流的过程,也可以为:直播流传输装置在接收到对第二直播流进行跟踪采样指令和对第二直播流的调试指令的情况下,在第二直播流中添加采样标识,得到第一更新直播流;在第一更新直播流中添加追溯标识和调试标识,得到第一直播流。也可以为在接收到对第二直播流进行跟踪采样指令和对第二直播流的调试指令的情况下,在第一直播流中添加调试标识,得到第二更新直播流;在第二更新直播流中添加采样标识和追溯标识,得到第一直播流。具体的可以根据实际情况进行确定,本申请实施例对此不作限定。
S102、从第一直播流中获取追溯标识,并记录追溯标识。
在本申请实施例中,直播流传输装置获取推流应用端经过至少一个第一节点传输的第一直播流之后,直播流传输装置就可以从第一直播流中获取追溯标识,并记录追溯标识。
在本申请实施例中,直播流传输装置可以将追溯标识记录在内存中,直播流传输装置也可以将追溯标识记录在磁盘中,具体的直播流传输装置记录追溯标识的位置可以根据实际情况进行确定,本申请实施例对此不作限定。
S103、在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,通过至少一个第二节点向拉流应用端传输第一直播流;追溯标识还用于标识第一直播流流经的至少一个第二节点。
在本申请实施例中,直播流传输装置记录追溯标识之后,直播流传输装置在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,就通过至少一个第二节点向拉流应用端传输第一直播流。
在本申请实施例中,根据至少一个第一节点、直播流传输装置、至少一个第二节点确定第一直播流的传输路径的方式,可以为直播流传输装置根据至少一个第一节点、直播流传输装置、至少一个第二节点所属的节点集群,绘制第一直播流的传输路径。
可以理解的是,第一直播流在流经至少一个第一节点、直播流传输装置和至少一个第二节点的情况下,通过将第一直播流中携带的追溯标识写入至少一个第一节点、直播流传输装置和至少一个第二节点,即利用该追溯标识来标记将该第一直播流从推流应用端传输至拉流应用端时所经过的节点,可以在追溯该第一直播流时,直接根据节点中的追溯标识快速确定出传输该第一直播流的节点,以根据传输该第一直播流的节点快速确定出第一直播流的传输路径,即提高了确定直播流传输路径的效率。
基于与上述直播流传输方法的同一发明构思,本申请实施例提供了一种直播流传输装置1,对应于一种直播流传输方法;图4为本申请实施例提供的一种直播流传输装置的组成结构示意图一,该直播流传输装置1可以包括:
获取单元11,用于获取推流应用端经过至少一个第一节点传输的第一直播流;所述第一直播流中携带追溯标识,所述追溯标识用于标识所述第一直播流流经的所述至少一个节点;所述第一直播流为所述至少一个第一节点中的第一个节点在所述推流应用端生成的第二直播流中添加追溯标识后,得到的直播流;从所述第一直播流中获取所述追溯标识,
记录单元12,用于记录所述追溯标识;
传输单元13,用于在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,通过所述至少一个第二节点向所述拉流应用端传输所述第一直播流;所述追溯标识还用于标识所述第一直播流流经的所述至少一个第二节点。
在本申请的一些实施例中,所述装置还包括写入单元;
所述获取单元11,用于在在所述第一直播流中存在连接标识获取请求和父级连接标识获取请求的情况下,获取直播流传输装置的第一连接标识以及所述第一连接标识对应的第一父级连接标识;
所述写入单元,用于将所述第一连接标识和所述第一父级连接标识写入所述第一直播流,得到第三直播流;所述第一直播流中包括所述至少一个第一节点对应的至少一个第二连接标识和至少一个第二父级连接标识。
在本申请的一些实施例中,所述传输单元13,用于经过所述至少一个第二节点,将所述第三直播流传输至所述拉流应用端;所述拉流应用端处的第三直播流中包含所述至少一个第二节点对应的至少一个第三连接标识和至少一个第三父级连接标识。
在本申请的一些实施例中,追溯标识为根据所述第一个节点的目标连接标识确定的标识。
在本申请的一些实施例中,所述追溯标识为利用预设追溯标识生成策略,生成唯一与所述第一直播流对应的所述追溯标识。
在本申请的一些实施例中,所述第一直播流为在所述第二直播流中的采样标识的标识值为第一预设值的情况下,所述第一个节点在所述第二直播流的信息头中添加所述追溯标识后,得到的直播流。
在本申请的一些实施例中,所述第一直播流为在所述第二直播流中的调试标识的标识值为第一预设值的情况下,所述第一个节点在所述第二直播流信息头中添加所述追溯标识后,得到的直播流。
需要说明的是,在实际应用中,上述获取单元11、记录单元12和传输单元13可由直播流传输装置1上的处理器14实现,具体为CPU(Central Processing Unit,中央处理器)、MPU(Microprocessor Unit,微处理器)、DSP(Digital Signal Processing,数字信号处理器)或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现;上述数据存储可由直播流传输装置1上的存储器15实现。
本申请实施例还提供了一种直播流传输装置1,如图5所示,所述直播流传输装置1包括:处理器14、存储器15和通信总线16,所述存储器15通过所述通信总线16与所述处理器14进行通信,所述存储器15存储所述处理器14可执行的程序,当所述程序被执行时,通过所述处理器14执行如上述所述的直播流传输方法。
在实际应用中,上述存储器15可以是易失性存储器(volatile memory),例如随机存取存储器(Random-Access Memory,RAM);或者非易失性存储器(non-volatile memory),例如只读存储器(Read-Only Memory,ROM),快闪存储器(flash memory),硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid-State Drive,SSD);或者上述种类的存储器的组合,并向处理器14提供指令和数据。
本申请实施例提供了一种计算机可读存储介质,其上有计算机程序,所述程序被处理器14执行时实现如上述所述的直播流传输方法。
可以理解的是,第一直播流在流经至少一个第一节点、直播流传输装置和至少一个第二节点的情况下,通过将第一直播流中携带的追溯标识写入至少一个第一节点、直播流传输装置和至少一个第二节点,即利用该追溯标识来标记将该第一直播流从推流应用端传输至拉流应用端时所经过的节点,可以在追溯该第一直播流时,直接根据节点中的追溯标识快速确定出传输该第一直播流的节点,以根据传输该第一直播流的节点快速确定出第一直播流的传输路径,即提高了确定直播流传输路径的效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。
Claims (10)
1.一种直播流传输方法,其特征在于,所述方法包括:
获取推流应用端经过至少一个第一节点传输的第一直播流;所述第一直播流中携带追溯标识,所述追溯标识用于标识所述第一直播流流经的所述至少一个节点;所述第一直播流为所述至少一个第一节点中的第一个节点在所述推流应用端生成的第二直播流中添加追溯标识后,得到的直播流;
从所述第一直播流中获取所述追溯标识,并记录所述追溯标识;
在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,通过所述至少一个第二节点向所述拉流应用端传输所述第一直播流;所述追溯标识还用于标识所述第一直播流流经的所述至少一个第二节点。
2.根据权利要求1所述的方法,其特征在于,所述从所述第一直播流中获取所述追溯标识,并记录所述追溯标识,还包括:
在所述第一直播流中存在连接标识获取请求和父级连接标识获取请求的情况下,获取直播流传输装置的第一连接标识以及所述第一连接标识对应的第一父级连接标识;
将所述第一连接标识和所述第一父级连接标识写入所述第一直播流,得到第三直播流;所述第一直播流中包括所述至少一个第一节点对应的至少一个第二连接标识和至少一个第二父级连接标识。
3.根据权利要求1所述的方法,其特征在于,所述通过所述至少一个第二节点向所述拉流应用端传输所述第一直播流,包括:
经过所述至少一个第二节点,将第三直播流传输至所述拉流应用端;所述拉流应用端处的第三直播流中包含所述至少一个第二节点对应的至少一个第三连接标识和至少一个第三父级连接标识。
4.根据权利要求1所述的方法,其特征在于,所述追溯标识为根据所述第一个节点的目标连接标识确定的标识。
5.根据权利要求1所述的方法,其特征在于,所述追溯标识为利用预设追溯标识生成策略,生成唯一与所述第一直播流对应的所述追溯标识。
6.根据权利要求1所述的方法,其特征在于,所述第一直播流为在所述第二直播流中的采样标识的标识值为第一预设值的情况下,所述第一个节点在所述第二直播流的信息头中添加所述追溯标识后,得到的直播流。
7.根据权利要求1所述的方法,其特征在于,所述第一直播流为在所述第二直播流中的调试标识的标识值为第一预设值的情况下,所述第一个节点在所述第二直播流信息头中添加所述追溯标识后,得到的直播流。
8.一种直播流传输装置,其特征在于,所述装置包括:
获取单元,用于获取推流应用端经过至少一个第一节点传输的第一直播流;所述第一直播流中携带追溯标识,所述追溯标识用于标识所述第一直播流流经的所述至少一个节点;所述第一直播流为所述至少一个第一节点中的第一个节点在所述推流应用端生成的第二直播流中添加追溯标识后,得到的直播流;从所述第一直播流中获取所述追溯标识,
记录单元,用于记录所述追溯标识;
传输单元,用于在接收到拉流应用端经过至少一个第二节点传输的第一直播流获取请求的情况下,通过所述至少一个第二节点向所述拉流应用端传输所述第一直播流;所述追溯标识还用于标识所述第一直播流流经的所述至少一个第二节点。
9.一种直播流传输装置,其特征在于,所述装置包括:
存储器、处理器和通信总线,所述存储器通过所述通信总线与所述处理器进行通信,所述存储器存储所述处理器可执行的直播流传输的程序,当所述直播流传输的程序被执行时,通过所述处理器执行如权利要求1至7任一项所述的方法。
10.一种存储介质,其上存储有计算机程序,应用于直播流传输装置,其特征在于,该计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211468376.6A CN115866281A (zh) | 2022-11-22 | 2022-11-22 | 一种直播流传输方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211468376.6A CN115866281A (zh) | 2022-11-22 | 2022-11-22 | 一种直播流传输方法及装置、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115866281A true CN115866281A (zh) | 2023-03-28 |
Family
ID=85665009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211468376.6A Pending CN115866281A (zh) | 2022-11-22 | 2022-11-22 | 一种直播流传输方法及装置、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115866281A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10893302B1 (en) * | 2020-01-09 | 2021-01-12 | International Business Machines Corporation | Adaptive livestream modification |
CN114363651A (zh) * | 2022-01-04 | 2022-04-15 | 上海哔哩哔哩科技有限公司 | 直播流处理方法及装置 |
CN114760482A (zh) * | 2022-03-30 | 2022-07-15 | 上海哔哩哔哩科技有限公司 | 直播回源方法及装置 |
-
2022
- 2022-11-22 CN CN202211468376.6A patent/CN115866281A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10893302B1 (en) * | 2020-01-09 | 2021-01-12 | International Business Machines Corporation | Adaptive livestream modification |
CN114363651A (zh) * | 2022-01-04 | 2022-04-15 | 上海哔哩哔哩科技有限公司 | 直播流处理方法及装置 |
CN114760482A (zh) * | 2022-03-30 | 2022-07-15 | 上海哔哩哔哩科技有限公司 | 直播回源方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10321199B2 (en) | Streaming with optional broadcast delivery of data segments | |
US8396874B2 (en) | System and method for using topic messages to understand media relating to an event | |
JPWO2013157440A1 (ja) | 受信装置、受信方法、送信装置、送信方法、及びプログラム | |
US10771355B2 (en) | Method for measuring end-to-end internet application performance | |
JP6232666B2 (ja) | Ottビデオの品質を監視する方法、装置、およびシステム | |
CN105812850A (zh) | 一种视频文件播放方法及其系统 | |
US11095699B1 (en) | Streaming media file management | |
US11315605B2 (en) | Method, device, and computer program product for storing and providing video | |
US20150071620A1 (en) | Identifying and rerecording only the incomplete units of a program broadcast recording | |
CN104780346A (zh) | 轻量级的视频信息处理方法及系统 | |
CN114629929B (zh) | 一种日志记录方法、装置及系统 | |
CN102833241B (zh) | 流媒体业务流量记录合并处理方法及装置 | |
CN108833934B (zh) | 获取视频数据的方法、服务器和系统 | |
CN108810575B (zh) | 一种发送目标视频的方法和装置 | |
US20150319210A1 (en) | Method and apparatus for handling files in association with media content delivery | |
CN115866281A (zh) | 一种直播流传输方法及装置、存储介质 | |
CN106412492B (zh) | 视频数据处理方法和装置 | |
CN115550678A (zh) | 直播视频处理方法、装置及存储介质 | |
CN113438503B (zh) | 视频文件还原方法、装置、计算机设备和存储介质 | |
US9130827B2 (en) | Sampling from distributed streams of data | |
CN111835801A (zh) | 文件下载方法、装置、服务器、边缘设备、终端及介质 | |
JP2004159042A (ja) | 情報処理装置および方法、並びにプログラム | |
US20140267787A1 (en) | System and method for monitoring video performance | |
CN110324608B (zh) | 视频流质量的检测方法、装置和计算机设备 | |
CN113301100A (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 |