CN114257857B - 显示设备及视频倍速播放方法 - Google Patents
显示设备及视频倍速播放方法 Download PDFInfo
- Publication number
- CN114257857B CN114257857B CN202210001400.9A CN202210001400A CN114257857B CN 114257857 B CN114257857 B CN 114257857B CN 202210001400 A CN202210001400 A CN 202210001400A CN 114257857 B CN114257857 B CN 114257857B
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- video frame
- current
- clock
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000001360 synchronised effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 239000010410 layer Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000001105 regulatory effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请涉及一种显示设备及视频倍速播放方法,应用于视频播放技术领域,显示设备包括:通信器,被配置为接收倍速播放请求,控制器,被配置为若倍速值大于1,且显示设备的视频解码能力大于第一预设能力且小于第二预设能力,获取当前视频帧和前一视频帧之间的帧间隔,根据帧间隔确定音视频同步阈值;若视频时钟和音频时钟的差值的绝对值大于音视频同步阈值,根据帧间隔、时钟差值和当前视频帧的显示时刻,确定下一视频帧的显示时刻;根据当前系统时刻、下一视频帧的显示时刻和丢帧属性,确定是否丢弃下一视频帧;将当前视频帧更新为下一视频帧,返回获取帧间隔的步骤,直至播放完目标视频。本申请可以提高视频播放的流畅性。
Description
技术领域
本申请涉及视频播放技术领域,尤其涉及一种显示设备及视频倍速播放方法。
背景技术
在视频播放技术中,用户在观看视频时可以对视频进行倍速播放以满足自身的播放需求。当倍速值大于1的情况下,若视频播放设备的视频解码能力无法达到倍速要求,则会对视频帧进行丢帧处理。然而,该方法会存在视频明显卡顿的问题,影响用户观看体验。
发明内容
为了解决上述技术问题,本申请提供了一种显示设备、视频倍速播放方法、存储介质及程序产品。
根据本申请的第一方面,提供了一种显示设备,包括:
通信器,被配置为:接收针对目标视频的倍速播放请求;
控制器,被配置为:如果所述倍速播放请求中携带的倍速值大于1,检测显示设备的视频解码能力;
如果所述视频解码能力大于第一预设能力且小于第二预设能力,获取所述目标视频的当前视频帧和所述当前视频帧的前一个视频帧之间的帧间隔,并根据所述帧间隔确定音视频同步阈值;
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于所述音视频同步阈值,根据所述帧间隔、所述时钟差值和所述当前视频帧的显示时刻,确定所述当前视频帧的下一个视频帧的显示时刻;
根据当前系统时刻、所述下一个视频帧的显示时刻和丢帧属性,确定是否丢弃所述下一个视频帧,其中,所述丢帧属性用于使所述目标视频中连续丢帧的数量小于等于预设数量;
如果不丢弃所述下一个视频帧,播放所述下一个视频帧;如果丢弃所述下一个视频帧,对所述下一个视频帧进行丢帧处理;
将所述当前视频帧更新为所述下一个视频帧,返回所述获取所述目标视频的当前视频帧和所述当前视频帧的前一个视频帧之间的帧间隔的步骤,直至播放完所述目标视频。
在本申请的一些实施例中,所述控制器,还被配置为:
如果所述视频解码能力小于等于所述第一预设能力,将所述目标视频的参考时钟由音频时钟修改为视频时钟,以使所述目标视频的音频数据同步所述目标视频的视频数据。
在本申请的一些实施例中,所述控制器,具体被配置为通过下述步骤实现根据当前系统时刻、所述下一个视频帧的显示时刻和丢帧属性,确定是否丢弃所述下一个视频帧:
如果当前系统时刻大于所述下一个视频帧的显示时刻,根据所述丢帧属性确定是否丢弃所述下一个视频帧;
如果当前系统时刻小于等于所述下一个视频帧的显示时刻,不丢弃所述下一个视频帧。
在本申请的一些实施例中,所述丢帧属性用于对所述目标视频中的视频帧进行不连续丢帧;
所述控制器,具体被配置为通过下述步骤实现根据所述丢帧属性确定是否丢弃所述下一个视频帧:
如果所述丢帧属性为丢帧,对所述下一个视频帧进行丢帧处理,并将所述丢帧属性更新为不丢帧;
如果所述丢帧属性为不丢帧,不对所述下一个视频帧进行丢帧处理。
在本申请的一些实施例中,所述控制器,具体被配置为通过下述步骤实现根据所述帧间隔、所述时钟差值和所述当前视频帧的显示时刻,确定所述当前视频帧的下一个视频帧的显示时刻:
根据所述帧间隔和所述时钟差值之和,确定帧持续时间;
根据所述当前视频帧的显示时刻和所述帧持续时间,确定所述当前视频帧的下一个视频帧的显示时刻。
在本申请的一些实施例中,所述控制器,具体被配置为通过下述步骤实现根据所述帧间隔和所述时钟差值之和确定帧持续时间:
如果所述帧间隔和所述时钟差值之和大于等于0,将所述帧间隔和所述时钟差值之和确定为帧持续时间;
如果所述帧间隔和所述时钟差值之和小于0,将0确定为帧持续时间。
在本申请的一些实施例中,所述控制器,具体被配置为通过下述步骤实现检测显示设备的视频解码能力:
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于第一预设时钟差,且小于第二预设时钟差,则确定显示设备的视频解码能力大于所述第一预设能力,且小于所述第二预设能力;
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于等于第二预设时钟差,则确定显示设备的视频解码能力小于等于所述第一预设能力。
根据本申请的第二方面,提供了一种视频倍速播放方法,包括:
接收针对目标视频的倍速播放请求,如果所述倍速播放请求中携带的倍速值大于1,检测显示设备的视频解码能力;
如果所述视频解码能力大于第一预设能力且小于第二预设能力,获取所述目标视频的当前视频帧和所述当前视频帧的前一个视频帧之间的帧间隔,并根据所述帧间隔确定音视频同步阈值;
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于所述音视频同步阈值,根据所述帧间隔、所述时钟差值和所述当前视频帧的显示时刻,确定所述当前视频帧的下一个视频帧的显示时刻;
根据当前系统时刻、所述下一个视频帧的显示时刻和丢帧属性,确定是否丢弃所述下一个视频帧,其中,所述丢帧属性用于使所述目标视频中连续丢帧的数量小于等于预设数量;
如果不丢弃所述下一个视频帧,播放所述下一个视频帧;如果丢弃所述下一个视频帧,对所述下一个视频帧进行丢帧处理;
将所述当前视频帧更新为所述下一个视频帧,返回所述获取所述目标视频的当前视频帧和所述当前视频帧的前一个视频帧之间的帧间隔的步骤,直至播放完所述目标视频。
在本申请的一些实施例中,所述方法还包括:
如果所述视频解码能力小于等于所述第一预设能力,将所述目标视频的参考时钟由音频时钟修改为视频时钟,以使所述目标视频的音频数据同步所述目标视频的视频数据。
在本申请的一些实施例中,所述根据当前系统时刻、所述下一个视频帧的显示时刻和丢帧属性,确定是否丢弃所述下一个视频帧,包括:
如果当前系统时刻大于所述下一个视频帧的显示时刻,根据所述丢帧属性确定是否丢弃所述下一个视频帧;
如果当前系统时刻小于等于所述下一个视频帧的显示时刻,不丢弃所述下一个视频帧。
在本申请的一些实施例中,所述丢帧属性用于对所述目标视频中的视频帧进行不连续丢帧;所述根据所述丢帧属性确定是否丢弃所述下一个视频帧,包括:
如果所述丢帧属性为丢帧,对所述下一个视频帧进行丢帧处理,并将所述丢帧属性更新为不丢帧;
如果所述丢帧属性为不丢帧,不对所述下一个视频帧进行丢帧处理。
在本申请的一些实施例中,根据所述帧间隔、所述时钟差值和所述当前视频帧的显示时刻,确定所述当前视频帧的下一个视频帧的显示时刻,包括:
根据所述帧间隔和所述时钟差值之和确定帧持续时间;
根据所述当前视频帧的显示时刻和所述帧持续时间,确定所述当前视频帧的下一个视频帧的显示时刻。
在本申请的一些实施例中,所述根据所述帧间隔和所述时钟差值之和确定帧持续时间,包括:
如果所述帧间隔和所述时钟差值之和大于等于0,将所述帧间隔和所述时钟差值之和确定为帧持续时间;
如果所述帧间隔和所述时钟差值之和小于0,将0确定为帧持续时间。
在本申请的一些实施例中,所述检测显示设备的视频解码能力,包括:
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于第一预设时钟差,且小于第二预设时钟差,则确定显示设备的视频解码能力大于所述第一预设能力,且小于所述第二预设能力;
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于等于第二预设时钟差,则确定显示设备的视频解码能力小于等于所述第一预设能力。
根据本申请的第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第二方面所述的方法。
根据本申请的第四方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行第二方面所述的方法。
本申请实施例提供的技术方案与现有技术相比具有如下优点:
当接收到倍速播放请求后,判断倍速播放请求中的倍速值是否大于1,如果倍速值大于1,表示对显示设备的视频解码能力的要求有所提升,可以检测显示设备的视频解码能力。如果视频解码能力大于第一预设能力且小于第二预设能力,表示视频解码能力无法达到倍速要求,但视频解码能力也不会过低,可以根据当前视频帧和前一个视频帧之间的帧间隔确定音视频同步阈值。在当前视频时钟和当前音频时钟的时钟差值的绝对值大于音视频同步阈值时,认为此时可以对目标视频进行调整。根据帧间隔、时钟差值和当前视频帧的显示时刻,确定下一个视频帧的显示时刻,并基于根据当前系统时刻、下一个视频帧的显示时刻和丢帧属性,确定是否丢弃下一个视频帧。由于丢帧属性用于使目标视频中连续丢帧的数量小于等于预设数量,因此在判断是否丢帧时通过结合丢帧属性,可以避免丢帧数量过多而造成视频卡顿的问题,从而提高视频播放的流畅性,提升用户的观看体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请一个或多个实施例的显示设备与控制装置之间操作场景的示意图;
图2为根据本申请一个或多个实施例的显示设备200的硬件配置框图;
图3为根据本申请一个或多个实施例的控制设备100的硬件配置框图;
图4为根据本申请一个或多个实施例的显示设备200中应用程序的图标控件界面显示示意图;
图5为本申请实施例的一种系统架构示意图;
图6示出了可以应用于本申请实施例的视频倍速播放方法的示例性系统架构的示意图;
图7为本申请实施例中视频倍速播放方法的一种流程图;
图8为音视频同步的一种示意图;
图9为本申请实施例中视频帧的显示时刻和系统时刻的一种示意图。
具体实施方式
为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
图1为根据本申请一个或多个实施例的显示设备与控制装置之间操作场景的示意图,如图1所示,用户可通过移动终端300和控制装置100操作显示设备200。控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信、蓝牙协议通信,无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键,语音输入、控制面板输入等输入用户指令,来控制显示设备200。在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑、和其他智能设备以控制显示设备200。
在一些实施例中,移动终端300可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。也可以将移动终端300上显示音视频内容传输到显示设备200上,实现同步显示功能显示设备200还与服务器400通过多种通信方式进行数据通信。可允许显示设备200通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。显示设备200,可以液晶显示器、OLED显示器、投影显示设备。显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。
图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。通信接口130用于和外部通信,包含WIFI芯片,蓝牙模块,NFC或可替代模块中的至少一种。用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
图3示出了根据示例性实施例中显示设备200的硬件配置框图。如图3所示显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口280中的至少一种。控制器包括中央处理器,视频处理器,音频处理器,图形处理器,RAM,ROM,用于输入/输出的第一接口至第n接口。显示器260可为液晶显示器、OLED显示器、触控显示器以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及EPG数据信号。检测器230用于采集外部环境或与外部交互的信号。控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。用户可在显示器260上显示的图形用户界面(GUI)输入用户命令,则用户输入接口通过图形用户界面(GUI)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(Graphic User Interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素中的至少一种。
图4为根据本申请一个或多个实施例的显示设备200中应用程序的图标控件界面显示示意图,如图4中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。直播电视应用程序,可以通过不同的信号源提供直播电视。视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。应用程序中心,可以提供储存各种应用程序。
本申请在安卓系统中的实现如图5所示,安卓系统中主要包括应用层、中间件播放器以及核心层,实现逻辑主要在中间件播放器,中间件播放器包括视频流处理模块和同步渲染模块,视频流处理模块包括demux(解复用)器和视频解码器。Demux器用于对获取的视频数据进行demux处理,得到ES(码流)数据。将ES数据缓存至第一缓存模块。视频解码器可以从第一缓存模块获取ES数据,并对ES数据进行视频解码处理,得到视频帧,并将视频帧存入第二缓存模块。同步渲染模块可以从第一缓存模块依次获取各个视频帧,并判断对各个视频帧是否进行丢帧处理。
图6示出了可以应用于本申请实施例的视频倍速播放方法的示例性系统架构的示意图。首先,在应用层可以先创建播放器,并在设置surface(视频播放的窗口)、设置播放源之后进入准备工作,准备工作完成之后,开始工作。其中,准备工作的流程包括:开启视频流配置等,例如可以创建多个线程,用于后续不同流程的处理。
视频流处理模块可以对应至少两个不同的线程,一个线程用于从视频URL(统一资源定位系统)获取网络视频数据,或者,从本地读取视频数据,通过对获取到的视频数据进行demux,可以得到ES数据,并将ES数据进行缓存。另一个线程可以根据对视频解码器的配置(软解码或硬解码),从ES数据的缓存中获取ES数据,如果是软解码,可以使用ffmpeg(Fast Forward Mpeg)对ES数据进行解码;如果是硬解码,可以使用mediacoder(影音转码快车)对ES数据进行解码,解码后得到视频帧,并将视频帧存入视频帧队列中。
同步渲染模块也可以对应一个线程,用于从视频帧队列中读取数据,利用本申请实施例的视频倍速播放方法判断是否对各个视频帧进行丢帧处理,在不丢帧的情况下显示视频帧。
以下首先对本申请实施例的显示设备进行介绍。
在一些实施例中,上述显示设备200可以是具有显示功能的终端设备,例如电视机、智能手机、电脑、学习机等。该显示设备200包括:
通信器220,被配置为:接收移动终端300或控制装置100针对目标视频的倍速播放请求;即,用户可以通过移动终端300或控制装置100设置目标视频的播放速度。
不同的显示设备可能具有不同的视频解码能力,针对具有不同视频解码能力的显示设备,视频倍速播放的方式也可以不同。因此,控制器250,被配置为:如果倍速播放请求中携带的倍速值大于1,检测显示设备的视频解码能力;如果视频解码能力大于第一预设能力且小于第二预设能力,表示显示设备的视频解码能力虽然无法达到倍速要求,但是视频解码能力也不是严重不足,此时可以获取目标视频的当前视频帧和当前视频帧的前一个视频帧之间的帧间隔,并根据帧间隔确定音视频同步阈值。音视频同步阈值表示视频和音频在不同步情况下的最大时间差。如果在音视频同步阈值内,则认为可以不用对视频帧进行调控,否则,则认为可以对视频帧进行调控。
在实际场景下,为了解决音视频不同步的问题,通常可以引入时间戳:首先选择一个参考时钟(要求参考时钟包含的时间是线性递增的);编码时依据参考时钟为每个音视频数据块打上时间戳。在播放时,根据音视频时间戳及参考时钟,来调整播放速度。可见,视频和音频的同步是一个动态调整的过程,以参考时钟为标准,播放快了就减慢播放速度;播放慢了就加快播放的速度。音频数据对应的参考时钟为音频时钟,视频数据对应的参考时钟为视频时钟。
可以理解的是,在视频解码能力不足的情况下,视频时钟通常落后于音频时钟,因此,目标视频的当前视频时钟和当前音频时钟的时钟差值为负值。如果目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于音视频同步阈值,表示存在音频和视频不同步的问题,可以根据帧间隔、时钟差值和当前视频帧的显示时刻,确定当前视频帧的下一个视频帧的显示时刻。根据当前系统时刻、下一个视频帧的显示时刻和丢帧属性,确定是否丢弃下一个视频帧。也就是,比较当前系统时刻、和下一个视频帧的显示时刻的先后顺序,并参考丢帧属性,确定是否对下一个视频帧进行丢帧处理。由于丢帧属性用于使目标视频中连续丢帧的数量小于等于预设数量,因此,可以避免连续丢帧过多导致视频播放的卡顿。预设数量可以是1、2、3等,连续丢帧的数量可以是1帧、2帧、3帧。需要说明的是,连续丢帧的数量为2帧以上的情况下,表示连续丢帧,如果连续丢帧的数量为1帧,则表示不连续丢帧。
如果不丢弃下一个视频帧,播放下一个视频帧即可。如果丢弃下一个视频帧,对下一个视频帧进行丢帧处理。由于目标视频对应的是由多个视频帧构成的视频帧序列,因此,不论是否丢弃下一个视频帧,可以将当前视频帧更新为下一个视频帧,返回获取目标视频的当前视频帧和当前视频帧的前一个视频帧之间的帧间隔的步骤,以循环执行上述过程,直至播放完目标视频。
本申请实施例中,当显示设备的通信器接收到倍速播放请求后,显示设备的控制器可以判断该倍速播放请求中的倍速值是否大于1,如果倍速值大于1,表示对显示设备的视频解码能力的要求有所提升,可以检测显示设备的视频解码能力。如果视频解码能力大于第一预设能力且小于第二预设能力,表示视频解码能力无法达到倍速要求,但视频解码能力也不会过低,可以根据当前视频帧和前一个视频帧之间的帧间隔确定音视频同步阈值。在当前视频时钟和当前音频时钟的时钟差值的绝对值大于音视频同步阈值时,认为此时可以对目标视频进行调整。根据帧间隔、时钟差值和当前视频帧的显示时刻,确定下一个视频帧的显示时刻,并基于根据当前系统时刻、下一个视频帧的显示时刻和丢帧属性,确定是否丢弃下一个视频帧。由于丢帧属性用于使目标视频中连续丢帧的数量小于等于预设数量,因此在判断是否丢帧时通过结合丢帧属性,可以避免丢帧数量过多而造成视频卡顿的问题,从而提高视频播放的流畅性,提升用户的观看体验。
在本申请的一些实施例中,控制器250,还被配置为:如果视频解码能力小于等于第一预设能力,表示显示设备的视频解码能力严重不足,可以将目标视频的参考时钟由音频时钟修改为视频时钟,以使目标视频的音频数据同步目标视频的视频数据。这样,严重的卡顿将会过渡为正常播放,此时虽然可能达不到设定倍速,但是视频播放会更流畅。
在本申请的一些实施例中,控制器250,具体被配置为通过下述步骤实现根据当前系统时刻、下一个视频帧的显示时刻和丢帧属性,确定是否丢弃下一个视频帧:
如果当前系统时刻大于下一个视频帧的显示时刻,表示已经到了下一个视频帧的显示时刻,而下一个视频帧未显示。相关技术中则直接对下一个视频帧进行丢帧处理,而本申请可以进一步根据丢帧属性确定是否对下一个视频帧进行丢帧处理。如果当前系统时刻小于等于下一个视频帧的显示时刻,表示还未到下一个视频帧的显示时刻,可以不对下一个视频帧进行丢帧处理。
在本申请的一些实施例中,丢帧属性用于对目标视频中的视频帧进行不连续丢帧;即,不存在将两个或更多个连续的视频帧进行丢帧处理。控制器250,具体被配置为通过下述步骤实现根据丢帧属性确定是否丢弃下一个视频帧:
如果丢帧属性为丢帧,表示可以对下一个视频帧进行丢帧处理,由于进行不连续丢帧,因此可以对下一个视频帧进行丢帧处理,并将丢帧属性更新为不丢帧。这样,在对下一个视频帧的下一个视频帧进行处理时,不再进行丢帧处理。如果丢帧属性为不丢帧,不对下一个视频帧进行丢帧处理。可以理解的是,目标视频的视频帧的丢帧是效果可以是不丢帧、丢帧、不丢帧、不丢帧、不丢帧、丢帧、不丢帧,而不是丢帧、丢帧、丢帧、丢帧、不丢帧、不丢帧,从而达到不连续丢帧的效果。
在本申请的一些实施例中,控制器250,具体被配置为通过下述步骤实现根据帧间隔、时钟差值和当前视频帧的显示时刻,确定当前视频帧的下一个视频帧的显示时刻:
可以先根据帧间隔和时钟差值之和,确定帧持续时间,帧持续时间表示显示视频帧所持续的时间。根据当前视频帧的显示时刻和帧持续时间,确定当前视频帧的下一个视频帧的显示时刻。即,将当前视频帧的显示时刻和帧持续时间相加所得到的时刻,即为当前视频帧的下一个视频帧的显示时刻。
如前所述,在倍速值大于1的场景下,视频时钟落后于音频时钟,当前视频时钟和当前音频时钟的时钟差值小于0,而帧间隔是大于0的数值,帧间隔和时钟差值之和可能大于0,也可能小于0,而帧持续时间是大于等于0的数值。在本申请的一些实施例中,控制器250,具体被配置为通过下述步骤实现根据帧间隔和时钟差值之和确定帧持续时间:如果帧间隔和时钟差值之和大于等于0,将帧间隔和时钟差值之和确定为帧持续时间;如果帧间隔和时钟差值之和小于0,将0确定为帧持续时间,从而保证帧持续时间的最小值为0。
可以理解的是,视频时钟和音频时钟的时钟差值的绝对值越大,表示视频时钟落后音频时钟越多,显示设备的视频解码能力也越低。因此,可以通过基于目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值来判断显示设备的视频解码能力。在本申请的一些实施例中,控制器250,具体被配置为通过下述步骤实现检测显示设备的视频解码能力:如果目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于第一预设时钟差,且小于第二预设时钟差,表示时钟差值的绝对值不是特别大,则确定显示设备的视频解码能力大于第一预设能力,且小于第二预设能力;如果目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于等于第二预设时钟差,表示时钟差值的绝对值较大,则确定显示设备的视频解码能力小于等于第一预设能力。
相应地,本申请实施例还提供了一种视频倍速播放方法。在接收针对目标视频的倍速播放请求后,如果倍速播放请求中携带的倍速值大于1,表示对显示设备的视频解码能力的要求有所提升,可以检测显示设备的视频解码能力,以确认视频解码能力是否达到倍速要求。在未达到倍速要求,且视频解码能力也不是严重不足的情况下,可以对丢弃的视频帧进行调整,使连续丢弃的视频帧的数量小于预设数量,避免连续丢弃的视频帧的数量过多而造成视频播放的卡顿,以提高视频播放的流程性。在视频解码能力严重不足的情况下,通过改变同步时钟,即由视频数据同步音频数据改为音频数据同步视频数据,按照该方式播放目标视频时,视频播放的速度可能无法达到倍速要求,但可以以视频解码器的最大解码速率流畅播放目标视频,来提升用户观看体验。
为了更加详细的说明本方案,以下将以示例性的方式结合图7进行说明,可以理解的是,图7中所涉及的步骤在实际实现时可以包括更多的步骤,或者更少的步骤,并且这些步骤之间的顺序也可以不同,以能够实现本发明实施例中提供的视频倍速播放方法为准。
如图7所示,图7为本申请实施例中视频倍速播放方法的一种流程图,可以包括以下步骤:
步骤S702,接收针对目标视频的倍速播放请求。
用户在观看视频过程中,可以通过移动终端或控制装置改变用户当前观看的目标视频的播放速度。例如,可以将目标视频的播放速度调整为0.75X、1.25X、1.5X、1.75X和2X等。0.75X、1.25X、1.5X、1.75X和2X表示调整后的播放速度为原始播放速度的0.75倍、1.25倍、1.5倍、1.75倍和2倍,0.75、1.25、1.5、1.75和2即为倍速值。
步骤S704,判断倍速播放请求中携带的倍速值是否大于1。
在调整后的播放速度小于原始播放速度的情况下,即倍速值小于1时,由于对显示设备的视频解码能力的要求降低,因此,不会存在视频卡顿的问题,可以不作处理。在调整后的播放速度大于原始播放速度的情况下,即倍速值大于1时,对显示设备的视频解码能力的要求有所提升,因此,可能会存在视频卡顿的问题。因此,如果倍速播放请求中携带的倍速值大于1,可以执行步骤S706,通过检测显示设备的视频解码能力,使用与显示设备的视频解码能力所匹配的倍速策略。
步骤S706,检测显示设备的视频解码能力。
在理想情况下,如果音视频完全同步,音视频播放过程如图8所示,包括25FPS(画面每秒传输帧数)的视频流和44.1KHz的AAC(高级音频编码)音频流。一个视频帧的播放时长(帧间隔)为:1000ms/25=40ms,每隔40ms播放一个视频帧。一个AAC音频帧每个声道包含1024个采样点,则一个音频帧的播放时长为:(1024/44100)×1000ms=23.22ms,每隔23.22ms播放一个音频帧。然而,在实际场景下,若直接采用上述方式播放视频帧和音频帧,慢慢地就会出现音视频不同步的情况,即会出现视频比音频播放快的情况,或者,会出现音频比视频播放快的情况。
因此,为了解决音视频不同步的问题,可以引入时间戳:首先选择一个参考时钟(要求参考时钟包含的时间是线性递增的);编码时依据参考时钟为每个音视频数据块打上时间戳。在播放时,根据音视频时间戳及参考时钟,来调整播放速度。可见,视频和音频的同步是一个动态调整的过程,以参考时钟为标准,播放快了就减慢播放速度;播放慢了就加快播放的速度。音频数据对应的参考时钟为音频时钟,视频数据对应的参考时钟为视频时钟。在播放视频帧之前,可以对视频时钟进行更新。音频数据输出到音频轨道之前,可以对音频时钟进行更新。在理想情况下,音频时钟和视频时钟是相同的。然而,在实际场景下,音频时钟和视频时钟之间会存在一定的时间间隔。
本申请可以以音频时钟为参考时钟,即以音频数据的播放速度为基准,使视频数据与音频数据同步。如果视频数据比音频数据播放慢了,可以加快视频数据的播放速度;视频数据比音频数据播放快了,则延迟播放视频数据。
在倍速场景下,由于视频解码的速度跟不上音频解码的速度,因此视频时钟和音频时钟之间存在一定的时间间隔。视频解码的能力越弱,间隔的时间越长,视频解码能力越强,间隔的时间越短。在本申请的一些实施例中,可以通过下述方式检测显示设备的视频解码能力:
如果目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值小于等于第一预设时钟差,表示该时钟差值的绝对值较小,视频解码能力较高,可以满足倍速的要求,倍速播放时直接加快视频帧的render(渲染)速度来达到倍速效果。如果目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于第一预设时钟差,表示无法达到倍速要求。但是,如果时钟差值的绝对值小于第二预设时钟差,则认为显示设备的视频解码能力并不是严重不足,则确定显示设备的视频解码能力大于第一预设能力,且小于第二预设能力。如果目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于等于第二预设时钟差,则认为显示设备的视频解码能力严重不足,确定显示设备的视频解码能力小于等于第一预设能力。
可以理解的是,第一预设时钟差可以与倍速值相关,倍速值越大,第一预设时钟差可以越大。例如,第一预设时钟差可以是30毫秒、40毫秒等。而第二预设时钟差用于判断显示设备的视频解码能力是否严重不足,第二预设时钟差可以是500毫秒、600毫秒或800毫秒等。
如果视频解码能力大于第一预设能力且小于第二预设能力,表示显示设备的视频解码能力尚可,可以执行步骤S708。
步骤S708,获取目标视频的当前视频帧和当前视频帧的前一个视频帧之间的帧间隔,并根据帧间隔确定音视频同步阈值。
如前所述,在视频解码器对目标视频进行解码之后,可以得到目标视频对应的视频帧序列,视频帧序列存储在缓存中。在视频播放过程中,依次从视频帧序列中获取各个视频帧,并按照本申请实施例的丢帧策略判断是否进行丢帧处理。相邻两个视频帧的时间间隔即为帧间隔,帧间隔是两个视频帧中前一个视频帧的持续显示时间。目标视频的当前视频帧指的是在接收到倍速播放请求时当前播放的视频帧。当前视频帧的前一个视频帧指在视频帧序列中在该当前视频帧之前的一个视频帧。当前视频帧和当前视频帧的前一个视频帧之间的帧间隔即为在对目标视频进行解码后得到的视频帧序列中当前视频帧和当前视频帧的前一个视频帧之间的帧间隔。如图8所示,在理想情况下,任意相邻的两个视频帧之间的帧间隔是固定的。但在实际场景下,由于网络状态的变化,或者可能会进行音视频同步调整等等,帧间隔是不断变化的。
音视频同步阈值表示音频数据和视频数据在同步情况下的最大时间差,通过帧间隔可以确定一个合理的音视频同步阈值。在一些实施例中,可以获取预设同步范围,如果帧间隔在预设同步范围内,将帧间隔确定为音视频同步阈值;如果帧间隔小于预设同步范围的最小值,将最小值确定为音视频同步阈值;如果帧间隔大于预设同步范围的最大值,将最大值确定为音视频同步阈值。通过该方式,可以使音视频同步阈值在预设同步范围内。
例如,预设同步范围为40毫秒~70毫秒,如果帧间隔为50毫秒,在该预设同步范围内,50毫秒即为音视频同步阈值。如果帧间隔为30毫秒,在该预设同步范围外,且小于该预设同步范围的最小值,可以将40毫秒确定为音视频同步阈值。如果帧间隔为75毫秒,在该预设同步范围外,且大于该预设同步范围的最大值,可以将70毫秒确定为音视频同步阈值。
步骤S710,判断目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值是否大于音视频同步阈值。
若当前视频时钟和当前音频时钟的差值的绝对值小于等于音视频同步阈值内,则认为音视频同步,可以不作处理,否则,认为音视频不同步,可以对视频帧进行调控,即执行步骤S712。
步骤S712,根据帧间隔、时钟差值和当前视频帧的显示时刻,确定当前视频帧的下一个视频帧的显示时刻。
需要说明的是,根据当前视频帧的显示时刻和当前视频帧的持续显示时间,可以确定当前视频帧的下一个视频帧的显示时刻。当前视频帧的持续显示时间和帧间隔和时钟差值相关,时钟差值的绝对值越小,当前视频帧的持续显示时间越接近于帧间隔,在时钟差值为0的情况下,帧间隔即为当前视频帧的持续显示时间。
在一些实施例中,可以先根据帧间隔和时钟差值之和确定帧持续时间,该帧持续时间也就是当前视频帧的持续显示时间。之后,根据当前视频帧的显示时刻和帧持续时间,确定当前视频帧的下一个视频帧的显示时刻。由于帧间隔是正值,时钟差值为负值,因此,帧间隔和时钟差值之和可能小于0,而视频帧的持续显示时间大于等于0,因此,在本申请的一些实施例中,如果帧间隔和时钟差值之和大于等于0,将帧间隔和时钟差值之和确定为帧持续时间;如果帧间隔和时钟差值之和小于0,可以将0确定为帧持续时间。
步骤S714,根据当前系统时刻、下一个视频帧的显示时刻和丢帧属性,确定是否丢弃下一个视频帧。
在本申请的一些实施例中,在对视频帧进行render时,可以将下一个视频帧的显示时刻和当前系统时间进行比较。如果当前系统时刻大于下一个视频帧的显示时刻,根据丢帧属性确定是否丢弃下一个视频帧;如果当前系统时刻小于等于下一个视频帧的显示时刻,不对下一个视频帧进行丢帧处理。
如图9所示,假设当前系统时间是T1,下一个视频帧的显示时刻为T2,若T1<T2,表示当前还没到下一个视频帧的render时间,此时可以继续显示当前视频帧,在T2时刻到达时,显示下一个视频帧。若T1>T2,则表示已经超过下一个视频帧的显示时刻,而当前显示的是当前视频帧,可以对下一个视频帧进行丢帧处理。
其中,丢帧属性用于使目标视频中连续丢帧的数量小于等于预设数量。即,如果存在多个连续的视频帧均满足T1>T2,不会将多个连续的视频帧均丢弃。而是可以根据该丢帧属性,判断如何丢帧,从而避免将该多个连续的视频帧均进行丢帧处理。
例如,假设预设数量为3,即不能对连续的3个视频帧进行丢帧处理。如果存在3个连续的视频帧均满足T1>T2,如果对第一个视频帧进行丢帧处理,可以对已经连续丢弃的视频帧的数量进行统计,此时已经连续丢弃的视频帧的数量为1,即当前不存在连续丢弃的视频帧,可以将丢帧属性设置为丢帧,对第二个视频帧进行丢帧处理,此时连续丢弃的视频帧的数量为2,在继续丢帧的情况下,连续丢帧的数量将达到3,因此,为了避免该问题,此时可以将丢帧属性设置为不丢帧,根据该丢帧属性render第三个视频帧。或者,也可以对第一个视频帧进行丢帧处理,render第二个视频帧,再对第三个视频帧进行丢帧处理,本申请的丢帧策略不限于此。
需要说明的是,丢帧属性可以用于指示对当前视频帧进行了丢帧处理或render处理,例如,在进行丢帧处理后,可以及时更新丢帧属性为丢帧,从而根据该丢帧属性,不对下一个视频帧进行丢帧处理。或者,丢帧属性也可以用于指示将要对下一个视频帧进行丢帧处理或render处理。例如,在进行丢帧处理后,可以及时更新丢帧属性为不丢帧,从而根据该丢帧属性,不对下一个视频帧进行丢帧处理。
在本申请的一些实施例中,丢帧属性用于对目标视频中的视频帧进行不连续丢帧。不连续丢帧指的是丢弃的视频帧在目标视频对应的视频帧序列中是不连续的。如果丢帧属性用于指示将要对下一个视频帧进行丢帧处理或render处理,根据丢帧属性确定是否丢弃下一个视频帧可以包括:如果丢帧属性为丢帧,表示将要对下一个视频帧进行丢帧处理,因此直接对下一个视频帧进行丢帧处理。并且由于不连续丢帧,可以将丢帧属性更新为不丢帧,从而在对下一个视频帧的下一个视频帧进行处理时,不再进行丢帧处理。如果丢帧属性为不丢帧,表示不对下一个视频帧进行丢帧处理。
如果不丢弃下一个视频帧,执行步骤S716,即播放下一个视频帧。如果丢弃下一个视频帧,执行步骤S718,即对下一个视频帧进行丢帧处理。
步骤S720,判断下一个视频帧是否为目标视频的最后一个视频帧。如果是,流程结束;如果不是,执行步骤S722。
步骤S722,将当前视频帧更新为该下一个视频帧,返回步骤S708。
不论是否丢弃下一个视频帧,均将当前视频帧更新为下一个视频帧,并返回步骤S708,循环执行上述过程,直至下一个视频帧是目标视频的最后一个视频帧。需要说明的是,步骤S708中当前视频帧与前一个视频帧的帧间隔,指的是对目标视频解码后、丢弃视频帧之前的帧间隔。也就是说,在确定当前视频帧之后,可以直接从视频帧序列中确定当前视频帧的前一个视频帧,在倍速情况下不论该前一个视频帧是否丢弃,均可以按照视频帧序列确定当前视频帧和前一个视频帧的帧间隔。
在一些实施例中,如果视频解码能力小于等于第一预设能力,表示显示设备的视频解码能力严重不足,可以将目标视频的参考时钟由音频时钟修改为视频时钟,以使目标视频的音频数据同步目标视频的视频数据。
通常情况下,目标视频的参考时钟为音频时钟,即以音频数据的播放速度为基准,使目标视频的视频数据同步目标视频的音频数据。当显示设备的视频解码能力严重不足时,可以将目标视频的参考时钟由音频时钟修改为视频时钟,即以视频数据的播放速度为基准,使目标视频的音频数据同步目标视频的视频数据。
由于显示设备的视频解码能力严重不足,将目标视频的参考时钟由音频时钟修改为视频时钟后,可能会造成倍速达不到实际要求的情况。例如,倍速播放请求中携带的倍速值为1.5,而实际播放时的倍速值可能是1.25。但是,该方式可以以视频解码器的最大解码速率流畅播放目标视频,以提升用户的观看体验。
本申请实施例的视频倍速播放方法,当接收到倍速播放请求后,判断倍速播放请求中的倍速值是否大于1,如果倍速值大于1,表示对显示设备的视频解码能力的要求有所提升,可以检测显示设备的视频解码能力。如果视频解码能力大于第一预设能力且小于第二预设能力,表示视频解码能力无法达到倍速要求,但视频解码能力也不会过低,在音视频不同步的情况下,可以基于根据当前系统时刻、下一个视频帧的显示时刻和丢帧属性,确定是否丢弃下一个视频帧。由于丢帧属性用于使目标视频中连续丢帧的数量小于等于预设数量,因此在判断是否丢帧时通过结合丢帧属性,可以避免丢帧数量过多而造成视频卡顿的问题,从而提高视频播放的流畅性,提升用户的观看体验。如果显示设备的视频解码能力严重不足,可以通过将参考时钟修改为视频时钟,使音频数据来同步视频数据,来提升视频播放的流畅性。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述视频倍速播放方法执行的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,该计算机可读存储介质可以为只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本发明实施例还提供一种计算机程序产品,包括:当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述的视频倍速播放方法。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种显示设备,其特征在于,包括:
通信器,被配置为:接收针对目标视频的倍速播放请求;
控制器,被配置为:如果所述倍速播放请求中携带的倍速值大于1,检测显示设备的视频解码能力;
如果所述视频解码能力大于第一预设能力且小于第二预设能力,获取所述目标视频的当前视频帧和所述当前视频帧的前一个视频帧之间的帧间隔,并根据所述帧间隔确定音视频同步阈值;
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于所述音视频同步阈值,根据所述帧间隔、所述时钟差值和所述当前视频帧的显示时刻,确定所述当前视频帧的下一个视频帧的显示时刻;
根据当前系统时刻、所述下一个视频帧的显示时刻和丢帧属性,确定是否丢弃所述下一个视频帧,其中,所述丢帧属性用于使所述目标视频中连续丢帧的数量小于等于预设数量;
如果不丢弃所述下一个视频帧,播放所述下一个视频帧;如果丢弃所述下一个视频帧,对所述下一个视频帧进行丢帧处理;
将所述当前视频帧更新为所述下一个视频帧,返回所述获取所述目标视频的当前视频帧和所述当前视频帧的前一个视频帧之间的帧间隔的步骤,直至播放完所述目标视频。
2.根据权利要求1所述的显示设备,其特征在于,所述控制器,还被配置为:
如果所述视频解码能力小于等于所述第一预设能力,将所述目标视频的参考时钟由音频时钟修改为视频时钟,以使所述目标视频的音频数据同步所述目标视频的视频数据。
3.根据权利要求1或2所述的显示设备,其特征在于,所述控制器,具体被配置为通过下述步骤实现根据当前系统时刻、所述下一个视频帧的显示时刻和丢帧属性,确定是否丢弃所述下一个视频帧:
如果当前系统时刻大于所述下一个视频帧的显示时刻,根据所述丢帧属性确定是否丢弃所述下一个视频帧;
如果当前系统时刻小于等于所述下一个视频帧的显示时刻,不丢弃所述下一个视频帧。
4.根据权利要求3所述的显示设备,其特征在于,所述丢帧属性用于对所述目标视频中的视频帧进行不连续丢帧;
所述控制器,具体被配置为通过下述步骤实现根据所述丢帧属性确定是否丢弃所述下一个视频帧:
如果所述丢帧属性为丢帧,对所述下一个视频帧进行丢帧处理,并将所述丢帧属性更新为不丢帧;
如果所述丢帧属性为不丢帧,不对所述下一个视频帧进行丢帧处理。
5.根据权利要求1或2所述的显示设备,其特征在于,所述控制器,具体被配置为通过下述步骤实现根据所述帧间隔、所述时钟差值和所述当前视频帧的显示时刻,确定所述当前视频帧的下一个视频帧的显示时刻:
根据所述帧间隔和所述时钟差值之和,确定帧持续时间;
根据所述当前视频帧的显示时刻和所述帧持续时间,确定所述当前视频帧的下一个视频帧的显示时刻。
6.根据权利要求5所述的显示设备,其特征在于,所述控制器,具体被配置为通过下述步骤实现根据所述帧间隔和所述时钟差值之和确定帧持续时间:
如果所述帧间隔和所述时钟差值之和大于等于0,将所述帧间隔和所述时钟差值之和确定为帧持续时间;
如果所述帧间隔和所述时钟差值之和小于0,将0确定为帧持续时间。
7.根据权利要求1所述的显示设备,其特征在于,所述控制器,具体被配置为通过下述步骤实现检测显示设备的视频解码能力:
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于第一预设时钟差,且小于第二预设时钟差,则确定显示设备的视频解码能力大于所述第一预设能力,且小于所述第二预设能力;
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于等于第二预设时钟差,则确定显示设备的视频解码能力小于等于所述第一预设能力。
8.一种视频倍速播放方法,其特征在于,所述方法包括:
接收针对目标视频的倍速播放请求,如果所述倍速播放请求中携带的倍速值大于1,检测显示设备的视频解码能力;
如果所述视频解码能力大于第一预设能力且小于第二预设能力,获取所述目标视频的当前视频帧和所述当前视频帧的前一个视频帧之间的帧间隔,并根据所述帧间隔确定音视频同步阈值;
如果所述目标视频的当前视频时钟和当前音频时钟的时钟差值的绝对值大于所述音视频同步阈值,根据所述帧间隔、所述时钟差值和所述当前视频帧的显示时刻,确定所述当前视频帧的下一个视频帧的显示时刻;
根据当前系统时刻、所述下一个视频帧的显示时刻和丢帧属性,确定是否丢弃所述下一个视频帧,其中,所述丢帧属性用于使所述目标视频中连续丢帧的数量小于等于预设数量;
如果不丢弃所述下一个视频帧,播放所述下一个视频帧;如果丢弃所述下一个视频帧,对所述下一个视频帧进行丢帧处理;
将所述当前视频帧更新为所述下一个视频帧,返回所述获取所述目标视频的当前视频帧和所述当前视频帧的前一个视频帧之间的帧间隔的步骤,直至播放完所述目标视频。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
如果所述视频解码能力小于等于所述第一预设能力,将所述目标视频的参考时钟由音频时钟修改为视频时钟,以使所述目标视频的音频数据同步所述目标视频的视频数据。
10.根据权利要求8或9所述的方法,其特征在于,所述根据当前系统时刻、所述下一个视频帧的显示时刻和丢帧属性,确定是否丢弃所述下一个视频帧,包括:
如果当前系统时刻大于所述下一个视频帧的显示时刻,根据所述丢帧属性确定是否丢弃所述下一个视频帧;
如果当前系统时刻小于等于所述下一个视频帧的显示时刻,不丢弃所述下一个视频帧。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210001400.9A CN114257857B (zh) | 2022-01-04 | 2022-01-04 | 显示设备及视频倍速播放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210001400.9A CN114257857B (zh) | 2022-01-04 | 2022-01-04 | 显示设备及视频倍速播放方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114257857A CN114257857A (zh) | 2022-03-29 |
CN114257857B true CN114257857B (zh) | 2024-05-24 |
Family
ID=80796152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210001400.9A Active CN114257857B (zh) | 2022-01-04 | 2022-01-04 | 显示设备及视频倍速播放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114257857B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114666603B (zh) * | 2022-05-06 | 2024-05-03 | 厦门美图之家科技有限公司 | 一种视频解码方法、装置、电子设备及存储介质 |
CN115334322B (zh) * | 2022-10-17 | 2023-01-31 | 腾讯科技(深圳)有限公司 | 视频帧同步方法、终端、服务器、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602117A (zh) * | 2015-01-31 | 2015-05-06 | 华为技术有限公司 | 一种倍速播放视频的方法及装置 |
CN106817614A (zh) * | 2017-01-20 | 2017-06-09 | 努比亚技术有限公司 | 音视频丢帧装置及方法 |
WO2018120557A1 (zh) * | 2016-12-26 | 2018-07-05 | 深圳市中兴微电子技术有限公司 | 一种音视频同步处理的方法和装置、存储介质 |
CN111641858A (zh) * | 2020-04-29 | 2020-09-08 | 上海推乐信息技术服务有限公司 | 一种音视频同步方法及系统 |
CN112153446A (zh) * | 2020-09-27 | 2020-12-29 | 海信视像科技股份有限公司 | 一种显示设备及流媒体视频音画同步方法 |
CN112437345A (zh) * | 2020-11-20 | 2021-03-02 | 北京字跳网络技术有限公司 | 视频倍速播放方法、装置、电子设备及存储介质 |
-
2022
- 2022-01-04 CN CN202210001400.9A patent/CN114257857B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602117A (zh) * | 2015-01-31 | 2015-05-06 | 华为技术有限公司 | 一种倍速播放视频的方法及装置 |
WO2018120557A1 (zh) * | 2016-12-26 | 2018-07-05 | 深圳市中兴微电子技术有限公司 | 一种音视频同步处理的方法和装置、存储介质 |
CN106817614A (zh) * | 2017-01-20 | 2017-06-09 | 努比亚技术有限公司 | 音视频丢帧装置及方法 |
CN111641858A (zh) * | 2020-04-29 | 2020-09-08 | 上海推乐信息技术服务有限公司 | 一种音视频同步方法及系统 |
CN112153446A (zh) * | 2020-09-27 | 2020-12-29 | 海信视像科技股份有限公司 | 一种显示设备及流媒体视频音画同步方法 |
CN112437345A (zh) * | 2020-11-20 | 2021-03-02 | 北京字跳网络技术有限公司 | 视频倍速播放方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114257857A (zh) | 2022-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11366632B2 (en) | User interface for screencast applications | |
CN114339339B (zh) | 一种显示设备、外接设备及播放模式切换方法 | |
CN114257857B (zh) | 显示设备及视频倍速播放方法 | |
CN112153446B (zh) | 一种显示设备及流媒体视频音画同步方法 | |
WO2020098504A1 (zh) | 一种视频切换的控制方法及显示设备 | |
CN114827679B (zh) | 显示设备和音画同步方法 | |
WO2021253895A1 (zh) | 媒资播放方法及显示设备 | |
CN115278324B (zh) | 一种显示设备、蓝牙设备和bis音频传输方法 | |
CN115278332A (zh) | 一种显示设备、播放设备和数据传输方法 | |
CN113038210B (zh) | 一种视频文件的双屏同步播放方法及显示设备 | |
US20230262286A1 (en) | Display device and audio data processing method | |
CN114095769A (zh) | 一种应用级播放器的直播低延迟处理方法及显示设备 | |
CN114615536B (zh) | 显示设备及音效处理方法 | |
CN115623275A (zh) | 一种字幕显示方法及显示设备 | |
CN115150648A (zh) | 显示设备及消息传输方法 | |
US11503099B2 (en) | Methods, systems, and media for selecting video formats for adaptive video streaming | |
KR20210103114A (ko) | 오디오 장치 및 그 제어방법 | |
CN114827715B (zh) | 显示设备和媒资播放方法 | |
US20230412890A1 (en) | Refreshing method and display apparatus | |
CN118250507A (zh) | 显示设备和视频帧处理方法 | |
US20230224521A1 (en) | Electronic device and operation method thereof | |
CN114245180A (zh) | 显示设备、视频数据传输方法及存储介质 | |
CN117649815A (zh) | 显示设备、显示控制方法和存储介质 | |
CN117834983A (zh) | 一种播放缓冲确定方法和显示设备 | |
CN117812330A (zh) | 一种显示设备及广播节目播放方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |