视频播放的检测方法、装置、设备和计算机可读存储介质与流程
未命名
07-13
阅读:120
评论:0
1.本技术的实施例涉及视频处理领域,尤其涉及视频播放的检测方法、装置、设备和计算机可读存储介质。
背景技术:
2.用户在通过dvb等通路观看节目时,只有在拔掉信号线等极端情况时上层应用才会获取到“没有信号(no signal)”的消息,在严重卡顿、马赛克情况等播放质量不佳时,底层并没有进行处理和触发消息给上层应用,以至于上层应用不能及时的进行播放通路的转换,严重影响了客户观看体验。
技术实现要素:
3.根据本技术的实施例,提供了一种视频播放的检测方案,能够在节目播放质量差的场景下,触发消息提供给上层应用进行播放通路的自动切换,大幅度提升了用户的观看体验。
4.在本技术的第一方面,提供了一种视频播放的检测方法。该方法包括:获取视频的实时帧率;基于所述实时帧率,确定所述视频的当前帧率;基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,若更新后的数值满足预设条件,则向应用层发送包括转换播放通路的消息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路。
5.进一步地,所述获取视频的实时帧率包括:通过底层的回调接口获取视频每一帧的渲染时间,通过相邻两帧时间节点的差值确定视频的实时帧率。
6.进一步地,所述基于视频的实时帧率,确定所述视频的当前帧率包括:获取初始的当前帧率;基于初始的当前帧率和实时帧率,确定第一当前帧率;基于预设的最大帧率和所述第一当前帧率,确定所述视频的当前帧率。
7.进一步地,所述基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新包括:若所述实时帧率小于所述当前帧率与信号质量阈值的乘积,则将用于标注所述视频的信号质量的数值进行加1。
8.在本技术的第二方面,提供了一种视频播放的检测装置。该装置包括:获取模块,用于获取视频的实时帧率;确定模块,用于基于所述实时帧率,确定所述视频的当前帧率;检测模块,用于基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,若更新后的数值满足预设条件,则向应用层发送包括转换播放通路的消
息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路。
9.进一步地,所述获取模块具体用于:通过底层的回调接口获取视频每一帧的渲染时间,通过相邻两帧时间节点的差值确定视频的实时帧率。
10.进一步地,所述确定模块具体用于:获取初始的当前帧率;基于初始的当前帧率和实时帧率,确定第一当前帧率;基于预设的最大帧率和所述第一当前帧率,确定所述视频的当前帧率。
11.进一步地,所述基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新包括:若所述实时帧率小于所述当前帧率与信号质量阈值的乘积,则将用于标注所述视频的信号质量的数值进行加1。
12.在本技术的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
13.在本技术的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本技术的第一方面的方法。
14.本技术实施例提供的视频播放的检测方法,通过获取视频的实时帧率;基于所述实时帧率,确定所述视频的当前帧率;基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,若更新后的数值满足预设条件,则向应用层发送包括转换播放通路的消息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路,能够在视频播放质量差的场景下进行播放通路的自动切换,大幅度提升了用户的观看体验。
15.应当理解,发明内容部分中所描述的内容并非旨在限定本技术的实施例的关键或重要特征,亦非用于限制本技术的范围。本技术的其它特征将通过以下的描述变得容易理解。
附图说明
16.结合附图并参考以下详细说明,本技术各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:图1为根据本技术的实施例的视频播放的检测方法的流程图;图2为根据本技术的实施例的视频播放的检测装置的方框图;图3为适于用来实现本技术实施例的终端设备或服务器的结构示意图。
具体实施方式
17.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
18.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另
外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
19.图1示出了根据本公开实施例的视频播放的检测方法的流程图。所述方法包括:s110,获取视频的实时帧率。
20.在一些实施例中,可通过底层的回调接口(例如,onframerendered),获取到渲染每一帧的时间节点presentationtimeus。
21.进一步地,通过相邻两帧时间节点的差值确定视频的实时帧率。
22.具体地,通过相邻两帧时间节点的差值,得到当前帧和上一帧的时间差,用预设的时间阈值(例如,1s,即100000us)除以该时间差值,计算得到当前视频的实时帧率(int delta)。即,int delta = (int) (1000000 / (presentationtimeus
ꢀ‑ꢀ
mlastrenderedtimeus))。
23.s120,基于所述实时帧率,确定所述视频的当前帧率。
24.在一些实施例中,通过两次更新的方式计算得到视频最终的当前帧率:第一次更新:获取初始的当前帧率,基于初始的当前帧率和实时帧率,确定第一当前帧率。即,基于初始的当前帧率和实时帧率中最大的值,确定第一当前帧率。取初始的当前帧率和实时帧率的最大值进行第一次更新,确定第一当前帧率。例如,视频播放后,初始的当前帧率为0(第一帧的帧率为0),则初始的当前帧率的值为实时帧率,即,第一当前帧率的值为实时帧率。
25.第二次更新:将通过第一次更新得到的第一当前帧率,与预设的最大帧率进行比较,取两个数值中的最小值作为最终的当前帧率。所述预设的最大帧率可根据实际应用场景进行设置,例如设置为25。
26.需要说明的是,随着视频的播放,第二次更新得到的最终的当前帧率,可作为下一次循环中初始的当前帧率。即,第一帧的初始的当前帧率为0,非第一帧的初始的当前帧率可通过上述更新方式得到。
27.s130,基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,若更新后的数值满足预设条件,则向应用层发送包括转换播放通路的消息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路。
28.在一些实施例中,在基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新前,还包括:确定当前的视频是否已经正常播放,若是,则基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新。
29.具体地,可通过视频的第一帧,确定当前视频是否正常播放,例如,通过预先在系统中设置的true(正常)和false(异常)标识判断视频是否正常播放,若视频的第一帧正常播放,则为true,反之,则为false。
30.在一些实施例中,基于实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,包括:若所述实时帧率小于所述当前帧率与信号质量阈值的乘积,则将用于标注所述视频的信号质量的数值进行加1;所述信号质量阈值优选为3/4。即,若实时帧率小于当前帧率的3/4,则将用于标注所述视频的信号质量的数值(poorcount)进行加1(poorcount+1)。
31.进一步地,当poorcount的值满足预设条件时,向应用层发送包括转换播放通路的
消息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路。
32.具体地,当poorcount的值达到触发消息的最小阈值时(满足预设条件),向预先在播放器中设置的帧率监听器(frameratelistener)发送一条带有用于标识当前信号质量差的消息(notifysignalquality),该监听器用于持续监听帧率(onframerate),若该监听器监听到消息notifysignalquality,则向上层应用(apk)发送一条用于转换播放通路的消息,该消息可以为弱信号消息也可以为其它自定义的消息,以便于所述应用层响应于该消息,切换播放通路。
33.根据本公开的实施例,实现了以下技术效果:从底层获取数据,通过中间层对视频渲染帧进行处理,确定当前视频的播放质量,在播放质量差时,向上层应用发送转换播放通路的消息,以便于上层应用响应于所述包括转换播放通路的消息,切换播放通路,能够在视频播放质量差的场景下进行播放通路的自动切换,例如,将dvb节目的播放通路切换到ott节目,大幅度提升了用户的观看体验。
34.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本技术所必须的。
35.以上是关于方法实施例的介绍,以下通过装置实施例,对本技术所述方案进行进一步说明。
36.图2示出了根据本技术的实施例的视频播放的检测装置的方框图如图2所示,包括:获取模块210,用于获取视频的实时帧率;确定模块220,用于基于所述实时帧率,确定所述视频的当前帧率;检测模块230,用于基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,若更新后的数值满足预设条件,则向应用层发送包括转换播放通路的消息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路。
37.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
38.图3示出了适于用来实现本技术实施例的终端设备或服务器的结构示意图。
39.如图3所示,终端设备或服务器包括中央处理单元(cpu)301,其可以根据存储在只读存储器(rom)302中的程序或者从存储部分308加载到随机访问存储器(ram)303中的程序而执行各种适当的动作和处理。在ram 303中,还存储有终端设备或服务器操作所需的各种程序和数据。cpu 301、rom 302以及ram 303通过总线304彼此相连。输入/输出(i/o)接口305也连接至总线304。
40.以下部件连接至i/o接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至i/o接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出
的计算机程序根据需要被安装入存储部分308。
41.特别地,根据本技术的实施例,上文方法流程步骤可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分309从网络上被下载和安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(cpu)301执行时,执行本技术的系统中限定的上述功能。
42.需要说明的是,本技术所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
43.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
44.描述于本技术实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
45.作为另一方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本技术的方法。
46.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术
方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
技术特征:
1.一种视频播放的检测方法,其特征在于,包括:获取视频的实时帧率;基于所述实时帧率,确定所述视频的当前帧率;基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,若更新后的数值满足预设条件,则向应用层发送包括转换播放通路的消息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路。2.根据权利要求1所述的方法,其特征在于,所述获取视频的实时帧率包括:通过底层的回调接口获取视频每一帧的渲染时间,通过相邻两帧时间节点的差值确定视频的实时帧率。3.根据权利要求2所述的方法,其特征在于,所述基于视频的实时帧率,确定所述视频的当前帧率包括:获取初始的当前帧率;基于初始的当前帧率和实时帧率,确定第一当前帧率;基于预设的最大帧率和所述第一当前帧率,确定所述视频的当前帧率。4.根据权利要求2所述的方法,其特征在于,所述基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新包括:若所述实时帧率小于所述当前帧率与信号质量阈值的乘积,则将用于标注所述视频的信号质量的数值进行加1。5.一种视频播放的检测装置,其特征在于,包括:获取模块,用于获取视频的实时帧率;确定模块,用于基于所述实时帧率,确定所述视频的当前帧率;检测模块,用于基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,若更新后的数值满足预设条件,则向应用层发送包括转换播放通路的消息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路。6.根据权利要求5所述的装置,其特征在于,所述获取模块具体用于:通过底层的回调接口获取视频每一帧的渲染时间,通过相邻两帧时间节点的差值确定视频的实时帧率。7.根据权利要求6所述的装置,其特征在于,所述确定模块具体用于:获取初始的当前帧率;基于初始的当前帧率和实时帧率,确定第一当前帧率;基于预设的最大帧率和所述第一当前帧率,确定所述视频的当前帧率。8.根据权利要求6所述的装置,其特征在于,所述基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新包括:若所述实时帧率小于所述当前帧率与信号质量阈值的乘积,则将用于标注所述视频的信号质量的数值进行加1。9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~4中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~4中任一项所述的方法。
技术总结
本申请的实施例提供了视频播放的检测方法、装置、设备和计算机可读存储介质。所述方法包括获取视频的实时帧率;基于所述实时帧率,确定所述视频的当前帧率;基于所述实时帧率和当前帧率,对用于标注所述视频的信号质量的数值进行更新,若更新后的数值满足预设条件,则向应用层发送包括转换播放通路的消息,以便于所述应用层响应于所述包括转换播放通路的消息,切换播放通路。以此方式,能够在节目播放质量差的场景下,触发消息提供给上层应用进行播放通路的自动切换,大幅度提升了用户的观看体验。验。验。
技术研发人员:梁石磷 张宇晗
受保护的技术使用者:深圳市华曦达科技股份有限公司
技术研发日:2023.06.09
技术公布日:2023/7/12
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
