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

一种视频码流调整方法、装置及系统与流程

2022-03-23 04:14:07 来源:中国专利 TAG:


1.本发明涉及视频技术领域,尤其涉及一种视频码流调整方法、装置及系统。


背景技术:

2.随着无线网络技术以及视频技术的发展,视频播放应用的使用也越来越普遍。视频发送设备通常通过视频云平台向视频播放设备转发视频,因而视频发送设备与视频云平台之间形成了上行网络,视频播放设备与视频云平台之间形成了下行网络。然而视频发送设备无法感知下行网络的网络质量以及播放设备的视频播放质量,视频播放设备也无法感知上行网络的网络质量,使得视频发送设备和视频播放设备的感知隔离,导致两者码流调整策略配合较差,从而导致视频业务整体的播放体验较差,易出现播放卡顿和录像缺失等问题。
3.因此,如何提供一种合理的视频码流调整方法,以提升视频播放质量,是本技术亟需解决的问题。


技术实现要素:

4.本发明实施例提供了一种视频码流调整方法及装置,用以改进视频的码流调整策略,以提升视频播放质量,从而有效提升用户体验。
5.第一方面,本技术实施例提供一种视频码流调整方法,应用于第一设备,该方法包括:接收第一信息,所述第一信息包括第二设备在预设时长内的视频帧发送信息;获取第二信息,所述第二信息包括所述第一设备在所述预设时长内的视频帧接收信息和/或视频帧播放缓存信息;基于所述第一信息和所述第二信息,确定在所述预设时长内的网络拥塞情况;和/或,基于所述第二信息,确定在所述预设时长内的视频帧播放情况;基于所述视频帧播放情况和/或所述网络拥塞情况,确定码流调整策略;向所述第二设备发送所述码流调整策略,所述码流调整策略用于对码流进行调整。
6.在一种可能的设计中,基于所述第一信息和所述第二信息,确定在所述预设时长内的网络拥塞情况,包括:基于所述第一信息和所述第二信息,确定第一网络状态和/或第二网络状态;其中,所述第一网络状态与视频帧丢帧率关联,所述第二网络状态与视频帧时延关联;基于所述第一网络状态和/或所述第二网络状态,确定所述网络拥塞情况。
7.在一种可能的设计中,所述视频发送信息包括视频帧发送数目,所述视频接收信息包括视频帧接收数目;基于所述第一信息和所述第二信息,确定第一网络状态,包括:基于所述视频帧发送数目和所述视频帧接收数目,确定所述预设时长内的视频帧丢帧率;若所述视频帧丢帧率大于第一阈值,则确定所述第一网络状态为过载状态;或者,若所述视频帧丢帧率为第二阈值,则确定所述第一网络状态为正常状态;或者,若所述视频帧丢帧率大于等于第二阈值且小于第一阈值,则确定所述第一网络状态为低载状态。
8.在一种可能的设计中,所述视频发送信息包括视频帧帧发送间隔,所述视频接收信息包括视频帧帧接收间隔;基于所述第一信息和所述第二信息,确定第二网络状态,包
括:基于视频帧帧发送间隔和视频帧帧接收间隔,确定所述预设时长内的视频帧时延的变化趋势;若所述视频帧时延的变化趋势的量化值大于第三阈值,且在所述预设时长内网络带宽的过载次数超出第四阈值和/或所述网络带宽的过载时长超出第五阈值,则确定所述第二网络状态为过载状态;或者,若所述视频帧时延的变化趋势的量化值小于第六阈值,则确定第二网络状态为低载状态;或者,若所述视频帧时延的变化趋势的量化值小于等于第三阈值且大于等于第六阈值,且在所述预设时长内网络带宽的正常次数超出第七阈值和/或所述网络带宽的正常时长超出第八阈值,则确定第二网络状态为正常状态。
9.在一种可能的设计中,所述第三阈值和所述第六阈值是根据所述视频帧时延的变化趋势的量化值与所述第三阈值或所述第六阈值的差值的绝对值动态调整的。
10.在一种可能的设计中,基于所述第一网络状态和/或所述第二网络状态,确定所述网络拥塞情况,包括:所述第一网络状态和/或所述第二网络状态为过载状态,则确定所述预设时长内的网络带宽处于过载状态;所述第一网络状态和所述第二网络状态均为正常状态,则确定所述预设时长内的网络带宽处于正常状态;所述第一网络状态为正常状态,所述第二网络状态为低载状态,则确定所述预设时长内的网络带宽处于低载状态。
11.在一种可能的设计中,所述视频接收信息包括视频帧接收间隔,所述视频播放缓存信息包括视频帧缓存时间;基于所述第二信息,确定在所述预设时长内的视频帧播放情况,包括:根据所述视频帧接收间隔和所述视频帧缓存时间,确定所述预设时长内的帧播放抖动时间;若帧播放抖动时间小于等于第九阈值,则确定在所述预设时长内视频播放未卡顿;或者,若帧播放抖动时间大于第九阈值,则确定在所述预设时长内视频播放卡顿。
12.在一种可能的设计中,所述视频接收信息包括视频帧接收间隔,所述视频播放缓存信息包括视频帧缓存时间;基于所述第二信息,确定在所述预设时长内的视频帧播放情况,包括:根据所述视频帧接收间隔和所述视频帧缓存时间,统计所述预设时长内的帧播放抖动次数;若帧播放抖动次数小于等于第十阈值,则确定在所述预设时长内视频播放未卡顿;或者,若帧播放抖动次数大于第十阈值,则确定在所述预设时长内视频播放卡顿。
13.在一种可能的设计中,基于所述视频帧播放情况和/或所述网络拥塞情况,确定码流调整策略,包括:在所述预设时长内视频播放卡顿和/或网络带宽处于过载状态时,所述码流调整策略用于指示所述第二设备下调码流;或者,在所述预设时长内视频播放未卡顿和/或网络带宽处于正常状态时,所述码流调整策略用于指示所述第二设备上调码流。
14.第二方面,本技术实施例还提供了一种视频码流调整方法,该方法可以应用于第二设备,包括:发送第一信息,所述第一信息包括所述第二设备在预设时长内的视频帧发送信息;接收所述预设时长内的码流调整策略;基于所述码流调整策略,进行码流调整。
15.第三方面,一种视频码流调整系统,该系统包括第一设备、第二设备和服务器,其中:所述第一设备,用于通过服务器接收第一信息,所述第一信息包括第二设备在预设时长内的视频帧发送信息;以及,获取第二信息,所述第二信息包括所述第一设备在所述预设时长内的视频帧接收信息和/或视频帧播放缓存信息;基于所述第一信息和所述第二信息,确定在所述预设时长内的网络拥塞情况;和/或,基于所述第二信息,确定在所述预设时长内的视频帧播放情况;基于所述视频帧播放情况和/或所述网络拥塞情况,确定码流调整策略;通过所述服务器向所述第二设备发送所述码流调整策略;所述第二设备,用于通过所述服务器接收所述码流调整策略,并对码流进行调整。
16.第四方面,本技术实施例还提供一种视频码流调整装置,该装置包括:处理器和存储器;所述存储器用于存储计算机执行指令,当所述处理器执行所述指令时,使所述视频码流调整装置执行如上述第一方面以及第一方面任一项可能的设计所述的方法,或者,执行如上述第二方面以及第二方面任一项可能的设计所述的方法。
17.第五方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得所述计算机执行如上述第一方面以及第一方面任一项可能的设计所述的方法,或者,执行如上述第二方面以及第二方面任一项可能的设计所述的方法。
18.本技术实施例提供一种视频码流调整方法,应用于第一设备,该方法包括:接收第一信息,所述第一信息包括第二设备在预设时长内的视频帧发送信息;获取第二信息,所述第二信息包括所述第一设备在所述预设时长内的视频帧接收信息和/或视频帧播放缓存信息;基于所述第一信息和所述第二信息,确定在所述预设时长内的网络拥塞情况;和/或,基于所述第二信息,确定在所述预设时长内的视频帧播放情况;基于所述视频帧播放情况和/或所述网络拥塞情况,确定码流调整策略;向所述第二设备发送所述码流调整策略,所述码流调整策略用于对码流进行调整。
19.在本技术实施例中,第一设备(即视频播放设备)通过结合自身在预设时长内的视频帧接收信息和/或视频帧播放缓存信息、以及第二设备(即视频发送设备)在预设时长内的视频帧发送信息,确定在所述预设时长内的网络拥塞情况和/或视频帧播放情况;基于视频帧播放情况和/或网络拥塞情况,确定码流调整策略,并发送至第二设备;进而第二设备可以基于码流调整策略,对码流进行调整。
附图说明
20.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本技术实施例适用的系统架构图;
22.图2为本技术实施例提供的端到端的数据流向示意图;
23.图3为本技术实施例提供的视频码流调整方法的流程示意图;
24.图4为本技术实施例提供的确定第一网络状态的流程示意图;
25.图5为本技术实施例提供的确定第二网络状态的流程示意图;
26.图6为本技术实施例提供的视频帧间隔时延拥塞检测的原理示意图;
27.图7为本技术实施例提供的结合第一网络状态和第二网络状态确定网络拥塞情况的流程示意图;
28.图8为本技术实施例提供的视频卡顿检测的流程示意图;
29.图9为本技术实施例提供的确定码流调整策略的流程示意图;
30.图10为本技术实施例提供的一种视频码流调整装置的结构示意图;
31.图11为本技术实施例提供的另一种视频码流调整装置的结构示意图;
32.图12为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
33.下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
34.首先,结合具体的附图介绍一下本技术实施例适用的系统架构图。
35.图1示出了本技术实施例适用的一种系统架构图,该系统包括播放设备、发送设备和云平台。其中,发送设备与云平台可以通过无线网络连接,进而发送设备可以通过云平台向播放设备转发视频,形成了上行网络侧;播放设备和云平台之间可以通过有线网络或无线网络连接,进而云平台可以向播放设备下发视频,形成了下行网络侧。
36.应理解,播放设备可以手机、解码墙、智能电视、电脑等具备显示能力的设备,本技术实施例不作具体的限制。发送设备为具备视频编码能力、码流调整能力的设备,例如移动监控设备,本技术实施例不作具体的限制。
37.在本技术实施例中,播放设备可以接收第一信息,第一信息包括第二设备在预设时长内的视频帧发送信息;播放设备获取第二信息,第二信息包括第一设备在预设时长内的视频帧接收信息和/或视频帧播放缓存信息,基于第一信息和第二信息,确定在预设时长内的网络拥塞情况;和/或,基于第二信息,确定在预设时长内的视频帧播放情况;以及基于视频帧播放情况和/或网络拥塞情况,确定码流调整策略;向发送设备发送码流调整策略,发送设备基于码流调整策略对码流进行调整。如此,使得播放设备可以结合自身的视频帧接收信息和/或视频帧播放缓存信息,以及发送设备的视频帧发送信息,确定码流调整策略,使得对视频的码流调整适配于播放设备和发送设备的网络情况,从而提升视频播放质量。
38.图2示出了播放端和设备端之间的数据流向示意图。其中,播放端即前述的播放设备,设备端即前述的发送设备。其中,播放端包括解码播放应用、码流控制模块、码流评估模块、反馈处理模块、解码播放模块、网络接收模块;设备端包括流媒体应用、发送反馈处模块、控制处理模块、码流调整模块、编码模块、缓存模块。其中,设备端的发送反馈模块将设备端的帧发送信息,发送至播放端的网络接收模块;网络接收模块将帧发送信息进一步反馈给反馈处理模块;反馈处理模块获取播放端的帧接收信息和视频帧播放缓存信息,并将帧接收信息、视频帧播放缓存信息和帧发送信息,发送至码流评估模块;码流评估模块基于帧接收信息、视频帧播放缓存信息和帧发送信息,确定码流控制策略,并将码流控制策略发送码流控制模块;码流控制模块将码流控制策略发送至设备端的码流调整模块;码流调整模块基于码流控制策略,对当前视频的码流进行调整。其中,码流控制策略包括取流策略控制、码率策略控制和丢帧策略(例如,普通丢帧策略和svc丢帧策略)控制。
39.图3为本发明实施例提供的一种视频码流调整方法的流程示意图,该方法的执行主体以第一设备(即图1的播放设备或图2的播放端)和第二设备(即图1的发送设备或图2的设备端)为例,该过程包括以下步骤:
40.s301:第二设备发送第一信息。相应的,第一设备接收第一信息。
41.其中,第一信息包括第二设备在预设时长内的视频帧发送信息。本技术实施例中,视频帧发送信息包括但不限于视频帧发送数目、视频帧编码数目、视频帧发送时间、视频帧编码时间、帧类型、帧序号、视频帧发送耗时。
42.s302:第一设备获取第二信息。
43.其中,第二信息包括第一设备在预设时长内的视频帧接收信息和/或视频帧播放缓存信息。本技术实施例中,视频帧接收信息包括但不限于视频帧接收数目、视频帧接收时间、帧类型、帧序号,视频帧播放缓存信息包括但不限于视频帧缓存数目、视频帧播放数目、帧类型、帧序号。
44.s303:第一设备基于第一信息和第二信息,确定在预设时长内的网络拥塞情况;和/或,基于第二信息,确定在预设时长内的视频帧播放情况。
45.需要说明的是,本技术实施例中确定网络拥塞情况的实施方式有多种,包括但不限于以下方式:
46.实施方式1,第一设备基于第一信息和第二信息,确定第一网络状态;基于第一网络状态,确定网络拥塞情况。
47.在一种可能的实施方式中,第一网络状态可以与视频帧丢帧率关联,若上述视频发送信息包括视频帧发送数目,视频接收信息包括视频帧接收数目;第一设备可以基于视频帧发送数目和视频帧接收数目,确定预设时长内的视频帧丢帧率;若视频帧丢帧率大于第一阈值,则确定第一网络状态为过载状态;或者,若视频帧丢帧率为第二阈值,则确定第一网络状态为正常状态;或者,若视频帧丢帧率大于等于第二阈值且小于第一阈值,则确定第一网络状态为低载状态。其中,在视频帧发送数目包括编码输入视频帧数目时,预设时长内的视频帧丢帧率loss=(编码输入视频帧数目-视频接收帧数目)/编码输入视频帧数目。
48.可以理解的是,“过载状态”是指网络带宽不足的状态,“正常状态”是指网络带宽正常使用的状态,“低载状态”是指网络带宽存在一定负荷的状态。相应的,第一网络状态为过载状态时,网络拥塞情况为网络带宽不足;第一网络状态为正常状态时,网络拥塞情况为网络带宽充足;第一网络状态为低载状态时,网络拥塞情况为网络带宽略微不足。
49.示例性的,请参见图4,第一阈值以10%为例,第二阈值以0为例,预设时长以5分钟为例。若编码输入视频帧数目为100帧,视频帧接收数目为50,则5分钟内的视频帧丢帧率loss=(编码输入视频帧数目-视频接收帧数目)/编码输入视频帧数目=(100-50)/100=50%,视频帧丢帧率loss大于10%,则确定第一网络状态为过载状态,即网络带宽不足;或者,若编码输入视频帧数目为100帧,视频帧接收数目为100,则5分钟内的视频帧丢帧率loss=(编码输入视频帧数目-视频接收帧数目)/编码输入视频帧数目=(100-100)/100=0,视频帧丢帧率loss为0,则确定第一网络状态为正常状态,即网络带宽充足;或者,若编码输入视频帧数目为100帧,视频帧接收数目为95,则5分钟内的视频帧丢帧率loss=(编码输入视频帧数目-视频接收帧数目)/编码输入视频帧数目=(100-95)/100=5%,视频帧丢帧率loss5%大于0且小于10%,则确定第一网络状态为低载状态,即网络带宽存在部分负载。
50.实施方式2,第二设备基于第一信息和第二信息,确定第二网络状态,并基于第二网络状态,确定网络拥塞情况。
51.请参见图5,在一种可能的实施方式中,第二网络状态与视频帧时延关联;上述视频发送信息包括视频帧帧发送间隔,视频接收信息包括视频帧帧接收间隔;第一设备基于第一信息和第二信息,确定第二网络状态的过程,包括以下步骤:
52.s501、基于视频帧帧发送间隔和视频帧帧接收间隔,确定预设时长内的视频帧时延的变化趋势的量化值。
53.进一步的,基于视频帧帧发送间隔和视频帧帧接收间隔,确定预设时长内的视频帧时延的变化趋势的量化值,包括:
54.s5011、基于视频帧帧发送间隔和视频帧帧接收间隔,确定视频帧间隔时延梯度值。
55.示例性的,视频帧间隔延迟梯度值(delta_ms)=视频帧帧接收间隔(recv_delta_ms)-视频帧帧发送间隔send_delta_ms。
56.s5012、根据预设时长内的视频帧间隔时延梯度值确定视频帧时延的变化趋势的量化值。
57.其中,基于视频帧组延迟梯度拥塞检测算法检测原理如下图6所示。其中,frame(i)代表第i个视频帧组,frame(i-1)代表第i-1个视频帧组,frame(i 1)代表第i 1个视频帧组,每个视频帧组包含多个视频帧,比如将连续的视频帧按照3个1组进行划分,分为第1组,第2组,
……
,第i-1组,第i组。t(i)代表视频帧组i的最后一个帧的到达时间,t(i-1)代表视频帧组i-1的最后一个帧的到达时间,t(i)代表视频帧组i最后一个帧的发送时间,t(i-1)代表视频帧组i-1最后一个帧的发送时间。两个帧组之间的延迟变化d(i)满足如下公式:
58.d(i)=(t(i)

t(i-1))

(t(i)

t(i-1));
59.其中,d(i)为0,则网络没有拥塞,d(i)大于0则网络存在拥塞,d(i)小于0则网络拥塞正在恢复。
60.进一步的,第一设备可以结合一次指数平滑预测算法和最小二乘线性回归算法,将预设时长内的视频帧间隔延迟梯度值进行累加、平滑和线性回归,得到视频帧时延的变化趋势的量化值,并通过该变化趋势的量化值表征网络的拥塞程度。
61.s502、基于视频帧时延的变化趋势的量化值,确定第二网络状态。
62.其中,第一设备可以将视频帧时延的变化趋势的量化值与预设阈值相比较,确定第二网络状态;若视频帧时延的变化趋势的量化值大于第三阈值,且在预设时长内网络带宽的过载次数超出第四阈值和/或网络带宽的过载时长超出第五阈值,则确定第二网络状态为过载状态;或者,若视频帧时延的变化趋势的量化值小于第六阈值,则确定第二网络状态为低载状态;或者,若视频帧时延的变化趋势的量化值小于等于第三阈值且大于等于第六阈值,且在预设时长内网络带宽的正常次数超出第七阈值和/或网络带宽的正常时长超出第八阈值,则确定第二网络状态为正常状态。
63.示例1,预设时长以5分钟为例,第三阈值以10%为例,第四阈值以2次为例,第五阈值以1分钟为例。例如,若视频帧时延的变化趋势的量化值为15%,5分钟内网络带宽的过载次数为3次,网络带宽的过载时长为4分钟,则视频帧时延的变化趋势的量化值大于第三阈值,且在5分钟内网络带宽的过载次数超出第四阈值以及网络带宽的过载时长超出第五阈值,则确定第二网络状态为过载状态;又例如,若视频帧时延的变化趋势的量化值为15%,5分钟内网络带宽的过载次数为3次,则视频帧时延的变化趋势的量化值大于第三阈值,且在5分钟内网络带宽的过载次数超出第四阈值,则确定第二网络状态为过载状态;再例如,若视频帧时延的变化趋势的量化值为15%,网络带宽的过载时长为4分钟,则视频帧时延的变化趋势的量化值大于第三阈值,且在5分钟内网络带宽的过载时长超出第五阈值,则确定第二网络状态为过载状态。
64.示例2,预设时长以5分钟为例,第六阈值以5%为例。若视频帧时延的变化趋势的量化值1%,则视频帧时延的变化趋势的量化值小于第六阈值,则确定第二网络状态为低载状态。
65.示例3,预设时长以5分钟为例,第三阈值以10%为例,第四阈值以2次为例,第五阈值以1分钟为例,第六阈值以5%为例,第七阈值以50次为例,第八阈值以3分钟为例。例如,若视频帧时延的变化趋势的量化值为8%,5分钟内网络带宽的正常次数为55次,网络带宽的正常时长为4分钟,则视频帧时延的变化趋势的量化值小于第三阈值且大于第六阈值,且在5分钟内网络带宽的正常次数超出第七阈值和/或网络带宽的正常时长超出第八阈值,则确定第二网络状态为正常状态。又例如,若视频帧时延的变化趋势的量化值为8%,5分钟内网络带宽的正常次数为55次,则视频帧时延的变化趋势的量化值小于第三阈值且大于第六阈值,且在5分钟内网络带宽的正常次数超出第七阈值,则确定第二网络状态为正常状态。又例如,若视频帧时延的变化趋势的量化值为8%,网络带宽的正常时长为4分钟,则视频帧时延的变化趋势的量化值小于第三阈值且大于第六阈值,且在5分钟内网络带宽的正常时长超出第八阈值,则确定第二网络状态为正常状态。
66.相应的,第二网络状态为过载状态时,网络拥塞情况为网络带宽不足;第二网络状态为正常状态时,网络拥塞情况为网络带宽充足;第二网络状态为低载状态时,网络拥塞情况为网络带宽略微不足。
67.可选的,第一设备确定第二网络状态之后,还可以执行s503:根据视频帧时延的变化趋势的量化值与第三阈值或第六阈值的差值的绝对值动态调整上述第三阈值和第六阈值。如此,使得基于视频帧时延的网络拥塞检测方法可以适用于不同的应用场景。
68.其中,s503具体包括如下步骤:
69.s5031:确定视频帧时延变化值的变化趋势的量化值trend与动态阈值threshold_的差值的绝对值trend_deta。
70.s5032:根据差值的绝对值trend_deta,确定动态阈值的调整值。
71.示例性的,可以根据如下公式,确定动态阈值的调整值。
72.deta=k*(trend_deta-threshold_)*deta_t;其中,deta为阈值调整值,k为调整因子,trend_deta为视频帧时延变化值的变化趋势的量化值trend与动态阈值threshold_的差值的绝对值,deta_t为上一次动态阈值更新的时间差。其中,deta_t》=100毫秒。
73.其中,调整因子k是根据变化趋势的量化值trend与动态阈值threshold_的差值绝对值trend_deta确定的。例如,trend_deta《threshold_,则调整因子k=上调系数kup(即增大k);trend_deta》=threshold_,则调整因子k=下调系数kdown(即减小k)。
74.s5033:根据动态阈值的调整值,更新动态阈值。
75.应理解,动态阈值是指上述第三阈值和第六阈值。
76.实施方式3,第一设备基于第一信息和第二信息,确定第一网络状态和第二网络状态;基于第一网络状态和第二网络状态,确定网络拥塞情况。
77.请参见图7,第一设备基于第一网络状态和第二网络状态,确定网络拥塞情况的过程可以是:第一设备获取第一网络状态和第二网络状态,在确定第一网络状态和/或第二网络状态为过载状态时,则确定预设时长内的网络带宽处于过载状态;或者,在确定第一网络状态和第二网络状态均为正常状态时,则确定预设时长内的网络带宽处于正常状态;或者,
在确定第一网络状态为低载状态,第二网络状态为正常状态时,则确定预设时长内的网络带宽处于低载状态。其中确定第一网络状态和第二网络状态的具体的实施方式,请参见前文关于实施方式1和实施方式2的描述,这里不再赘述。
78.示例性的,预设时长以5分钟为例,在5分钟内第一网络状态和/或第二网络状态为过载状态时,则确定5分钟内的网络带宽处于过载状态;或者,在5分钟内第一网络状态和第二网络状态均为正常状态时,则确定5分钟内的网络带宽处于正常状态;或者,在确定第一网络状态为正常状态,第二网络状态为低载状态时,则确定5分钟内的网络带宽处于低载状态。
79.需要说明的是,第一设备基于第二信息,确定在预设时长内的视频帧播放情况,有多种实施方式,包括但不限于以下实施方式:
80.实施方式1,视频接收信息包括视频帧接收间隔,视频播放缓存信息包括视频帧缓存时间;第一设备基于第二信息,确定在预设时长内的视频帧播放情况,包括:根据视频帧接收间隔和视频帧缓存时间,确定预设时长内的帧播放抖动时间;若帧播放抖动时间小于等于第九阈值,则确定在预设时长内视频播放未卡顿;或者,若帧播放抖动时间大于第九阈值,则确定在预设时长内视频播放卡顿。其中,帧播放抖动时间(jitter time)=视频帧缓存时间(buffer time)-视频帧接收间隔(interval)。
81.示例性的,第九阈值为2s,视频帧缓存时间(buffer time)为1s,视频帧接收间隔(interval)为0.6s。帧播放抖动时间(jitter time)=视频帧缓存时间(buffer time)-视频帧接收间隔(interval)=0.4s,则帧播放抖动时间小于第九阈值,则确定在预设时长内视频播放未卡顿。
82.实施方式2,视频接收信息包括视频帧接收间隔,视频播放缓存信息包括视频帧缓存时间;第一设备基于第二信息,确定在预设时长内的视频帧播放情况,包括:根据视频帧接收间隔和视频帧缓存时间,统计预设时长内的帧播放抖动次数;若帧播放抖动次数小于等于第十阈值,则确定在预设时长内视频播放未卡顿;或者,若帧播放抖动次数大于第十阈值,则确定在预设时长内视频播放卡顿。
83.示例性的,第十阈值为3次,5分钟内的帧播放抖动次数未4次,则帧播放抖动次数大于第十阈值,则确定在5分钟内视频播放卡顿。
84.实施方式3,请参见图8,第一设备获取第二信息(即视频帧缓存时间(buffer time)和视频帧接收间隔(interval))之后,确定帧播放抖动时间(jitter time),帧播放抖动时间(jitter time)小于预设阈值,则确定视频播放卡顿;进一步,统计预设时长内的帧播放抖动次数,在帧播放抖动次数大于第十阈值时,才认为在预设时长内视频播放卡顿。或者,统计预设时长内的帧播放抖动时长,在帧播放抖动时长大于第九阈值时,才认为在预设时长内视频播放卡顿,停止取流。如此,使得视频卡顿检测更灵活。
85.s304:第一设备基于视频帧播放情况和/或网络拥塞情况,确定码流调整策略。
86.请参见图9,在一种可能的实施方式中,第一设备基于视频帧播放情况和/或网络拥塞情况,确定码流调整策略的过程可以是:获取视频帧播放情况和网络拥塞情况,在预设时长内视频播放卡顿和/或网络带宽处于过载状态时,码流调整策略用于指示第二设备下调码流;或者,在预设时长内视频播放未卡顿和/或网络带宽处于正常状态时,码流调整策略用于指示第二设备上调码流;或者,在预设时长内视频播放未卡顿和/或网络带宽处于低
载状态时,码流调整策略指示码流不变。
87.s305:第一设备向第二设备发送码流调整策略。相应的,第二设备接收码流调整策略。
88.s306:第二设备码流调整策略用于对码流进行调整。
89.示例性的,码流调整策略指示第二设备下调码流,则第二设备下调码流,例如将码流从2m降低为1m。若码流调整策略指示第二设备上调码流,则第二设备上调码流,例如将码流从1m降低为2m。
90.基于同一发明构思,本技术还提供了一种视频码流调整装置,请参见图10,图10为本技术实施例提供的一种视频码流调整装置的结构示意图,该装置可以用于实现上述第一设备执行的方法,该装置包括:
91.收发模块1001,用于接收第一信息,所述第一信息包括第二设备在预设时长内的视频帧发送信息;
92.处理模块1002,用于获取第二信息,所述第二信息包括所述第一设备在所述预设时长内的视频帧接收信息和/或视频帧播放缓存信息;基于所述第一信息和所述第二信息,确定在所述预设时长内的网络拥塞情况;和/或,基于所述第二信息,确定在所述预设时长内的视频帧播放情况;基于所述视频帧播放情况和/或所述网络拥塞情况,确定码流调整策略;
93.收发模块1001,还用于向所述第二设备发送所述码流调整策略,所述码流调整策略用于对码流进行调整。
94.在一种可能的实施方式中,处理模块1002具体用于:基于所述第一信息和所述第二信息,确定第一网络状态和/或第二网络状态;其中,所述第一网络状态与视频帧丢帧率关联,所述第二网络状态与视频帧时延关联;基于所述第一网络状态和/或所述第二网络状态,确定所述网络拥塞情况。
95.在一种可能的实施方式中,所述视频发送信息包括视频帧发送数目,所述视频接收信息包括视频帧接收数目;处理模块1002在用于基于所述第一信息和所述第二信息,确定第一网络状态时,具体用于:基于所述视频帧发送数目和所述视频帧接收数目,确定所述预设时长内的视频帧丢帧率;若所述视频帧丢帧率大于第一阈值,则确定所述第一网络状态为过载状态;或者,若所述视频帧丢帧率为第二阈值,则确定所述第一网络状态为正常状态;或者,若所述视频帧丢帧率大于等于第二阈值且小于第一阈值,则确定所述第一网络状态为低载状态。
96.在一种可能的实施方式中,所述视频发送信息包括视频帧帧发送间隔,所述视频接收信息包括视频帧帧接收间隔;处理模块1002在用于基于所述第一信息和所述第二信息,确定第二网络状态时,具体用于:基于视频帧帧发送间隔和视频帧帧接收间隔,确定所述预设时长内的视频帧时延的变化趋势;若所述视频帧时延的变化趋势的量化值大于第三阈值,且在所述预设时长内网络带宽的过载次数超出第四阈值和/或所述网络带宽的过载时长超出第五阈值,则确定所述第二网络状态为过载状态;或者,若所述视频帧时延的变化趋势的量化值小于第六阈值,则确定第二网络状态为低载状态;或者,若所述视频帧时延的变化趋势的量化值小于等于第三阈值且大于等于第六阈值,且在所述预设时长内网络带宽的正常次数超出第七阈值和/或所述网络带宽的正常时长超出第八阈值,则确定第二网络
状态为正常状态。
97.在一种可能的实施方式中,所述第三阈值和所述第六阈值是根据所述视频帧时延的变化趋势的量化值与所述第三阈值或所述第六阈值的差值的绝对值动态调整的。
98.在一种可能的实施方式中,处理模块1002在用于基于所述第一网络状态和/或所述第二网络状态,确定所述网络拥塞情况,具体用于:所述第一网络状态和/或所述第二网络状态为过载状态,则确定所述预设时长内的网络带宽处于过载状态;所述第一网络状态和所述第二网络状态均为正常状态,则确定所述预设时长内的网络带宽处于正常状态;所述第一网络状态为正常状态,所述第二网络状态为低载状态,则确定所述预设时长内的网络带宽处于低载状态。
99.在一种可能的实施方式中,所述视频接收信息包括视频帧接收间隔,所述视频播放缓存信息包括视频帧缓存时间;处理模块1002在用于基于所述第二信息,确定在所述预设时长内的视频帧播放情况,具体用于:根据所述视频帧接收间隔和所述视频帧缓存时间,确定所述预设时长内的帧播放抖动时间;若帧播放抖动时间小于等于第九阈值,则确定在所述预设时长内视频播放未卡顿;或者,若帧播放抖动时间大于第九阈值,则确定在所述预设时长内视频播放卡顿。
100.在一种可能的实施方式中,所述视频接收信息包括视频帧接收间隔,所述视频播放缓存信息包括视频帧缓存时间;处理模块1002在用于基于所述第二信息,确定在所述预设时长内的视频帧播放情况,具体用于:根据所述视频帧接收间隔和所述视频帧缓存时间,统计所述预设时长内的帧播放抖动次数;若帧播放抖动次数小于等于第十阈值,则确定在所述预设时长内视频播放未卡顿;或者,若帧播放抖动次数大于第十阈值,则确定在所述预设时长内视频播放卡顿。
101.在一种可能的实施方式中,处理模块1002在用于基于所述视频帧播放情况和/或所述网络拥塞情况,确定码流调整策略,具体用于:在所述预设时长内视频播放卡顿和/或网络带宽处于过载状态时,所述码流调整策略用于指示所述第二设备下调码流;或者,在所述预设时长内视频播放未卡顿和/或网络带宽处于正常状态时,所述码流调整策略用于指示所述第二设备上调码流。
102.基于同一发明构思,本技术还提供了一种视频码流调整装置,请参见图11,图11为本技术实施例提供的另一种视频码流调整装置的结构示意图,该装置可以用于实现上述第二设备执行的方法,该装置包括:
103.收发模块1101,用于发送第一信息,所述第一信息包括所述第二设备在预设时长内的视频帧发送信息;接收所述预设时长内的码流调整策略;
104.处理模块1102,用于基于所述码流调整策略,进行码流调整。
105.本技术实施例还提供了一种视频码流调整系统,该系统包括第一设备、第二设备和服务器,其中:第一设备可以通过服务器接收第一信息,所述第一信息包括第二设备在预设时长内的视频帧发送信息;以及,获取第二信息,所述第二信息包括所述第一设备在所述预设时长内的视频帧接收信息和/或视频帧播放缓存信息;基于所述第一信息和所述第二信息,确定在所述预设时长内的网络拥塞情况;和/或,基于所述第二信息,确定在所述预设时长内的视频帧播放情况;基于所述视频帧播放情况和/或所述网络拥塞情况,确定码流调整策略;通过所述服务器向所述第二设备发送所述码流调整策略;所述第二设备,可以通过
所述服务器接收所述码流调整策略,并对码流进行调整。
106.请参见图12所示,图12为本技术实施例提供的电子设备的结构示意图。该电子设备(例如图3中的第一设备或第二设备)包括至少一个处理器1202,以及与至少一个处理器连接的存储器1201,本技术实施例中不限定处理器1202与存储器1201之间的具体连接介质,图12是以处理器1202和存储器1201之间通过总线1200连接为例,总线1200在图12中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不以此为限。总线1200可以分为地址总线、数据总线、控制总线等,为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
107.在本技术实施例中,存储器1201存储有可被至少一个处理器1202执行的指令,至少一个处理器1202通过调用存储器1201存储的指令,可以执行前述的一种视频码流调整方法中所包括的步骤。
108.其中,处理器1202是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过执行存储在存储器1201内的指令,从而实现电子设备的各种功能。可选的,处理器1202可包括一个或多个处理单元,处理器1202可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1202中。在一些实施例中,处理器1202和存储器1201可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
109.存储器1201作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1201可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(random access memory,ram)、静态随机访问存储器(static random access memory,sram)、可编程只读存储器(programmable read only memory,prom)、只读存储器(read only memory,rom)、带电可擦除可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁性存储器、磁盘、光盘等等。存储器1201是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本技术实施例中的存储器1201还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
110.处理器1202可以是通用处理器,例如中央处理器(cpu)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本技术实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本技术实施例所公开的一种预警方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
111.通过对处理器1202进行设计编程,可以将前述实施例中介绍的一种释放资源的方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的一种视频码流调整方法的步骤,如何对处理器1202进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
112.基于上述实施例,本技术实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的一种视频码流
调整方法。
113.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
114.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
115.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
116.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
117.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献