直播清晰度切换防卡死方法及装置与流程
未命名
09-22
阅读:79
评论:0

1.本技术涉及直播领域,特别涉及直播清晰度切换防卡死方法及装置。
背景技术:
2.随着移动互联网和直播应用的快速发展,直播行业的影响力越来越大,直播软件的功能也越来越强大。但是,直播软件中直播间的功能通常较为单一,对于直播视频的操作支持也相对较少,相关技术中并不能在直播间场景中进行视频的自由切换,因此,对于频繁出现的卡死情况无能为力,导致观众通常需要退出直播间,重新进入,降低了用户体验。
技术实现要素:
3.本技术实施例提供了直播清晰度切换防卡死方法及装置。
4.根据本技术实施例的一个方面,提供了直播清晰度切换防卡死方法,所述方法包括:在直播间内显示至少两个直播流输出区域;在每一直播流输出区域内,显示所述直播流输出区域对应的直播视频流,所述直播视频流为对应于所述直播间的主播,或对应于与所述直播间的主播交互的其他直播间的主播的视频流;对各所述直播流输出区域进行持续性的画面状态检测;在检测到目标直播流输出区域的画面在预设时长内并未发生变动的情况下,向服务器请求目标视频帧序列,所述目标视频帧序列为所述服务器接收到的目标直播视频流在所述预设时长范围内的视频帧形成的序列,所述目标直播流输出区域为所述至少两个直播流输出区域中的任一区域,所述目标直播视频流为所述目标直播流输出区域对应的直播视频流;计算所述目标视频帧序列的画面变动指示参数,所述画面变动指示参数用于指示所述目标视频帧序列中的视频帧变化能力;在所述画面变动指示参数大于预设阈值的情况下,确定防卡死指示清晰度,所述防卡死指示清晰度为直播服务器所提供的各清晰度中,小于并且紧邻所述目标直播流输出区域对应的当前清晰度的清晰度;根据所述目标直播流输出区域对应的视频标识,向服务器请求所述防卡死指示清晰度对应的直播视频流;将所述目标直播流输出区域当前对应的直播视频流切换为所述防卡死指示清晰度对应的直播视频流。
5.根据本技术实施例的一个方面,提供了直播清晰度切换防卡死装置,所述装置包括:显示模块,用于在直播间内显示至少两个直播流输出区域;以及,在每一直播流输出区域内,显示所述直播流输出区域对应的直播视频流,所述直播视频流为对应于所述直
播间的主播,或对应于与所述直播间的主播交互的其他直播间的主播的视频流;防卡死模块,用于对各所述直播流输出区域进行持续性的画面状态检测;在检测到目标直播流输出区域的画面在预设时长内并未发生变动的情况下,向服务器请求目标视频帧序列,所述目标视频帧序列为所述服务器接收到的目标直播视频流在所述预设时长范围内的视频帧形成的序列,所述目标直播流输出区域为所述至少两个直播流输出区域中的任一区域,所述目标直播视频流为所述目标直播流输出区域对应的直播视频流;计算所述目标视频帧序列的画面变动指示参数,所述画面变动指示参数用于指示所述目标视频帧序列中的视频帧变化能力;在所述画面变动指示参数大于预设阈值的情况下,确定防卡死指示清晰度,所述防卡死指示清晰度为直播服务器所提供的各清晰度中,小于并且紧邻所述目标直播流输出区域对应的当前清晰度的清晰度;根据所述目标直播流输出区域对应的视频标识,向服务器请求所述防卡死指示清晰度对应的直播视频流;将所述目标直播流输出区域当前对应的直播视频流切换为所述防卡死指示清晰度对应的直播视频流。
6.根据本技术实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述直播清晰度切换防卡死方法。
7.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述直播清晰度切换防卡死方法。
8.本技术实施例提供的技术方案可以带来如下有益效果:本技术实施例提供直播清晰度切换防卡死方法,该直播清晰度切换防卡死方法可以在直播间的显示界面上提供丰富的显示区域,从而可以显示该直播间的主播的多个直播内容,该主播自己,或者也可以与多个其他主播交互,形成多个直播视频流,并且多个直播视频流可以都同时进行显示。
9.并且,直播间的显示画面中可以在直播时进行卡死检测,并且在卡死出现的时候自动进行视频切换,降低卡死发生概率,保持直播视频流稳定输出。这一个过程并不需要用户参与,却可以及时发现卡死并且及时进行解决,实现无感知防卡死。本技术实施例卡死状态下进行了降清晰度的视频切换处理,虽然进行了降清晰度的视频切换,但是本技术实施例通过视频优化,得到了若干低清晰度和中清晰度的视频,因此,相邻的清晰度的视频之间的质量差距不会很大,因此,虽然是降清晰度的视频切换,也并不显著影响用户的观看体验,还能有效防止卡死,实现无感知防卡死,或者低感知防卡死。
10.并且本技术实施例在视频清晰度不是最高的情况下,还可以在确保播放流畅的情况下自动进行升清晰度的视频切换处理。并且,虽然进行了升清晰度的视频切换,但是本技术实施例通过视频优化,得到了若干低清晰度和中清晰度的视频,因此,相邻的清晰度的视频之间的质量差距不会很大,因此,升清晰度的视频切换,也并不显著影响用户的观看体验。并且,只要没有升到最高清晰度,升清晰度的视频切换处理可以延续执行,直至升到最高清晰度,实现缓慢的清晰度攀升,在用户低感知并且保持播放流畅的前提下,为用户自动适配到最好的清晰度视频流进行播放。
附图说明
11.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
12.图1是本技术一个实施例提供的直播清晰度切换防卡死方法的流程图;图2是本技术一个实施例提供的直播间示意图;图3是本技术一个实施例提供的画面变动指示参数计算方法示意图;图4是本技术一个实施例提供的直播清晰度切换防卡死装置的结构框图。
具体实施方式
13.在介绍本技术提供的方法实施例之前,先对本技术方法实施例中可能涉及的相关术语或者名词进行简要介绍,以便于本技术领域技术人员理解。
14.请参考图1,其示出了本技术一个实施例提供的直播清晰度切换防卡死方法的流程图。该方法可以包括以下几个步骤:s101,在直播间内显示至少两个直播流输出区域。在每一直播流输出区域内,显示所述直播流输出区域对应的直播视频流,所述直播视频流为对应于所述直播间的主播,或对应于与所述直播间的主播交互的其他直播间的主播的视频流。
15.以图2为例,直播间包括三个直播视频流输出区域,分别为201、202和203。直播流输出区域201播放直播视频流1,直播视频流1是该直播间主播自己的播放画面。直播流输出区域202播放直播视频流2,直播视频流2是该直播间主播与主播1互动时主播1自己的播放画面。直播流输出区域203播放直播视频流3,直播视频流3是该直播间主播与主播2互动时主播2自己的播放画面。
16.s102.对各所述直播流输出区域进行持续性的画面状态检测。
17.所谓的画面状态检测其实就是检测预设时长内,该直播流输出区域中的画面是否发生过变化。检测方法不做限定,是现有技术。预设时长也不做限定,可以由程序员自行设定。
18.s103.在检测到目标直播流输出区域的画面在预设时长内并未发生变动的情况下,向服务器请求目标视频帧序列,所述目标视频帧序列为所述服务器接收到的目标直播视频流在所述预设时长范围内的视频帧形成的序列,所述目标直播流输出区域为所述至少两个直播流输出区域中的任一区域,所述目标直播视频流为所述目标直播流输出区域对应的直播视频流。
19.本技术实施例以目标直播流输出区域为例进行防卡死方法的说明,所述目标直播流输出区域为所述至少两个直播流输出区域中的任一区域,所述目标直播流输出区域对应的直播视频流即为目标直播视频流。
20.预设时长内没有发生画面变动不能判定一定卡死,还需要结合目标时长内原本应该被显示出来的视频帧的情况才能判定是否一定卡死。客户端出现卡死说明客户端并未在预设时长内接收到这些视频帧,但是这些视频帧从采集开始会被发送给服务器进行备份,因此,可以基于这些备份得到目标视频帧序列。
21.s104.计算所述目标视频帧序列的画面变动指示参数,所述画面变动指示参数用于指示所述目标视频帧序列中的视频帧变化能力。
22.画面变动指示参数指示所述目标视频帧序列中的视频帧变化能力,也就是说,画面变动指示参数如果比较高,说明应该画面有较多的变化,但是目标直播流输出区域的画面在预设时长内并未发生变动,这种时候可以判定卡死发生。画面变动指示参数如果比较低,说明应该画面变化很小,可能出现其他扰动,退一步来说,即便是卡死也不会对用户产生很大影响,可以等待自行恢复。因此,不需要立刻进行视频切换,还可以观察一下。
23.请参考图3,其示出画面变动指示参数计算方法示意图。所述计算所述目标视频帧序列的画面变动指示参数,包括:s301.基于图像信息提取模型提取所述目标视频帧序列中每一关键帧的画面特征信息,得到画面特征信息序列。
24.本技术实施例对于图像信息提取模型不做限定,使用现有技术的图像信息提取模型即可。
25.s302.计算任意相邻两个画面特征信息之间的欧式距离,得到距离序列。针对所述距离序列中任意两个相邻距离,若所述两个相邻距离的差值大于预设差值阈值,则将评估值确定为1,若所述两个相邻距离的差值小于或等于预设差值阈值,则将评估值确定为0,得到评估值序列。
26.本技术实施例对于差值阈值不做限定,不影响本技术技术方案的实施,因此,程序员完全可以自行设定。
27.s303.加和所述距离序列中的全部距离,得到画面变化幅度指示参数。加和所述评估值序列中的全部评估值,得到画面变化频数指示参数。对所述画面变化幅度指示参数和所述画面变化频数指示参数进行加权加和处理,得到所述画面变动指示参数。
28.本技术认为从变化程度和变化频数两个角度刻画变化能力能够很好的在防卡死场景中达到兼具防卡死效果,并且控制切换频繁程度的效果,有最佳的用户体验。因此,建模了画面变化幅度指示参数和画面变化频数指示参数,两者分别刻画了变化程度和变化频数两个维度的信息,得到了准确的画面变动指示参数。当然,权值不做限定,程序员完全可以自行设定。
29.s105.在所述画面变动指示参数大于预设阈值的情况下,确定防卡死指示清晰度,所述防卡死指示清晰度为直播服务器所提供的各清晰度中,小于并且紧邻所述目标直播流输出区域对应的当前清晰度的清晰度。
30.当然,预设阈值不做限定,程序员完全可以自行设定。其中,所述直播服务器所提供的各清晰度,包括:至少一个清晰度对和最高清晰度,每一所述清晰度对包括基于对应的压缩方式对无损视频进行压缩得到的低清晰度,和对该低清晰度进行优化得到的中清晰度。其中,针对每一清晰度对,其中的中清晰度对应的视频流由其中的低清晰度对应的视频流经过视频流优化模型优化得到。
31.假设,最初始获取的是具备最高清晰度的视频,视频被有损压缩后,得到清晰度11、清晰度12和清晰度13三个清晰度,分别对清晰度11、清晰度12和清晰度13进行优化,可以得到清晰度21、清晰度22和清晰度23。所以按照清晰度排序由低到高可以得到清晰度11、清晰度21、清晰度12、清晰度22、清晰度13、清晰度23和最高清晰度,7个清晰度,每个相邻清
晰度之间的清晰度差别被显著缩小,这就保证了用户的低感知甚至无感知。
32.s106.根据所述目标直播流输出区域对应的视频标识,向服务器请求所述防卡死指示清晰度对应的直播视频流。将所述目标直播流输出区域当前对应的直播视频流切换为所述防卡死指示清晰度对应的直播视频流。
33.根据所述目标直播流输出区域对应的视频标识,向服务器请求所述防卡死指示清晰度对应的直播视频流保证了视频内容的延续性,视频流切换后视频内容不受影响,受影响的仅仅只有清晰度而已。
34.在一个实施例中,所述方法还包括:在检测到所述目标直播流输出区域的画面在预设时长内并未发生卡死,并且所述目标直播流输出区域当前对应的直播视频流并不具备最高清晰度的情况下,确定优化指示清晰度,所述优化指示清晰度为所述直播服务器所提供的各清晰度中,大于并且紧邻所述目标直播流输出区域对应的当前清晰度的清晰度。根据所述目标直播流输出区域对应的视频标识,向服务器请求所述优化指示清晰度对应的直播视频流。将所述目标直播流输出区域当前对应的直播视频流切换为所述优化指示清晰度对应的直播视频流。
35.在一个实施例中,所述方法还包括:在接收到点状触屏信号的情况下,记录触屏时长。在所述触屏时长大于预设时间阈值的情况下,确定所述点状触屏信号对应的触屏位置所在的关联直播流输出区域,所述关联直播流输出区域属于所述至少两个直播流输出区域。在所述关联直播流输出区域内的右侧显示所述直播服务器提供的各清晰度分别对应的清晰度切换控件。响应于对任一清晰度切换控件的点击指令,将所述关联直播流输出区域当前对应的直播视频流切换为被点击的清晰度切换控件所对应的清晰度的直播视频流。该实施方式支持用户通过手动的方式在直播间界面中主动切换清晰度,无需退出直播界面,缩短了用户的操作路径。
36.在一个实施例中,所述方法还包括:在接收到滑动触屏信号的情况下,记录所述滑动触屏信号的滑动轨迹途径的全部直播流输出区域。显示控制面板,所述控制面板包括所述滑动触屏信号的滑动轨迹途径的每一直播流输出区域对应的单区域重载控件、总体性重载控件和提示信息,所述提示信息用于提示用户选择需要进行重载的直播流输出区域。在所述总体性重载控件被选择的情况下,对所述滑动触屏信号的滑动轨迹途径的每一直播流输出区域的直播视频流都进行重新载入。在任一单区域重载控件被选择的情况下,对其对应的直播流输出区域的直播视频流进行重新载入。
37.重载是停止播放当前的直播视频流,并重新载入当前的直播视频流。这种方式可以不改变视频流的清晰度,还可以解决卡死问题,但是需要用户手动触发,把选择权交给用户。
38.本技术实施例实现低感知视频清晰度切换的关键在于服务器端设置的视频流优化模型。本技术提供的直播清晰度切换防卡死方法中视频流优化模型的训练方法包括:s401.获取第一样本视频以及压缩标签,所述压缩标签为所述第一样本视频对应的压缩方式对应的标签。
39.现有技术中有很多中有损压缩方式,可以为常见的各有损压缩方式设置对应的压缩标签。对无损视频进行某种有损压缩后可以得到第一样本视频以及该压缩标签。
40.s402.将所述第一样本视频输入第一网络进行基于卷积的信息提取,得到第一样
本特征信息,所述第一样本特征信息指示所述第一样本视频的压缩方式对视频质量产生的损失。
41.有损压缩可能影响了图像边缘清晰度,也可能引入了局部位置更多噪声,这些影响会通过第一样本特征信息量化出来。第一网络的基于卷积的信息提取如何执行不需要限定,因为使用现有技术中神经网络中实现基于卷积的信息提取的结构即可。
42.s403.将所述第一样本特征信息输入第二网络进行标签预测,得到压缩预测值。
43.第二网络的标签预测如何执行不需要限定,因为使用现有技术中神经网络中实现标签预测的结构即可。本技术实施例中的各个网络都不需要额外进行说明,因为都可以使用现有技术的神经网络中具备相应功能的层来搭建,本技术的价值在于基于这些网络的结构来实现具体的训练过程,也就是训练的逻辑步骤,以及后续的损失设计,以及这些不同的网络组合起来实现清晰度优化的这一整体构思。而非某个单一网络的具体结构,在此特意说明。
44.s404.获取预设的特征集,所述特征集包括每一压缩标签对应的特征子集,所述特征子集包括该压缩标签对应的各种可能的特征信息。
45.每一种类的压缩方式不同参数下呈现不同的质量损失,这些质量损失被量化后可以通过枚举的方式列出来,量化时也可以使用第一网络,或者,其他成熟的神经网络。本技术对此不做限定,形成特征集。之所以一个压缩标签可以有多个特征子集,是因为同一个压缩方式可能对应不同压缩参数,每个压缩参数都对应一个特征,因此,形成特征子集。特征集的获取并不构成本案的实施限制。特征集可以被理解为一种先验信息,并不具备获取难度,特此说明。
46.s405.基于所述特征集和所述压缩预测值,确定第一特征信息集和第二特征信息集,所述第一特征信息集为所述压缩预测值对应的特征子集形成的集合,所述第二特征信息集为所述特征集与所述第一特征信息集的差集。
47.压缩预测值对应被预测出来的某种压缩方式,其必然与某个压缩标签一致,将该压缩标签对应的特征子集形成的集合作为第一特征信息集即可。
48.s406.基于所述第一样本特征信息、所述第一特征信息集和所述第二特征信息集计算的三元组损失函数,得到信息距离损失。
49.三元组损失函数是现有技术,信息集也是一种信息,因此直接使用该三元组损失函数即可,无需额外说明,对本领技而言不具备实施难度。
50.s407.根据所述压缩预测值和所述压缩标签之间的差异,计算压缩方式损失。根据所述信息距离损失和所述压缩方式损失的加权求和结果,确定第一损失。
51.两个数据之间的差异的度量方式可以有很多,在此不做赘述,可参考现有技术。权值可以由程序人员自行设定,在此不做赘述。
52.s408.根据所述第一损失,调整所述第一网络和所述第二网络的参数,直至到达预设的收敛条件,得到训练好的第一网络。
53.调参方法和收敛条件使用现有技术,不做说明。
54.s409.获取第二样本视频。将所述第二样本视频进行基于滑动窗口的划分处理,得到多个第三样本视频。
55.滑动窗口大小不做限定,优选包括三个视频帧。滑动步长不做限定,优选步长为1
个视频帧。
56.s410.将所述第二样本视频输入所述训练好的第一网络,得到第二样本特征信息。针对每一所述第三样本视频,将所述第三样本视频和所述第二样本特征信息输入第三网络,所述第三网络用于融合所述第三样本视频中的各个图像,并基于融合结果和所述第二样本特征信息生成一个样本目标帧图像。
57.本技术实施例并不限定融合方法,比如,可以对于第三样本视频中的各个图像进行特征提取和特征对齐,基于特征对齐结果和第二样本特征信息预测样本目标帧图像。特征提取、特征对齐是常见的特征处理方式,不做赘述。信息预测指的是基于一个图像、相关图像和相关的压缩信息进行提高清晰度方向的图像预测,这一操作可以由神经网络实现,即第三网络,该第三网络的结构无需进行特殊设计,可以使用现有的神经网络结构。也就是说,第三网络的图像预测能力是通过学习得来的,而学习过程就是下文的调参过程。
58.s411.根据各所述样本目标帧图像形成目标帧序列。在所述第二样本视频中提取与所述目标帧序列对应的参考序列。获取所述参考序列的人工优化结果,所述人工优化结果为由人工对该参考序列中每一帧图像基于该第二样本视频所经历的压缩方式进行图像恢复后得到的结果。根据所述目标帧序列和所述人工优化结果之间的差异,调整所述第三网络的参数,直至达到收敛条件,得到训练好的第三网络。
59.第二样本视频显然是经历过压缩的有损视频,这个无需赘言,图像恢复过程与图像压缩目的相反,是为了提高清晰度的。人工过程不做限定,使用常见的清晰度提升手段即可。
60.基于第三样本视频中的多个图像只能够预测出一个提高清晰度之后的样本目标帧图像,也就是说,预测出的图像数量其实是小于原本的图像数量的,举个例子,通过图像1、图像2和图像3预测出对应于图像2的提高了清晰度的图像2a。因此,针对目标帧序列中的每个被预测出的图像,可以在第二样本视频中找到对应的低清晰度的图像,从而得到参考序列。图像序列之间的差异可以通过单个图像的差异通过统计得来,对此,不做限定。
61.s412.基于所述训练好的第一网络和所述训练好的第三网络确定所述视频流优化模型。
62.显然,所述视频流优化模型包括所述训练好的第一网络和所述训练好的第三网络。还包括前述训练过程中在第一网络和第三网络之外执行的各个操作所对应的逻辑组件。
63.在得到视频流优化模型之后,可以基于所述视频流优化模型进行视频优化,具体来说,包括:将待优化的第一视频输入所述视频流优化模型,得到多个优化后的帧图像所形成第二视频。对各个优化后的帧图像进行双线性插值处理,得到第三视频。将所述第二视频中的各个帧图像,与所述第三视频中的相应的各个帧图像进行加和,得到第四视频。根据所述第四视频得到所述第一视频的优化结果,所述所述第一视频的优化结果的清晰度高于所述第一视频。
64.根据前述可以确定第四视频的图像帧数量小于第一视频,并且第四视频中每个图像帧可以在第一视频中找到对应的低清晰度图像帧,也就是说将第四视频作为第一视频中相应的图像帧的优化结果,而第四视频中不存在并且在第一视频中存在的图像帧可以保留,也可以基于邻近的已经被优化的图像帧进行优化,从而得到第一视频的优化结果。
65.下述为本技术装置实施例,可用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
66.请参考图4,其示出了本技术一个实施例提供的直播清晰度切换防卡死装置的框图。该装置可以包括:显示模块501,用于在直播间内显示至少两个直播流输出区域。以及,在每一直播流输出区域内,显示所述直播流输出区域对应的直播视频流,所述直播视频流为对应于所述直播间的主播,或对应于与所述直播间的主播交互的其他直播间的主播的视频流。
67.防卡死模块502,用于对各所述直播流输出区域进行持续性的画面状态检测。在检测到目标直播流输出区域的画面在预设时长内并未发生变动的情况下,向服务器请求目标视频帧序列,所述目标视频帧序列为所述服务器接收到的目标直播视频流在所述预设时长范围内的视频帧形成的序列,所述目标直播流输出区域为所述至少两个直播流输出区域中的任一区域,所述目标直播视频流为所述目标直播流输出区域对应的直播视频流。计算所述目标视频帧序列的画面变动指示参数,所述画面变动指示参数用于指示所述目标视频帧序列中的视频帧变化能力。在所述画面变动指示参数大于预设阈值的情况下,确定防卡死指示清晰度,所述防卡死指示清晰度为直播服务器所提供的各清晰度中,小于并且紧邻所述目标直播流输出区域对应的当前清晰度的清晰度。根据所述目标直播流输出区域对应的视频标识,向服务器请求所述防卡死指示清晰度对应的直播视频流。将所述目标直播流输出区域当前对应的直播视频流切换为所述防卡死指示清晰度对应的直播视频流。
68.需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
69.本技术一个实施例提供计算机设备。该计算机设备可以是服务器,以用于执行上述直播清晰度切换防卡死方法。本技术一个实施例提供计算机存储介质,以用于记载上述直播清晰度切换防卡死方法。可选地,该计算机可读存储介质可以包括:rom(read only memory,只读存储器)、ram(random access memory,随机存取记忆体)、ssd(solid state drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括reram(resistance random access memory,电阻式随机存取记忆体)和dram(dynamic random access memory,动态随机存取存储器)。
70.在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述直播清晰度切换防卡死方法。
71.应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个
不同编号的步骤按照与图示相反的顺序执行,本技术实施例对此不作限定。
72.另外,在本技术的具体实施方式中,涉及到用户信息等相关的数据,当本技术以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
73.以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.直播清晰度切换防卡死方法,其特征在于,所述方法包括:在直播间内显示至少两个直播流输出区域;在每一直播流输出区域内,显示所述直播流输出区域对应的直播视频流,所述直播视频流为对应于所述直播间的主播,或对应于与所述直播间的主播交互的其他直播间的主播的视频流;对各所述直播流输出区域进行持续性的画面状态检测;在检测到目标直播流输出区域的画面在预设时长内并未发生变动的情况下,向服务器请求目标视频帧序列,所述目标视频帧序列为所述服务器接收到的目标直播视频流在所述预设时长范围内的视频帧形成的序列,所述目标直播流输出区域为所述至少两个直播流输出区域中的任一区域,所述目标直播视频流为所述目标直播流输出区域对应的直播视频流;计算所述目标视频帧序列的画面变动指示参数,所述画面变动指示参数用于指示所述目标视频帧序列中的视频帧变化能力;在所述画面变动指示参数大于预设阈值的情况下,确定防卡死指示清晰度,所述防卡死指示清晰度为直播服务器所提供的各清晰度中,小于并且紧邻所述目标直播流输出区域对应的当前清晰度的清晰度;根据所述目标直播流输出区域对应的视频标识,向服务器请求所述防卡死指示清晰度对应的直播视频流;将所述目标直播流输出区域当前对应的直播视频流切换为所述防卡死指示清晰度对应的直播视频流。2.根据权利要求1所述的直播清晰度切换防卡死方法,其特征在于,所述方法还包括:在检测到所述目标直播流输出区域的画面在预设时长内并未发生卡死,并且所述目标直播流输出区域当前对应的直播视频流并不具备最高清晰度的情况下,确定优化指示清晰度,所述优化指示清晰度为所述直播服务器所提供的各清晰度中,大于并且紧邻所述目标直播流输出区域对应的当前清晰度的清晰度;根据所述目标直播流输出区域对应的视频标识,向服务器请求所述优化指示清晰度对应的直播视频流;将所述目标直播流输出区域当前对应的直播视频流切换为所述优化指示清晰度对应的直播视频流。3.根据权利要求1或2所述的直播清晰度切换防卡死方法,其特征在于,所述方法还包括:在接收到点状触屏信号的情况下,记录触屏时长;在所述触屏时长大于预设时间阈值的情况下,确定所述点状触屏信号对应的触屏位置所在的关联直播流输出区域,所述关联直播流输出区域属于所述至少两个直播流输出区域;在所述关联直播流输出区域内的右侧显示所述直播服务器提供的各清晰度分别对应的清晰度切换控件;响应于对任一清晰度切换控件的点击指令,将所述关联直播流输出区域当前对应的直播视频流切换为被点击的清晰度切换控件所对应的清晰度的直播视频流。
4.根据权利要求3所述的直播清晰度切换防卡死方法,其特征在于,所述方法还包括:在接收到滑动触屏信号的情况下,记录所述滑动触屏信号的滑动轨迹途径的全部直播流输出区域;显示控制面板,所述控制面板包括所述滑动触屏信号的滑动轨迹途径的每一直播流输出区域对应的单区域重载控件、总体性重载控件和提示信息,所述提示信息用于提示用户选择需要进行重载的直播流输出区域;在所述总体性重载控件被选择的情况下,对所述滑动触屏信号的滑动轨迹途径的每一直播流输出区域的直播视频流都进行重新载入;在任一单区域重载控件被选择的情况下,对其对应的直播流输出区域的直播视频流进行重新载入。5.根据权利要求1所述的直播清晰度切换防卡死方法,其特征在于,所述计算所述目标视频帧序列的画面变动指示参数,包括:基于图像信息提取模型提取所述目标视频帧序列中每一关键帧的画面特征信息,得到画面特征信息序列;计算任意相邻两个画面特征信息之间的欧式距离,得到距离序列;针对所述距离序列中任意两个相邻距离,若所述两个相邻距离的差值大于预设差值阈值,则将评估值确定为1,若所述两个相邻距离的差值小于或等于预设差值阈值,则将评估值确定为0,得到评估值序列;加和所述距离序列中的全部距离,得到画面变化幅度指示参数;加和所述评估值序列中的全部评估值,得到画面变化频数指示参数;对所述画面变化幅度指示参数和所述画面变化频数指示参数进行加权加和处理,得到所述画面变动指示参数。6.根据权利要求1所述的直播清晰度切换防卡死方法,其特征在于,所述直播服务器所提供的各清晰度,包括:至少一个清晰度对和最高清晰度,每一所述清晰度对包括基于对应的压缩方式对无损视频进行压缩得到的低清晰度,和对该低清晰度进行优化得到的中清晰度;其中,针对每一清晰度对,其中的中清晰度对应的视频流由其中的低清晰度对应的视频流经过视频流优化模型优化得到。7.根据权利要求6所述的直播清晰度切换防卡死方法,其特征在于,所述视频流优化模型基于下述方法训练得到:获取第一样本视频以及压缩标签,所述压缩标签为所述第一样本视频对应的压缩方式对应的标签;将所述第一样本视频输入第一网络进行基于卷积的信息提取,得到第一样本特征信息,所述第一样本特征信息指示所述第一样本视频的压缩方式对视频质量产生的损失;将所述第一样本特征信息输入第二网络进行标签预测,得到压缩预测值;获取预设的特征集,所述特征集包括每一压缩标签对应的特征子集,所述特征子集包括该压缩标签对应的各种可能的特征信息;基于所述特征集和所述压缩预测值,确定第一特征信息集和第二特征信息集,所述第一特征信息集为所述压缩预测值对应的特征子集形成的集合,所述第二特征信息集为所述
特征集与所述第一特征信息集的差集;基于所述第一样本特征信息、所述第一特征信息集和所述第二特征信息集计算的三元组损失函数,得到信息距离损失;根据所述压缩预测值和所述压缩标签之间的差异,计算压缩方式损失;根据所述信息距离损失和所述压缩方式损失的加权求和结果,确定第一损失;根据所述第一损失,调整所述第一网络和所述第二网络的参数,直至到达预设的收敛条件,得到训练好的第一网络;获取第二样本视频;将所述第二样本视频进行基于滑动窗口的划分处理,得到多个第三样本视频;将所述第二样本视频输入所述训练好的第一网络,得到第二样本特征信息;针对每一所述第三样本视频,将所述第三样本视频和所述第二样本特征信息输入第三网络,所述第三网络用于融合所述第三样本视频中的各个图像,并基于融合结果和所述第二样本特征信息生成一个样本目标帧图像;根据各所述样本目标帧图像形成目标帧序列;在所述第二样本视频中提取与所述目标帧序列对应的参考序列;获取所述参考序列的人工优化结果,所述人工优化结果为由人工对该参考序列中每一帧图像基于该第二样本视频所经历的压缩方式进行图像恢复后得到的结果;根据所述目标帧序列和所述人工优化结果之间的差异,调整所述第三网络的参数,直至达到收敛条件,得到训练好的第三网络;基于所述训练好的第一网络和所述训练好的第三网络确定所述视频流优化模型。8.根据权利要求7所述的直播清晰度切换防卡死方法,其特征在于,基于所述视频流优化模型进行视频优化的方法,包括:将待优化的第一视频输入所述视频流优化模型,得到多个优化后的帧图像所形成第二视频;对各个优化后的帧图像进行双线性插值处理,得到第三视频;将所述第二视频中的各个帧图像,与所述第三视频中的相应的各个帧图像进行加和,得到第四视频;根据所述第四视频得到所述第一视频的优化结果,所述第一视频的优化结果的清晰度高于所述第一视频。9.直播清晰度切换防卡死装置,其特征在于,所述装置包括:显示模块,用于在直播间内显示至少两个直播流输出区域;以及,在每一直播流输出区域内,显示所述直播流输出区域对应的直播视频流,所述直播视频流为对应于所述直播间的主播,或对应于与所述直播间的主播交互的其他直播间的主播的视频流;防卡死模块,用于对各所述直播流输出区域进行持续性的画面状态检测;在检测到目标直播流输出区域的画面在预设时长内并未发生变动的情况下,向服务器请求目标视频帧序列,所述目标视频帧序列为所述服务器接收到的目标直播视频流在所述预设时长范围内的视频帧形成的序列,所述目标直播流输出区域为所述至少两个直播流输出区域中的任一区域,所述目标直播视频流为所述目标直播流输出区域对应的直播视频流;计算所述目标视频帧序列的画面变动指示参数,所述画面变动指示参数用于指示所述目标视频帧序列中
的视频帧变化能力;在所述画面变动指示参数大于预设阈值的情况下,确定防卡死指示清晰度,所述防卡死指示清晰度为直播服务器所提供的各清晰度中,小于并且紧邻所述目标直播流输出区域对应的当前清晰度的清晰度;根据所述目标直播流输出区域对应的视频标识,向服务器请求所述防卡死指示清晰度对应的直播视频流;将所述目标直播流输出区域当前对应的直播视频流切换为所述防卡死指示清晰度对应的直播视频流。10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至8中任意一项所述的直播清晰度切换防卡死方法。
技术总结
本申请公开了直播清晰度切换防卡死方法及装置,可以在直播间的显示界面上提供丰富的显示区域,从而可以显示该直播间的主播的多个直播内容。直播间的显示画面中可以在直播时进行卡死检测,并且在卡死出现的时候自动进行视频切换,降低卡死发生概率,保持直播视频流稳定输出。这一个过程并不需要用户参与,却可以及时发现卡死并且及时进行解决,实现无感知防卡死。卡死。卡死。
技术研发人员:鲍文俊 韩勇
受保护的技术使用者:浙江印象软件有限公司
技术研发日:2023.08.16
技术公布日:2023/9/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/