一种短视频播放效率的优化方法、系统、介质及设备转让专利

申请号 : CN202011523066.0

文献号 : CN112702624B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙卫东胡兴旺陈中恺朱郯博杨沂婷王刚许加凯柳明辉石乾鲁红梅张丽萍吴江

申请人 : 山东鲁软数字科技有限公司

摘要 :

本发明属于视频处理领域,提供了一种短视频播放效率的优化方法、系统、介质及设备。其中,短视频播放效率的优化方法包括接收短视频播放请求,向请求方逐帧发送相关短视频信息;在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方。

权利要求 :

1.一种短视频播放效率的优化方法,其特征在于,包括:

接收短视频播放请求,向请求方逐帧发送相关短视频信息;

在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;

在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方;

在缓存设定时间内无短视频播放请求或超过缓存设定时间,继续向请求方发送下一帧短视频信息。

2.如权利要求1所述的短视频播放效率的优化方法,其特征在于,在向请求方逐帧发送相关短视频信息的过程中,还检测视频传输过程中是否有丢包。

3.如权利要求1所述的短视频播放效率的优化方法,其特征在于,根据传输视频包的序列号,找到应该插入短视频信息帧的位置,并更新当前帧头状态。

4.如权利要求3所述的短视频播放效率的优化方法,其特征在于,当前帧头状态包括没有数据的状态、至少有一个包的状态、可解码状态以及当前帧所有数据都已经到齐的状态。

5.如权利要求4所述的短视频播放效率的优化方法,其特征在于,可解码状态根据解码错误模式对应不同的规则,决定了解码线程从缓存中取出来的帧是否包含错误,当前帧是否有丢包。

6.如权利要求4所述的短视频播放效率的优化方法,其特征在于,根据当前帧头状态将缓存的当前帧视频信息调回至不同的信息队列中。

7.一种短视频播放效率的优化系统,其特征在于,包括:

播放请求接收模块,其用于接收短视频播放请求,向请求方逐帧发送相关短视频信息;

短视频信息缓存模块,其用于在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;

帧信息复用模块,其用于在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方;

在缓存设定时间内无短视频播放请求或超过缓存设定时间,继续向请求方发送下一帧短视频信息。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑6中任一项所述的短视频播放效率的优化方法中的步骤。

9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1‑6中任一项所述的短视频播放效率的优化方法中的步骤。

说明书 :

一种短视频播放效率的优化方法、系统、介质及设备

技术领域

[0001] 本发明属于视频处理领域,尤其涉及一种短视频播放效率的优化方法、系统、介质及设备。

背景技术

[0002] 本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
[0003] 短视频播放业务开发所面临的问题及困境:在大量短视频激增的情况下,各地市用户需要在短时间内浏览并操作多个视频文件,在高并发情况下总会出现系统卡顿、视频读取失败甚至应用闪退的情况;播放端缓存控制对于视频的首开延迟也有较大影响,视频读取缓存总是固定大小值,非常影响视频读取效率。
[0004] 而且市场上短视频播放相关软件及技术存在的问题和不足之处:市面上通用的视频读取软件只是在0缓存和固定大小的缓存之间进行选择找到平衡,最终还是会选择一个固定大小的缓存,这对亿级的移动互联网终端用户来说并不公平,不同的网络状况决定了这个固定大小的缓存并不完全合适;市面上通用的在视频播放软件通常没有开源的接口,视频数据不能实时与公司内部培训软件进行对接,不利于数据分析及挖掘。

发明内容

[0005] 为了解决上述背景技术中存在的至少一项技术问题,本发明提供一种短视频播放效率的优化方法、系统、介质及设备,其旨在提升视频播放的流畅度和效率,尽量减少视频传输中的丢包现象,实现低延迟,高流畅的播放。
[0006] 为了实现上述目的,本发明采用如下技术方案:
[0007] 本发明的第一个方面提供一种短视频播放效率的优化方法。
[0008] 一种短视频播放效率的优化方法,包括:
[0009] 接收短视频播放请求,向请求方逐帧发送相关短视频信息;
[0010] 在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;
[0011] 在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方。
[0012] 本发明的第二个方面提供一种短视频播放效率的优化系统。
[0013] 一种短视频播放效率的优化系统,包括:
[0014] 播放请求接收模块,其用于接收短视频播放请求,向请求方逐帧发送相关短视频信息;
[0015] 短视频信息缓存模块,其用于在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;
[0016] 帧信息复用模块,其用于在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方。
[0017] 本发明的第三个方面提供一种计算机可读存储介质。
[0018] 一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的短视频播放效率的优化方法中的步骤。
[0019] 本发明的第四个方面提供一种计算机设备。
[0020] 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的短视频播放效率的优化方法中的步骤。
[0021] 与现有技术相比,本发明的有益效果是:
[0022] 本发明在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方,解决了请求方在短时间内频繁发送短视频信息请求,而导致短视频播放不流畅的问题,提高了各帧短视频信息的复用性,优化了短视频播放的效率。
[0023] 本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

[0024] 构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
[0025] 图1是本发明实施例的短视频播放效率的优化方法流程图;
[0026] 图2是本发明实施例的短视频播队列。

具体实施方式

[0027] 下面结合附图与实施例对本发明作进一步说明。
[0028] 应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
[0029] 需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0030] 实施例一
[0031] 如图1所示,本实施例提供了短视频播放效率的优化方法,其具体包括如下步骤:
[0032] S101:接收短视频播放请求,向请求方逐帧发送相关短视频信息。
[0033] S102:在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息。
[0034] 具体地,在向请求方逐帧发送相关短视频信息的过程中,还检测视频传输过程中是否有丢包。
[0035] 在具体实施中,根据传输视频包的序列号,找到应该插入短视频信息帧的位置,并更新当前帧头状态。
[0036] 其中,当前帧头状态包括没有数据的状态、至少有一个包的状态、可解码状态以及当前帧所有数据都已经到齐的状态。
[0037] 可解码状态根据解码错误模式对应不同的规则,决定了解码线程从缓存中取出来的帧是否包含错误,当前帧是否有丢包。
[0038] 根据当前帧头状态将缓存的当前帧视频信息调回至不同的信息队列中。
[0039] S103:在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方。
[0040] 在具体实施中,在缓存设定时间内无短视频播放请求或超过缓存设定时间,继续向请求方发送下一帧短视频信息。
[0041] 如图2所示,Sender为传输视频的发送者,Frame1、Frame2为传输包1、传输包2,同时,Frame1、Frame2又分别包含相应的传输帧数,Receiver为视频传输的接收者,即视频播放端。
[0042] 本实施例通过使用硬件配合相关驱动对音视频进行解析编码处理技术,提升了视频播放的流畅度和效率,采用前向纠错和丢包重传技术,QOS策略减少了视频传输中的丢包现象,比如:采用WebRTC网页即时通信,设置视频缓冲区技术设置动态缓存技术降低视频播放的延迟。
[0043] 本实施例的短视频播放效率的优化方法策略包括如下步骤:
[0044] 步骤一,检测视频传输过程中是否有丢包;
[0045] 具体地,根据传输视频包的序列号,找到应该插入frame(传输包,也就是各短视频信息帧)的位置,并更新state(也就是帧头状态)。其中state有empty、incomplete、decodable和complete,empty为没有数据的状态,incomplete为至少有一个包的状态,decodable为可解码状态,complete为这一帧所有数据都已经到齐。decode_error_mode(解码错误模式) 有不同的规则,QOS(Quality of Service,服务质量)。decodable会根据decode_error_mode 有不同的规则,QOS的不同策略会设置不同的decode_error_mode,包含kNoErrors、kSelectiveErrors以及kWithErrors,其中kNoErrors是无异常、kSelectiveErrors是捕获异常、kWithErrors是异常说明,decode_error_mode 就决定了解码线程从buffer中取出来的帧是否包含错误,当前帧是否有丢包,即通过捕获异常及相应的返回code值(200:无丢包、其他值:有丢包)来判定是否丢包。
[0046] 步骤二,根据不同的state将frame帧push回到队列中去。其中state为incomplete时,push到incompleteframes队列,decodable和complete状态的frame,push回到decodableframes队列中。
[0047] 步骤三,freeframes队列有初始size,freeframes队列为空时,会增加队列size,但有最大值。也会定期从incompleteframes和decodable队列中清除一些过时的frame,push到freeframes队列。
[0048] 步骤四,解码线程取出frame,解码完成之后,push回freeframes队列。
[0049] 在本实施例队列分为三种:
[0050] Incompleteframes表示已完成传输队列,用来存储已被传输的frame;
[0051] decodableframes表示已解码队列,用来存储已解码的frame;
[0052] freeframes(表示未传输队列,用来存储未传输的frame。
[0053] 本实施例通过对下载首片视频的耗时来决定下一个时间片的缓存大小,同时在播放过程中实时监测当前网络,实时调整播放过程中缓存的大小。这样即可做到极低的首开时间,又可能够尽量消除网络抖动造成的影响。
[0054] 本实施例在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方,解决了请求方在短时间内频繁发送短视频信息请求,而导致短视频播放不流畅的问题,提高了各帧短视频信息的复用性,优化了短视频播放的效率。
[0055] 实施例二
[0056] 本实施例提供了一种短视频播放效率的优化系统,其包括:
[0057] 播放请求接收模块,其用于接收短视频播放请求,向请求方逐帧发送相关短视频信息;
[0058] 短视频信息缓存模块,其用于在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;
[0059] 帧信息复用模块,其用于在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方。
[0060] 此处需要说明的是,本实施例的短视频播放效率的优化系统中各个模块,与实施例一中的短视频播放效率的优化方法中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
[0061] 本实施例在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方,解决了请求方在短时间内频繁发送短视频信息请求,而导致短视频播放不流畅的问题,提高了各帧短视频信息的复用性,优化了短视频播放的效率。
[0062] 实施例三
[0063] 本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的短视频播放效率的优化方法中的步骤。
[0064] 本实施例在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方,解决了请求方在短时间内频繁发送短视频信息请求,而导致短视频播放不流畅的问题,提高了各帧短视频信息的复用性,优化了短视频播放的效率。
[0065] 实施例四
[0066] 本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的短视频播放效率的优化方法中的步骤。
[0067] 本实施例在每帧短视频信息传送至请求方的过程中,保持当前帧头状态设定时间且将缓存当前帧头状态对应的帧短视频信息;在缓存设定时间内,若连续多次接收到短视频播放请求,则从缓存中重新调用当前帧短视频信息至相应短视频信息队列中并重新传送至请求方,解决了请求方在短时间内频繁发送短视频信息请求,而导致短视频播放不流畅的问题,提高了各帧短视频信息的复用性,优化了短视频播放的效率。
[0068] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0069] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0070] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0071] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0072] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read‑Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
[0073] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。