一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

直播流转推处理方法及装置与流程

2023-02-01 14:44:17 来源:中国专利 TAG:
1.本技术实施例涉及互联网
技术领域
:,具体涉及一种直播流转推处理方法及装置。
背景技术
::2.在直播系统中,主播推流到边缘计算节点,边缘计算节点转推给内容分发网络(contentdeliverynetwork,cdn)或者自己搭建的其他服务机器(例如转码集群等),图1示出了现有技术中直播流传输过程示意图,如图1所示,主播端将直播流数据推送至边缘计算节点,边缘计算节点分别将直播流数据通过公网转推给了cdn以及转码集群;进一步地,转码集群可以通过转码,给主播所在的房间提供更多的观看清晰度选择。3.其中,现有技术中推流普遍使用路由选择表维护协议(routingtablemaintenanceprotocol,rtmp),rtmp协议是基于传输控制协议(transmissioncontrolprotocol,tcp)的,因此,一旦中间公网传输过程中的某一个时刻传输发生抖动,后面会一直抖动下去,无法自动恢复,发生这个情况,其实只要断开传输,重新建立传输链接就可以恢复正常。4.但是整个直播平台在同一时间通常需要维护很多条直播流数据,不能时刻对比主播端推送的直播流数据和边缘计算节点转推出去的直播流数据是否是稳定的,只有当用户反馈转推质量差并主动断开传输才会恢复,因此,如何精准发现转推质量问题并及时重新建立传输链接,以提升直播流传输业务质量,是亟待解决的技术问题。技术实现要素:5.鉴于上述问题,本技术提出了一种直播流转推处理方法、装置、计算设备及计算机存储介质,用于解决以下问题:现有技术无法精准发现转推质量问题并很难及时进行转推恢复,导致直播流传输业务质量较低。6.根据本技术实施例的一个方面,提供了一种直播流转推处理方法,包括:7.在主播端向边缘计算节点推送直播流数据的过程中,采集直播流数据对应的推送性能数据;8.在边缘计算节点向转推设备转推直播流数据的过程中,采集直播流数据对应的转推性能数据;9.根据推送性能数据和转推性能数据,对直播流数据在转推过程中的抖动情况进行分析,得到转推抖动分析结果;10.若转推抖动分析结果为转推过程存在持续抖动情况,则执行转推抖动恢复任务。11.进一步地,采集直播流数据对应的推送性能数据进一步包括:依据预设采样周期设置采样点,按照采样点从主播端中采集直播流数据对应的推送性能数据。12.采集直播流数据对应的转推性能数据进一步包括:按照采样点从边缘计算节点或者转推设备中采集直播流数据对应的转推性能数据。13.进一步地,根据推送性能数据和转推性能数据,对直播流数据在转推过程中的抖动情况进行分析,得到转推抖动分析结果进一步包括:14.将推送性能数据划分成多个预设时间周期对应的第一集合,将转推性能数据划分成多个预设时间周期对应的第二集合;15.针对多个预设时间周期中的每个预设时间周期,对该预设时间周期对应的第一集合进行分析得到该预设时间周期对应的推送抖动参数,对该预设时间周期对应的第二集合进行分析得到该预设时间周期对应的转推抖动参数;16.对连续的第一预设数量的预设时间周期对应的推送抖动参数和对应的转推抖动参数进行分析,得到转推抖动分析结果。17.进一步地,将推送性能数据划分成多个预设时间周期对应的第一集合,将转推性能数据划分成多个预设时间周期对应的第二集合进一步包括:18.将在每个预设时间周期内采集到的推送性能数据形成该预设时间周期对应的第一集合,将在每个预设时间周期内采集到的转推性能数据形成该预设时间周期对应的第二集合。19.进一步地,针对多个预设时间周期中的每个预设时间周期,对该预设时间周期对应的第一集合进行分析得到该预设时间周期对应的推送抖动参数,对该预设时间周期对应的第二集合进行分析得到该预设时间周期对应的转推抖动参数进一步包括:20.计算该预设时间周期对应的第一集合中任意两个相邻的推送性能数据之间的差值得到多个第一差分值,将多个第一差分值之和作为该预设时间周期对应的推送抖动参数;21.计算该预设时间周期对应的第二集合中任意两个相邻的转推性能数据之间的差值得到多个第二差分值,将多个第二差分值之和作为该预设时间周期对应的转推抖动参数。22.进一步地,对连续的第一预设数量的预设时间周期对应的推送抖动参数和对应的转推抖动参数进行分析,得到转推抖动分析结果进一步包括:23.针对连续的第一预设数量的预设时间周期中的每个预设时间周期,将该预设时间周期对应的推送抖动参数和该预设时间周期对应的转推抖动参数分别与预设抖动阈值进行比对,得到该预设时间周期对应的比对结果,并根据该预设时间周期对应的比对结果,确定该预设时间周期对应的周期抖动分析结果;24.分析连续的第一预设数量的预设时间周期对应的周期抖动分析结果,确定转推抖动分析结果。25.进一步地,根据该预设时间周期对应的比对结果,确定该预设时间周期对应的周期抖动分析结果进一步包括:26.若该预设时间周期对应的比对结果为推送抖动参数小于预设抖动阈值且转推抖动参数大于或等于预设抖动阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程存在抖动情况;27.若该预设时间周期对应的比对结果为推送抖动参数大于或等于预设抖动阈值且转推抖动参数大于或等于预设抖动阈值,则确定该预设时间周期对应的周期抖动分析结果为主播端推送过程和转推过程均存在抖动情况。28.进一步地,根据该预设时间周期对应的比对结果,确定该预设时间周期对应的周期抖动分析结果进一步包括:29.若该预设时间周期对应的比对结果为推送抖动参数小于预设抖动阈值且转推抖动参数小于预设抖动阈值,则根据该预设时间周期对应的第一集合和该预设时间周期对应的第二集合,确定该预设时间周期对应的周期抖动分析结果。30.进一步地,根据该预设时间周期对应的第一集合和该预设时间周期对应的第二集合,确定该预设时间周期对应的周期抖动分析结果进一步包括:31.根据该预设时间周期对应的第一集合和该预设时间周期对应的第二集合,计算该预设时间周期对应的转推抖动占比;32.若该预设时间周期对应的转推抖动占比小于预设占比阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程未存在抖动情况;33.若该预设时间周期对应的转推抖动占比大于或等于预设占比阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程存在抖动情况。34.进一步地,根据该预设时间周期对应的第一集合和该预设时间周期对应的第二集合,计算该预设时间周期对应的转推抖动占比进一步包括:35.针对该预设时间周期对应的第一集合中的每个推送性能数据,从该预设时间周期对应的第二集合中获取该推送性能数据对应的转推性能数据,利用该推送性能数据和该推送性能数据对应的转推性能数据计算对应的转推抖动幅度,并将转推抖动幅度添加至该预设时间周期对应的第三集合中;36.依据该预设时间周期对应的第三集合,计算该预设时间周期对应的转推抖动占比。37.进一步地,依据该预设时间周期对应的第三集合,计算该预设时间周期对应的转推抖动占比进一步包括:38.若该预设时间周期对应的第三集合中任一转推抖动幅度大于预设幅度阈值,则将该转推抖动幅度作为异常幅度;39.将异常幅度的数量在该预设时间周期对应的第三集合中的占比作为该预设时间周期对应的转推抖动占比。40.进一步地,分析连续的第一预设数量的预设时间周期对应的周期抖动分析结果,确定转推抖动分析结果进一步包括:41.统计连续的第一预设数量的预设时间周期对应的周期抖动分析结果中包括转推过程存在抖动情况的周期抖动分析结果的目标数量;42.若目标数量大于第二预设数量,则确定转推抖动分析结果为转推过程存在持续抖动情况;若目标数量小于或等于第二预设数量,则确定转推抖动分析结果为转推过程不存在持续抖动情况。43.进一步地,执行转推抖动恢复任务进一步包括:44.断开对应的转推链路的链接,并重新建立转推链路的链接。45.进一步地,推送性能数据包括:主播端向边缘计算节点推送直播流数据的每秒传输帧数和/或传输码率;46.转推性能数据包括:边缘计算节点向转推设备转推直播流数据的每秒传输帧数和/或传输码率;或者,转推性能数据包括:转推设备接收到的直播流数据的每秒传输帧数和/或传输码率。47.根据本技术实施例的另一方面,提供了一种直播流转推处理装置,包括:48.数据采集模块,用于在主播端向边缘计算节点推送直播流数据的过程中,采集直播流数据对应的推送性能数据;在边缘计算节点向转推设备转推直播流数据的过程中,采集直播流数据对应的转推性能数据;49.分析模块,用于根据推送性能数据和转推性能数据,对直播流数据在转推过程中的抖动情况进行分析,得到转推抖动分析结果;50.处理模块,用于若转推抖动分析结果为转推过程存在持续抖动情况,则执行转推抖动恢复任务。51.根据本技术实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;52.存储器用于存放至少一可执行指令,可执行指令使处理器执行上述一种直播流转推处理方法对应的操作。53.根据本技术实施例的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述一种直播流转推处理方法对应的操作。54.根据本技术实施例提供的一种直播流转推处理方法及装置,通过在主播端向边缘计算节点推送直播流数据的过程中,采集直播流数据对应的推送性能数据;在边缘计算节点向转推设备转推直播流数据的过程中,采集直播流数据对应的转推性能数据;根据推送性能数据和转推性能数据,对直播流数据在转推过程中的抖动情况进行分析,得到转推抖动分析结果;若转推抖动分析结果为转推过程存在持续抖动情况,则执行转推抖动恢复任务。该方法通过在主播端向边缘计算节点推送直播流数据、以及边缘计算节点向转推设备转推直播流数据的过程中,采集推送性能数据和转推性能数据,分析抖动情况,该方式可以兼容各种场景,并依据持续抖动情况可以自动地执行转推抖动恢复任务,来及时解决转推异常的情况,节省人力的同时,提高了转推响应速度和直播质量;本技术通过采样主播端推送过程和转推过程的fps作为对应的性能数据,计算相邻两个fps的差值,应用一阶差分原理,可以检测相邻fps之间的平稳性从而确定转推抖动情况;针对主播端的推流性能数据稳定,转推性能数据微弱不稳定的情况,通过计算抖动幅度,通过额外的算法兼容该情况,从而更准确地确定和分辨转推不稳定的情况,更好地提升用户体验。55.上述说明仅是本技术实施例技术方案的概述,为了能够更清楚了解本技术实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本技术实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术实施例的具体实施方式。附图说明56.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本技术实施例的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:57.图1示出了现有技术中直播流传输过程示意图;58.图2示出了根据本技术一个实施例的一种直播流转推处理方法的流程示意图;59.图3示出了根据本技术另一个实施例的一种直播流转推处理方法的流程示意图;60.图4示出了根据本技术一个实施例的一种直播流转推处理装置的结构框图;61.图5示出了根据本技术一个实施例的一种计算设备的结构示意图。具体实施方式62.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。63.首先,对本技术一个或多个实施例涉及的名词术语进行解释。64.直播流数据:直播音视频数据的传输,它能够被作为一个稳定的和连续的流通过网络传输给观众观看。65.主播端推流:是指通过主播用户通过直播推流工具将直播流数据推送到指定的流媒体服务器的过程。66.内容分发网络(cdn):是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。67.推送性能数据:是在主播端将直播流数据推送到边缘计算节点的过程(即推流过程)中采集到的能够用于反映推送性能的数据,该数据可以反映推流过程是否稳定。68.转推性能数据:是在边缘计算节点向cdn等转推设备转推直播流数据的过程中采集到的能够用于反映转推性能的数据,该数据可以反映转推过程是否稳定。69.边缘计算节点:本技术实例中的边缘计算节点是指上行边缘计算节点,用于接收主播端推送的直播流数据的流媒体服务节点。70.边缘计算:是一种分布式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。71.路由选择表维护协议(rtmp):是用来进行实时数据通信的网络协议,主要用来在跨操作系统运行(flash/air平台)和支持rtmp协议的流媒体/交互服务器之间进行音视频和数据通信。72.每秒传输帧数(framespersecond,fps):是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。fps是测量用于保存、显示动态视频的信息数量。每秒钟帧数越多,所显示的动作就会越流畅。73.图2示出了根据本技术一个实施例的一种直播流转推处理方法的流程示意图,如图2所示,该方法包括如下步骤:74.步骤s210:在主播端向边缘计算节点推送直播流数据的过程中,采集直播流数据对应的推送性能数据。75.步骤s220:在边缘计算节点向转推设备转推直播流数据的过程中,采集直播流数据对应的转推性能数据。76.由图1的直播流传输过程示意图可见,在直播系统中,主播端将直播流数据推送到边缘计算节点,将在主播端推送过程(即推流过程)中采集到的推送性能数据简称为数据a;边缘计算节点将直播流数据转推给转推设备,转推设备可以包括cdn以及转码集群等;图1中示出了边缘计算节点通过公网将直播流数据转推给cdn,将在该公网转推过程中采集到的转推性能数据简称为数据b;图1中还示出了边缘计算节点通过公网传输将直播流数据转推给了转码集群,转码集群可以依据直播流数据进行转码,给主播所在的房间提供更多的观看清晰度选择,其中,将从边缘计算节点采集到的边缘计算节点转推出去的直播流数据对应的转推性能数据简称为数据c,将从转码集群采集到的转码集群接收到的直播流数据对应的转推性能数据简称为数据d。77.在步骤s210中,在主播端向边缘计算节点推送直播流数据的过程中,也就是图1中的推流过程中,依据预设采样周期(例如每隔1秒等)设置采样点,按照采样点从主播端中采集直播流数据对应的推送性能数据,即采集数据a。在步骤s220中,也可以按照采样点从边缘计算节点或者转推设备中采集直播流数据对应的转推性能数据,其中,当转推设备为cdn时,在边缘计算节点向cdn转推直播流数据的过程中,可以从边缘计算节点采集直播流数据对应的转推性能数据,即采集数据b;当转推设备为转码集群时,在边缘计算节点向转码集群转推直播流数据的过程中,可以从边缘计算节点采集直播流数据对应的转推性能数据,即采集数据c,或者也可以从转码集群采集直播流数据对应的转推性能数据,即采集数据d。78.单个直播流的卡顿是指当一个直播流的传输在短时间内发生变化,且该变化超过一定的预设幅度,则说明该流发生流抖动,会导致用户观看卡顿。79.在直播领域中,主播端通过较为稳定的fps传输速率向云端服务器中的上行的边缘计算节点发送数据,若边缘计算节点处理数据一切正常,则收到的fps数值始终是稳定的;若边缘计算节点发生数据异常或者负载过高,则边缘计算节点无法处理更多的帧数,只能接收主播端传输的部分帧数,其他帧数会存储在主播端,等待边缘计算节点的负载恢复正常后会在瞬间接收到之前未接收的传输帧数,这样就导致前后传输的fps的数值变动幅度较大;在边缘计算节点向转推设备转推直播流数据的过程中,也是同样的道理。80.在本实施例中,推送性能数据是指在主播端将直播流数据推送到边缘计算节点的过程中采集到的能够用于反映推送性能的数据,而转推性能数据是指在边缘计算节点向cdn等转推设备转推直播流数据的过程中采集到的能够用于反映转推性能的数据,转推性能数据可以是从边缘计算节点采集到的,也可以是从转推设备采集到的。具体地,推送性能数据可以包括:主播端向边缘计算节点推送直播流数据的每秒传输帧数和/或传输码率等数据。转推性能数据可以包括:边缘计算节点向转推设备转推直播流数据的每秒传输帧数和/或传输码率等数据;或者,转推性能数据可以包括:转推设备接收到的直播流数据的每秒传输帧数和/或传输码率等数据。在实际应用场景中,为了能够便于分析转推抖动分析结果,可以使用fps作为卡顿的判断因素,即推流性能数据和转推性能数据可以包括fps等数据。81.步骤s230:根据推送性能数据和转推性能数据,对直播流数据在转推过程中的抖动情况进行分析,得到转推抖动分析结果。82.具体地说,通过对推流性能数据和转推性能数据进行对比、计算等,对直播流数据在转推过程中的抖动情况进行分析,得到转推抖动分析结果,例如,可以预设一个抖动范围,若符合该预设抖动范围,可以判定转推过程中发生持续抖动。83.步骤s240:若转推抖动分析结果为转推过程存在持续抖动情况,则执行转推抖动恢复任务。84.在本步骤中,若转推抖动分析结果为转推过程存在持续抖动情况,说明直播流数据的转推质量较差,则可以通过断开对应的转推链路的链接,并重新建立转推链路的链接来执行转推抖动恢复任务;具体地,在边缘计算节点向cdn转推直播流数据的过程中,可以通过断开图1中示出的公网转推b对应的链接从而中断转推链路的链接;在边缘计算节点向转码集群转推直播流数据的过程中,可以通过断开图1中示出的转推c对应的链接从而中断转推链路的链接;而后重新建立链接。85.根据本技术实施例提供的一种直播流转推处理方法,通过在主播端向边缘计算节点推送直播流数据的过程中,采集直播流数据对应的推送性能数据;在边缘计算节点向转推设备转推直播流数据的过程中,采集直播流数据对应的转推性能数据;根据推送性能数据和转推性能数据,对直播流数据在转推过程中的抖动情况进行分析,得到转推抖动分析结果;若转推抖动分析结果为转推过程存在持续抖动情况,则执行转推抖动恢复任务。该方法通过在主播端向边缘计算节点推送直播流数据、以及边缘计算节点向转推设备转推直播流数据的过程中,采集推送性能数据和转推性能数据,分析抖动情况,该方式可以兼容各种场景,并依据持续抖动情况可以自动地执行转推抖动恢复任务,来及时解决转推异常的情况,节省人力的同时,提高了转推响应速度和直播质量。86.图3示出了根据本技术另一个实施例的一种直播流转推处理方法的流程示意图,如图3所示,该方法包括如下步骤:87.步骤s310:在主播端向边缘计算节点推送直播流数据的过程中,依据预设采样周期设置采样点,按照采样点从主播端中采集直播流数据对应的推送性能数据。88.在本步骤中,可以依据预设采样周期设置采样点,例如每隔1秒设置一个采样点,按照采样点,在主播端向边缘计算节点推送直播流数据的过程中,从主播端中不断地采集直播流数据对应的推送性能数据,例如每隔1秒采集一次直播流数据对应的推送性能数据。89.步骤s320:在边缘计算节点向转推设备转推直播流数据的过程中,按照采样点从边缘计算节点或者转推设备中采集直播流数据对应的转推性能数据。90.在边缘计算节点向cdn或转码集群等转推设备转推直播流数据的过程中,也按照所设置的采样点,不断地从边缘计算节点或者转推设备中采集直播流数据对应的转推性能数据,例如每隔1秒采集一次直播流数据对应的转推性能数据。91.步骤s330:将推送性能数据划分成多个预设时间周期对应的第一集合,将转推性能数据划分成多个预设时间周期对应的第二集合。92.一般来说,按照预设时间周期将采集到的推流性能数据和转推性能数据分别形成对应的集合,其中,将在每个预设时间周期内采集到的推送性能数据形成该预设时间周期对应的第一集合,将在每个预设时间周期内采集到的转推性能数据形成该预设时间周期对应的第二集合。例如,预设时间周期为20s,每隔1s设置一个采样点,每到采样点采集一次推流性能数据和转推性能数据。每当能够采集到这20s这段时间内产生的多个推流性能数据时,形成一个第一集合,即预设时间周期对应的第一集合;每当能够采集到这20s这段时间内产生的多个转推性能数据时,形成一个第二集合,即预设时间周期对应的第二集合。多个采样点采集到的推流性能数据形成一个第一集合,采样点与第一集合内的推流性能数据之间具有一一对应关系;多个采样点采集到的转推性能数据形成一个第二集合,采样点与第二集合内的转推性能数据之间也具有一一对应关系。93.步骤s340:针对多个预设时间周期中的每个预设时间周期,对该预设时间周期对应的第一集合进行分析得到该预设时间周期对应的推送抖动参数,对该预设时间周期对应的第二集合进行分析得到该预设时间周期对应的转推抖动参数。94.根据第一集合内的多个推流性能数据,计算直播流数据在该第一集合对应的时间周期内是否发生抖动,在本实施例中,可以计算直播流数据在当前时间周期的推流抖动参数和转推抖动参数,例如,以20s为预设时间周期、推流抖动参数和转推抖动参数为fps为例,假设得到的第一集合为(15,32,48,48,20,29,30,31,30,32,35,36,30,29,28,45,29,30,27,28)。95.在一种可选的实施方式中,步骤s340进一步包括:计算该预设时间周期对应的第一集合中任意两个相邻的推送性能数据之间的差值得到多个第一差分值,将多个第一差分值之和作为该预设时间周期对应的推送抖动参数;计算该预设时间周期对应的第二集合中任意两个相邻的转推性能数据之间的差值得到多个第二差分值,将多个第二差分值之和作为该预设时间周期对应的转推抖动参数。96.具体地说,可以采用一阶差分计算方式计算第一差分值和第二差分值。一阶差分是依据集合中相邻值之间的差值来检测时间序列的平稳性。计算过程为:设函数y=f(x),式中,y只对x在非负整数值上有定义,在自变量x依次取遍非负整数,即x=0,1,2,…时,相应的函数值为:97.f(0),f(1),f(2),f(3),…;简记为:y0,y1,y2,y3,…;98.定义1:当自变量从x变为x 1时,函数y=y(x)的改变量为下式(1):99.δyx=y(x 1)-y(x),(x=0,1,2,…);(1)100.上式(1)称为函数y(x)在点x的一阶差分,通常记作下式(2):101.δyx=yx 1-yx,(x=0,1,2,…);(2)102.假设某个预设时间周期对应的第一集合为(15,32,48,48,20,29,30,31,30,32,35,36,30,29,28,45,29,30,27,28),计算该第一集合中任意两个相邻的推送性能数据之间的差值得到多个第一差分值,将多个第一差分值之和作为该预设时间周期对应的推送抖动参数;例如第一集合中第一个推流性能数据为15,第二个推流性能数据为32,则计算得到的第一差分值为17,依次可得到多个第一差分值,将多个第一差分值之和作为该预设时间周期对应的推送抖动参数。按照类似的方法计算得到转推抖动参数。通过计算得到每个预设时间周期对应的推流抖动参数和对应的转推抖动参数进行分析,判断在每个预设时间周期内直播流数据的转推过程是否存在抖动情况。103.步骤s350:对连续的第一预设数量的预设时间周期对应的推送抖动参数和对应的转推抖动参数进行分析,得到转推抖动分析结果。104.在一种可选的实施方式中,步骤s350进一步包括:针对连续的第一预设数量的预设时间周期中的每个预设时间周期,将该预设时间周期对应的推送抖动参数和该预设时间周期对应的转推抖动参数分别与预设抖动阈值进行比对,得到该预设时间周期对应的比对结果,并根据该预设时间周期对应的比对结果,确定该预设时间周期对应的周期抖动分析结果;分析连续的第一预设数量的预设时间周期对应的周期抖动分析结果,确定转推抖动分析结果。105.针对某个预设时间周期,以该预设时间周期对应的推送抖动参数a’和该预设时间周期对应的转推抖动参数b’为例,在一种可选的实施方式中,根据该预设时间周期对应的比对结果,确定该预设时间周期对应的周期抖动分析结果进一步包括下述几种情况:106.情况1:若该预设时间周期对应的比对结果为推送抖动参数小于预设抖动阈值且转推抖动参数大于或等于预设抖动阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程存在抖动情况。107.具体地,情况1的判断条件为a’<预设抖动阈值且b’≥预设抖动阈值;该情况说明主播端推流稳定,但是转推过程中直播流数据存在抖动情况。108.情况2:若该预设时间周期对应的比对结果为推送抖动参数大于或等于预设抖动阈值且转推抖动参数大于或等于预设抖动阈值,则确定该预设时间周期对应的周期抖动分析结果为主播端推送过程和转推过程均存在抖动情况。109.具体地,情况2的判断条件为a’≥预设抖动阈值且b’≥预设抖动阈值,该情况说明主播端推流和转推过程中直播流数据不稳定,均存在抖动情况。110.情况3:若该预设时间周期对应的比对结果为推送抖动参数小于预设抖动阈值且转推抖动参数小于预设抖动阈值,则根据该预设时间周期对应的第一集合和该预设时间周期对应的第二集合,确定该预设时间周期对应的周期抖动分析结果。111.具体地,情况3的判断条件为a’<预设抖动阈值且b’<预设抖动阈值,该情况说明主播端推流稳定,然而,该情况中虽然b’小于预设抖动阀值,但是为了防止误报警,预设抖动阀值一般会设置的比较高,从而可以兼容一般的抖动情况,但是转推不稳定会明显地影响直播质量,因此需要深入判断转推是否稳定。112.在一种可选的实施方式中,针对情况3,可根据该预设时间周期对应的第一集合和该预设时间周期对应的第二集合,计算该预设时间周期对应的转推抖动占比;若该预设时间周期对应的转推抖动占比小于预设占比阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程未存在抖动情况;若该预设时间周期对应的转推抖动占比大于或等于预设占比阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程存在抖动情况。113.具体地,针对该预设时间周期对应的第一集合中的每个推送性能数据,从该预设时间周期对应的第二集合中获取该推送性能数据对应的转推性能数据,利用该推送性能数据和该推送性能数据对应的转推性能数据计算对应的转推抖动幅度,并将转推抖动幅度添加至该预设时间周期对应的第三集合中;依据该预设时间周期对应的第三集合,计算该预设时间周期对应的转推抖动占比。114.具体地,依据该预设时间周期对应的第三集合,计算该预设时间周期对应的转推抖动占比进一步包括:若该预设时间周期对应的第三集合中任一转推抖动幅度大于预设幅度阈值,则将该转推抖动幅度作为异常幅度;将异常幅度的数量在该预设时间周期对应的第三集合中的占比作为该预设时间周期对应的转推抖动占比。115.针对情况3,可以通过将推流性能数据中的fps和对应的转推性能数据中的fps进行一一比对和计算,从而确定该预设时间周期对应的周期抖动分析结果。针对该预设时间周期对应的第一集合中的每个推送性能数据,从该预设时间周期对应的第二集合中获取该推送性能数据对应的转推性能数据,利用该推送性能数据和该推送性能数据对应的转推性能数据计算对应的转推抖动幅度,其中,转推抖动幅度计算公式如下式(3):116.转推抖动幅度=|(推流性能数据中的fps-转推性能数据中的fps)|/推流性能数据中的fps;(3)117.其中,式(3)中的“||”表示求绝对值。若转推抖动幅度大于预设幅度阈值,说明是该采样点对应的转推过程是抖动的,则将该转推抖动幅度作为异常幅度;若在第三集合内,异常幅度的数量超过一定的占比,则说明该第三集合转推是不稳定的。118.例如,以预设幅度阈值为10%,预设占比阈值为30%为例,第一集合中推流性能数据的fps为(30,30,29,26,26,31,28),第二集合中转推性能数据的fps为(28,35,28,33,30,25,28),依据上式(3)计算得到对应的转推抖动幅度,形成的第三集合为(6.6%,16.6%,3.4%,13.3%,3.8%,19.3%,0%),预设幅度阈值为10%,那么第三集合中转推抖动幅度大于10%即为异常幅度,则第三集合的7个转推抖动幅度中,有3个转推抖动幅度都是异常幅度,转推抖动占比为3/7=42%,大于预设占比阀值30%,则确定该预设时间周期对应的周期抖动分析结果为转推过程存在抖动情况。119.具体地,分析连续的第一预设数量的预设时间周期对应的周期抖动分析结果,确定转推抖动分析结果进一步包括:统计连续的第一预设数量的预设时间周期对应的周期抖动分析结果中包括转推过程存在抖动情况的周期抖动分析结果的目标数量;若目标数量大于第二预设数量,则确定转推抖动分析结果为转推过程存在持续抖动情况;若目标数量小于或等于第二预设数量,则确定转推抖动分析结果为转推过程不存在持续抖动情况。120.具体地说,以20s为预设时间周期为例,则以20s内采集到的推送性能数据和转推性能数据形成对应的集合,第一集合和第二集合中包括20个数据,首先分别判断第一集合中和第二集合中是否存在抖动情况,统计连续多个20s时间周期对应的周期抖动分析结果中包括转推过程存在抖动情况的周期抖动分析结果的目标数量;若目标数量大于第二预设数量,则确定转推抖动分析结果为转推过程存在持续抖动情况。例如,以3分钟为一个持续抖动分析时间周期,3分钟共包括9个20s的预设时间周期,统计连续的9个20s对应的周期抖动分析结果中包括转推过程存在抖动情况的周期抖动分析结果的目标数量。例如,目标数量为n,若n大于第二预设数量,确定转推抖动分析结果为转推过程存在持续抖动情况,则继续执行步骤s360;若n小于或等于第二预设数量,则不进行处理。其中,第二预设数量小于第一预设数量。121.步骤s360:若转推抖动分析结果为转推过程存在持续抖动情况,则断开对应的转推链路的链接,并重新建立转推链路的链接。122.在本步骤中,若转推抖动分析结果为转推过程存在持续抖动情况,调用相关接口,断开对应的转推链路的链接,并重新建立转推链路的链接。具体地,在边缘计算节点向cdn转推直播流数据的过程中,可以通过断开图1中示出的公网转推b对应的链接从而中断转推链路的链接;在边缘计算节点向转码集群转推直播流数据的过程中,可以通过断开图1中示出的转推c对应的链接从而中断转推链路的链接;而后重新建立链接。123.根据本技术实施例提供的一种直播流转推处理方法,通过在主播端向边缘计算节点推送直播流数据、以及边缘计算节点向转推设备转推直播流数据的过程中,采集推送性能数据和转推性能数据,分析抖动情况,该方式可以兼容各种场景,并依据持续抖动情况可以自动地执行转推抖动恢复任务,来及时解决转推异常的情况,节省人力的同时,提高了转推响应速度和直播质量;本技术通过采样主播端推送过程和转推过程的fps作为对应的性能数据,计算相邻两个fps的差值,应用一阶差分原理,可以检测相邻fps之间的平稳性从而确定转推抖动情况;针对主播端的推流性能数据稳定,转推性能数据微弱不稳定的情况,通过计算抖动幅度,通过额外的算法兼容该情况,从而更准确地确定和分辨转推不稳定的情况,更好地提升用户体验。124.图4示出了根据本技术一个实施例的一种直播流转推处理装置的结构框图,如图4所示,该装置包括:数据采集模块410、分析模块420和处理模块430。125.数据采集模块410,用于在主播端向边缘计算节点推送直播流数据的过程中,采集直播流数据对应的推送性能数据;在边缘计算节点向转推设备转推直播流数据的过程中,采集直播流数据对应的转推性能数据。126.在一种可选的实施方式中,数据采集模块410进一步用于:依据预设采样周期设置采样点,按照采样点从主播端中采集直播流数据对应的推送性能数据;按照采样点从边缘计算节点或者转推设备中采集直播流数据对应的转推性能数据。127.其中,推送性能数据包括:主播端向边缘计算节点推送直播流数据的每秒传输帧数和/或传输码率。转推性能数据包括:边缘计算节点向转推设备转推直播流数据的每秒传输帧数和/或传输码率;或者,转推性能数据包括:转推设备接收到的直播流数据的每秒传输帧数和/或传输码率。128.分析模块420,用于根据推送性能数据和转推性能数据,对直播流数据在转推过程中的抖动情况进行分析,得到转推抖动分析结果。129.在一种可选的实施方式中,分析模块420进一步用于:将推送性能数据划分成多个预设时间周期对应的第一集合,将转推性能数据划分成多个预设时间周期对应的第二集合;针对多个预设时间周期中的每个预设时间周期,对该预设时间周期对应的第一集合进行分析得到该预设时间周期对应的推送抖动参数,对该预设时间周期对应的第二集合进行分析得到该预设时间周期对应的转推抖动参数;对连续的第一预设数量的预设时间周期对应的推送抖动参数和对应的转推抖动参数进行分析,得到转推抖动分析结果。130.在一种可选的实施方式中,分析模块420进一步用于:将在每个预设时间周期内采集到的推送性能数据形成该预设时间周期对应的第一集合,将在每个预设时间周期内采集到的转推性能数据形成该预设时间周期对应的第二集合。131.在一种可选的实施方式中,分析模块420进一步用于:计算该预设时间周期对应的第一集合中任意两个相邻的推送性能数据之间的差值得到多个第一差分值,将多个第一差分值之和作为该预设时间周期对应的推送抖动参数;计算该预设时间周期对应的第二集合中任意两个相邻的转推性能数据之间的差值得到多个第二差分值,将多个第二差分值之和作为该预设时间周期对应的转推抖动参数。132.在一种可选的实施方式中,分析模块420进一步用于:针对连续的第一预设数量的预设时间周期中的每个预设时间周期,将该预设时间周期对应的推送抖动参数和该预设时间周期对应的转推抖动参数分别与预设抖动阈值进行比对,得到该预设时间周期对应的比对结果,并根据该预设时间周期对应的比对结果,确定该预设时间周期对应的周期抖动分析结果;分析连续的第一预设数量的预设时间周期对应的周期抖动分析结果,确定转推抖动分析结果。133.在一种可选的实施方式中,分析模块420进一步用于:若该预设时间周期对应的比对结果为推送抖动参数小于预设抖动阈值且转推抖动参数大于或等于预设抖动阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程存在抖动情况;若该预设时间周期对应的比对结果为推送抖动参数大于或等于预设抖动阈值且转推抖动参数大于或等于预设抖动阈值,则确定该预设时间周期对应的周期抖动分析结果为主播端推送过程和转推过程均存在抖动情况。134.在一种可选的实施方式中,分析模块420进一步用于:若该预设时间周期对应的比对结果为推送抖动参数小于预设抖动阈值且转推抖动参数小于预设抖动阈值,则根据该预设时间周期对应的第一集合和该预设时间周期对应的第二集合,确定该预设时间周期对应的周期抖动分析结果。135.在一种可选的实施方式中,分析模块420进一步用于:根据该预设时间周期对应的第一集合和该预设时间周期对应的第二集合,计算该预设时间周期对应的转推抖动占比;若该预设时间周期对应的转推抖动占比小于预设占比阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程未存在抖动情况;若该预设时间周期对应的转推抖动占比大于或等于预设占比阈值,则确定该预设时间周期对应的周期抖动分析结果为转推过程存在抖动情况。136.在一种可选的实施方式中,分析模块420进一步用于:针对该预设时间周期对应的第一集合中的每个推送性能数据,从该预设时间周期对应的第二集合中获取该推送性能数据对应的转推性能数据,利用该推送性能数据和该推送性能数据对应的转推性能数据计算对应的转推抖动幅度,并将转推抖动幅度添加至该预设时间周期对应的第三集合中;依据该预设时间周期对应的第三集合,计算该预设时间周期对应的转推抖动占比。137.在一种可选的实施方式中,分析模块420进一步用于:若该预设时间周期对应的第三集合中任一转推抖动幅度大于预设幅度阈值,则将该转推抖动幅度作为异常幅度;将异常幅度的数量在该预设时间周期对应的第三集合中的占比作为该预设时间周期对应的转推抖动占比。138.在一种可选的实施方式中,分析模块420进一步用于:统计连续的第一预设数量的预设时间周期对应的周期抖动分析结果中包括转推过程存在抖动情况的周期抖动分析结果的目标数量;若目标数量大于第二预设数量,则确定转推抖动分析结果为转推过程存在持续抖动情况;若目标数量小于或等于第二预设数量,则确定转推抖动分析结果为转推过程不存在持续抖动情况。139.处理模块430,用于若转推抖动分析结果为转推过程存在持续抖动情况,则执行转推抖动恢复任务。140.在一种可选的实施方式中,处理模块430进一步用于:断开对应的转推链路的链接,并重新建立转推链路的链接。141.以上各模块的描述参照方法实施例中对应的描述,在此不再赘述。142.根据本技术实施例提供的一种直播流转推处理装置,通过在主播端向边缘计算节点推送直播流数据、以及边缘计算节点向转推设备转推直播流数据的过程中,采集推送性能数据和转推性能数据,分析抖动情况,该方式可以兼容各种场景,并依据持续抖动情况可以自动地执行转推抖动恢复任务,来解决转推异常的情况,节省人力的同时,提高了转推响应速度和直播质量;该装置通过采样主播端推送过程和转推过程的fps作为对应的性能数据,计算相邻两个fps的差值,应用一阶差分原理,可以检测相邻fps之间的平稳性从而确定转推抖动情况;针对主播端的推流性能数据稳定,转推性能数据微弱不稳定的情况,通过计算抖动幅度,通过额外的算法兼容该情况,从而更准确地确定和分辨转推不稳定的情况,更好地提升用户体验。143.本技术实施例还提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,可执行指令可执行上述任意方法实施例中的一种直播流转推处理方法。144.图5示出了根据本技术实施例的一种计算设备的结构示意图,本技术实施例的具体实施例并不对计算设备的具体实现做限定。145.如图5所示,该计算设备可以包括:处理器(processor)502、通信接口(communicationsinterface)504、存储器(memory)506、以及通信总线608。146.其中:147.处理器502、通信接口504、以及存储器506通过通信总线508完成相互间的通信。148.通信接口504,用于与其它设备比如客户端或其它服务器等的网元通信。149.处理器502,用于执行程序510,具体可以执行上述直播流转推处理方法实施例中的相关步骤。150.具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。151.处理器502可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本技术实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。152.存储器506,用于存放程序510。存储器506可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。153.程序510具体可以用于使得处理器502执行上述任意方法实施例中的一种直播流转推处理方法。程序510中各步骤的具体实现可以参见上述一种直播流转推处理方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。154.在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本技术实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本技术实施例的内容,并且上面对特定语言所做的描述是为了披露本技术实施例的最佳实施方式。155.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本技术实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。156.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本技术实施例的示例性实施例的描述中,本技术实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本技术实施例要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本技术实施例的单独实施例。157.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。158.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本技术实施例的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。159.本技术实施例的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本技术实施例中的一些或者全部部件的一些或者全部功能。本技术实施例还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本技术实施例的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。160.应该注意的是上述实施例对本技术实施例进行说明而不是对本技术实施例进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本技术实施例可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献