CN107613407A - 一种视频显示控制方法、装置、电子设备及存储介质 - Google Patents
一种视频显示控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN107613407A CN107613407A CN201710712375.4A CN201710712375A CN107613407A CN 107613407 A CN107613407 A CN 107613407A CN 201710712375 A CN201710712375 A CN 201710712375A CN 107613407 A CN107613407 A CN 107613407A
- Authority
- CN
- China
- Prior art keywords
- video data
- duration
- data
- frame video
- present frame
- 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.)
- Pending
Links
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供一种视频显示控制方法、装置、电子设备及存储介质,其中方法包括如下步骤:获取视频文件,提取所述视频文件中的当前帧视频数据;获取所述当前帧视频数据对应的目标解码时长,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长;采用所述目标解码时长对所述当前帧视频数据进行解码,输出并显示解码后的所述目标帧视频数据。采用本发明,操作简单快速,提高了改变视频播放速度的处理效率。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种视频显示控制方法、装置、电子设备及存储介质。
背景技术
随着网络技术和多媒体技术的发展,流媒体技术应运而生。网络视频播放则是当前流媒体技术的重要应用之一,由于网络技术的逐步完善,使得远程实时视频播放、录像下载等多媒体业务得到越来越广泛的应用。
在一些视频播放、编辑的应用场景下,通常需要改变视频播放速度实现特殊的效果,例如将视频加速之后转换成Gif动态表情包。现有技术中,多采用多媒体视频处理工具FFmpeg(Fast Forward Mpeg)来改变视频播放速度,但这种处理方式需要重新生成新的视频文件,使得处理过程比较耗时,降低了改变视频播放速度的处理效率。
发明内容
本发明实施例提供一种视频显示控制方法、装置、电子设备及存储介质,可以解决改变视频播放速度的处理效率低的问题。
本发明实施例第一方面提供了一种视频显示控制方法,包括:
获取视频文件,提取所述视频文件中的当前帧视频数据;
获取所述当前帧视频数据对应的目标解码时长,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长;
采用所述目标解码时长对所述当前帧视频数据进行解码,输出并显示解码后的所述目标帧视频数据。
可选的,所述获取视频文件,提取所述视频文件中的当前帧视频数据,包括:
获取视频文件,分离所述视频文件以得到视频数据和音频数据;
提取所述视频数据中的当前帧视频数据。
可选的,所述获取所述当前帧视频数据对应的目标解码时长,包括:
根据数据时长映射关系确定所述当前帧视频数据对应的目标解码时长。
可选的,所述获取所述当前帧视频数据对应的目标解码时长,包括:
获取所述视频数据的视频帧率,计算所述视频数据中每帧视频数据的平均解码时长;
计算所述平均解码时长与预设播放倍率的乘积,将计算结果作为所述当前帧视频数据的目标解码时长。
可选的,所述输出并显示解码后的所述目标帧视频数据,包括:
对解码后的所述目标帧视频数据进行渲染以得到解码图像;
显示所述解码图像。
可选的,所述方法还包括:
保存所述解码图像,并将所述解码图像的格式转换为图像互换格式。
本发明实施例第二方面提供了一种视频显示控制装置,所述装置包括:
数据提取模块,用于获取视频文件,提取所述视频文件中的当前帧视频数据;
时长获取模块,用于获取所述当前帧视频数据对应的目标解码时长,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长;
数据显示模块,用于采用所述目标解码时长对所述当前帧视频数据进行解码,输出并显示解码后的所述目标帧视频数据。
可选的,所述数据提取模块具体用于:
获取视频文件,分离所述视频文件以得到视频数据和音频数据;
提取所述视频数据中的当前帧视频数据。
可选的,所述时长获取模块具体用于:
根据数据时长映射关系确定所述当前帧视频数据对应的目标解码时长。
可选的,所述时长获取模块具体用于:
获取所述视频数据的视频帧率,计算所述视频数据中每帧视频数据的平均解码时长;
计算所述平均解码时长与预设播放倍率的乘积,将计算结果作为所述当前帧视频数据的目标解码时长。
可选的,所述数据显示模块具体用于:
对解码后的所述目标帧视频数据进行渲染以得到解码图像;
显示所述解码图像。
可选的,所述装置还包括:
格式转换模块,用于保存所述解码图像,并将所述解码图像的格式转换为图像互换格式。
本发明实施例第三方面提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述第一方面的方法。
本发明实施例第四方面提供一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面的方法。
本发明实施例第五方面提供一种应用程序,包括程序指令,所述程序指令当被执行时用于执行上述第一方面的方法。
在本发明实施中,视频显示控制装置通过获取视频文件并提取该视频文件中的当前帧视频数据,同时获取当前帧视频数据距离上一帧视频数据的解码时长,然后采用所获取的解码时长对当前帧视频数据进行解码,输出并显示解码后的信息。现有技术中,通过FFmpeg来改变视频播放速度,但在处理过程中需要重新生成新的视频文件,使得处理过程比较耗时,与现有技术相比,采用本发明,通过视频显示控制装置控制每帧视频数据的解码时长后对视频进行解码并显示,从而实现对视频播放速度的控制,在整个处理过程中不需要生成新的视频文件,且操作简单快速,从而提高了改变视频播放速度的处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频显示控制方法的流程示意图;
图2是本发明实施例提供的另一种视频显示控制方法的流程示意图;
图3是本发明实施例提供的一种视频显示控制装置的结构示意图;
图4是本发明实施例提供的另一种视频显示控制装置的结构示意图;
图5是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。另外,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供的视频显示控制方法可以应用于视频编辑的应用场景,例如:视频显示控制装置通过获取视频文件并提取该视频文件中的当前帧视频数据,同时获取当前帧视频数据距离上一帧视频数据的解码时长,然后采用所获取的解码时长对当前帧视频数据进行解码,输出并显示解码后的信息。现有技术中,通过FFmpeg来改变视频播放速度,但在处理过程中需要重新生成新的视频文件,使得处理过程比较耗时,与现有技术相比,采用本发明,通过视频显示控制装置控制每帧视频数据的解码时长后对视频进行解码并显示,从而实现对视频播放速度的控制,在整个处理过程中不需要生成新的视频文件,且操作简单快速,从而提高了改变视频播放速度的处理效率。
本发明实施例涉及的视频显示控制装置可以是任何具备存储和通信功能的设备,例如:平板电脑、手机、电子阅读器、个人计算机(Personal Computer, PC)、笔记本电脑、车载设备、网络电视、可穿戴设备等设备。
下面将结合附图1-附图2,对本发明实施例提供的视频显示控制方法进行详细介绍。
请参见图1,为本发明实施例提供了一种视频显示控制方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S103。
S101,获取视频文件,提取所述视频文件中的当前帧视频数据。
具体的,在视频文件中包括有视频数据和音频数据的混合数据,通过对视频文件进行分离以分别得到视频数据和音频数据,同时提取视频数据中的当前帧视频数据。所述视频数据包括多帧数据。当前帧视频数据为当前正在处理的一帧视频数据,可以为视频数据中任意一帧数据。
在一种可行的实施方式中,将所要编辑的视频文件作为目标视频文件用于处理,并可采用媒体分离器MediaExtractor分离该视频文件。
其中,MediaExtractor主要用于音视频混合数据的分离,接口比较简单,首先要通过setDataSource(String path)函数设置数据源,数据源可以是本地文件地址,也可以使用HTTP协议的网络码流地址。然后,可以通过执行代码获取码流的详细信息,如:MimeType,分辨率、编码格式、码率、帧率等。且在获取到媒体文件的详细信息之后,就可以选择指定的通道,并分离和读取数据了。
需要说明的是,在采用MediaExtractor对视频文件进行分离前,该视频文件时由MediaMuxer进行数据混合,MediaMuxer主要用于将音频数据和视频数据进行混合生成多媒体文件(如本发明实施例中的视频文件),创建该类对象,需要传入输出的文件位置以及格式,构造函数如下:
public MediaMuxer(String path,int format);
创建对象之后,通过在addTrack()函数中传入MediaFormat对象以添加数据通道。MediaFormat即媒体格式类,用于描述媒体的格式参数,如视频帧率、音频采样率等。
S102,获取所述当前帧视频数据对应的目标解码时长,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长。
具体的,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长。例如,上一帧视频数据的解码时刻为t1,休眠20ms后对当前帧视频数据进行解码,那么当前帧视频数据的解码时长为20ms。而对于视频数据中的每帧数据,其对应的解码时长可以相同,也可以不同。
在一种可行的实施方式中,根据数据时长映射关系确定所述当前帧视频数据对应的目标解码时长。所述数据时长映射关系可以为视频数据与解码时长的映射关系表,所述视频数据可通过数据标识进行识别。所述数据标识用于唯一识别视频数据,可以为视频编号。
例如,如表1所示为一种视频数据与解码时长的映射关系表,其中,通过视频编号标识视频数据,若当前帧标识为003,则可确定该帧的解码时长为40ms。也就是说,在上一帧解码完成后,休眠40ms再解码当前帧。
表1
在另一种可行的实施方式中,若每帧采用相同的解码速度进行解码,则先获取所述视频数据的视频帧率,计算所述视频数据中每帧视频数据的平均解码时长,然后计算所述平均解码时长与预设播放倍率的乘积,将计算结果作为所述当前帧视频数据的目标解码时长。
例如,若视频正常播放的帧率为30帧/秒,那么每帧的平均解码时长为33ms,若采用0.5倍播放倍率进行解码,则每帧的解码时长为33ms/0.5=66ms,若采用 2倍播放倍率进行解码,则每帧的解码时长为33ms/2=16.5ms。
其中,在上述两种可行的实施方式中,可通过调用休眠函数Sleep()控制休眠。这是因为Sleep()用于执行挂起解码程序一段时间,通过设定休眠参数 (解码时长)即可,其使用格式为void Sleep(DWORD dwMilliseconds),若进程/线程挂起到参数所指定的时间则返回0,若有信号中断则返回剩余时长。
S103,采用所述目标解码时长对所述当前帧视频数据进行解码,输出并显示解码后的所述目标帧视频数据。
具体的,通过确定当前帧视频数据的解码时长后,依据该确定的解码时长对当前帧视频数据进行解码。其中,对于安卓***而言,可采用媒体解码器 MediaCodec进行解码,解码时则要一帧一帧的喂给解码器,也就是说,读取一帧则解码一帧。另外,MediaCodec可以将解码后的数据直接输出到一个Surface 显示出来。需要说明的是,采用MediaCodec解码时,该视频数据首先采用H.264 编码方式进行编码。
例如,若某个视频数据的正常帧率为40帧/秒,该视频一共400帧,那么播放该视频的总时长为10秒,当以2倍的播放倍率解码后,视频帧率为80帧/秒,那么显示该完整的视频数据只需5秒,或者说,10秒可以将该完整的视频数据显示2次。
进一步的,如图2所示,对于步骤S103,可具体执行如下步骤:
S1031,采用所述目标解码时长对所述当前帧视频数据进行解码,对解码后的所述目标帧视频数据进行渲染以得到解码图像。
具体的,渲染是把模型、数据或者场景转化成图像文件、视频信号或者电影胶片的过程。渲染有多种软件,如:各计算机动画(Computer Animation,CG) 软件自带渲染引擎,还有诸如RenderMan等。在本发明实施例中,可通过将解码数据渲染到开放式图形库(OpenGraphics Library,OpenGL)中进行预览。其中,OpenGL是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口,可调用底层图形库。
S1032,显示所述解码图像。
具体的,显示渲染后的解码图像,如通过SurfaceView进行显示。
可选的,如图2所示,在步骤S1032之后,还可执行如下步骤:
S104,保存所述解码图像,并将所述解码图像的格式转换为图像互换格式。
具体的,通过保存渲染后的解码图像而得到编辑后的视频文件,并将该视频文件转化为图像互换格式(Graphics Interchange Format,GIF),从而显示动态效果。如常见的GIF动态图。
其中,在可行的实施方式中,可采用多媒体视频处理工具FFmpeg对视频文件进行格式转换。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它提供了录制、转换以及流化音视频的完整解决方案,并有非常强大的功能,包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。
在本发明实施中,视频显示控制装置通过获取视频文件并提取该视频文件中的当前帧视频数据,同时获取当前帧视频数据距离上一帧视频数据的解码时长,然后采用所获取的解码时长对当前帧视频数据进行解码,输出并显示解码后的信息。现有技术中,通过FFmpeg来改变视频播放速度,但在处理过程中需要重新生成新的视频文件,使得处理过程比较耗时,与现有技术相比,采用本发明,通过视频显示控制装置控制每帧视频数据的解码时长后对视频进行解码并显示,从而实现对视频播放速度的控制,在整个处理过程中不需要生成新的视频文件,且操作简单快速,从而提高了改变视频播放速度的处理效率。
请参见图3,为本发明实施例提供了一种视频显示控制装置的结构示意图。如图4所示,本发明实施例的所述输入法测试装置1可以包括:数据提取模块 11、时长获取模块12和数据显示模块13。
数据提取模块11,用于获取视频文件,提取所述视频文件中的当前帧视频数据。
可选的,所述数据提取模块11具体用于:
获取视频文件,分离所述视频文件以得到视频数据和音频数据;
提取所述视频数据中的当前帧视频数据。
具体的,在视频文件中包括有视频数据和音频数据的混合数据,通过对视频文件进行分离以分别得到视频数据和音频数据,同时提取视频数据中的当前帧视频数据。所述视频数据包括多帧数据。当前帧视频数据为当前正在处理的一帧视频数据,可以为视频数据中任意一帧数据。
在一种可行的实施方式中,将所要编辑的视频文件作为目标视频文件用于处理,并可采用媒体分离器MediaExtractor分离该视频文件。
其中,MediaExtractor主要用于音视频混合数据的分离,接口比较简单,首先要通过setDataSource(String path)函数设置数据源,数据源可以是本地文件地址,也可以使用HTTP协议的网络码流地址。然后,可以通过执行代码获取码流的详细信息,如:MimeType,分辨率、编码格式、码率、帧率等。且在获取到媒体文件的详细信息之后,就可以选择指定的通道,并分离和读取数据了。
需要说明的是,在采用MediaExtractor对视频文件进行分离前,该视频文件时由MediaMuxer进行数据混合,MediaMuxer主要用于将音频数据和视频数据进行混合生成多媒体文件(如本发明实施例中的视频文件),创建该类对象,需要传入输出的文件位置以及格式,构造函数如下:
public MediaMuxer(String path,int format);
创建对象之后,通过在addTrack()函数中传入MediaFormat对象以添加数据通道。MediaFormat即媒体格式类,用于描述媒体的格式参数,如视频帧率、音频采样率等。
时长获取模块12,用于获取所述当前帧视频数据对应的目标解码时长,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长。
具体的,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长。例如,上一帧视频数据的解码时刻为t1,休眠20ms后对当前帧视频数据进行解码,那么当前帧视频数据的解码时长为20ms。而对于视频数据中的每帧数据,其对应的解码时长可以相同,也可以不同。
可选的,所述时长获取模块12具体用于:
根据数据时长映射关系确定所述当前帧视频数据对应的目标解码时长。
例如,如表1所示为一种视频数据与解码时长的映射关系表,其中,通过视频编号标识视频数据,若当前帧标识为003,则可确定该帧的解码时长为40ms。也就是说,在上一帧解码完成后,休眠40ms再解码当前帧。
可选的,所述时长获取模块12具体用于:
获取所述视频数据的视频帧率,计算所述视频数据中每帧视频数据的平均解码时长;
计算所述平均解码时长与预设播放倍率的乘积,将计算结果作为所述当前帧视频数据的目标解码时长。
例如,若视频正常播放的帧率为30帧/秒,那么每帧的平均解码时长为33ms,若采用0.5倍播放倍率进行解码,则每帧的解码时长为33ms/0.5=66ms,若采用2倍播放倍率进行解码,则每帧的解码时长为33ms/2=16.5ms。
其中,在上述两种可行的实施方式中,可通过调用休眠函数Sleep()控制休眠。这是因为Sleep()用于执行挂起解码程序一段时间,通过设定休眠参数即可,其使用格式为void Sleep(DWORD dwMilliseconds),若进程/线程挂起到参数所指定的时间则返回0,若有信号中断则返回剩余时长。
数据显示模块13,用于采用所述目标解码时长对所述当前帧视频数据进行解码,输出并显示解码后的所述目标帧视频数据。
具体的,通过确定当前帧视频数据的解码时长后,依据该确定的解码时长对当前帧视频数据进行解码。其中,对于安卓***而言,可采用媒体解码器 MediaCodec进行解码,解码时则要一帧一帧的喂给解码器,也就是说,读取一帧则解码一帧。另外,MediaCodec可以将解码后的数据直接输出到一个Surface 显示出来。
需要说明的是,采用MediaCodec解码时,该视频数据首先采用H.264编码方式进行编码。
可选的,所述数据显示模块13具体用于:
对解码后的所述目标帧视频数据进行渲染以得到解码图像;
显示所述解码图像。
具体的,渲染是把模型、数据或者场景转化成图像文件、视频信号或者电影胶片的过程。渲染有多种软件,如:各CG软件自带渲染引擎,还有诸如 RenderMan等。在本发明实施例中,可通过将解码数据渲染到OpenGL(Open Graphics Library)中进行预览。其中,OpenGL是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口,可调用底层图形库。显示渲染后的解码图像,如通过SurfaceView进行显示。
可选的,如图4所示,所述装置还包括:
格式转换模块14,用于保存所述解码图像,并将所述解码图像的格式转换为图像互换格式。
具体的,通过保存渲染后的解码图像而得到编辑后的视频文件,并将该视频文件转化为图像互换格式(Graphics Interchange Format,GIF),从而显示动态效果。
在本发明实施中,视频显示控制装置通过获取视频文件并提取该视频文件中的当前帧视频数据,同时获取当前帧视频数据距离上一帧视频数据的解码时长,然后采用所获取的解码时长对当前帧视频数据进行解码,输出并显示解码后的信息。现有技术中,通过FFmpeg来改变视频播放速度,但在处理过程中需要重新生成新的视频文件,使得处理过程比较耗时,与现有技术相比,采用本发明,通过视频显示控制装置控制每帧视频数据的解码时长后对视频进行解码并显示,从而实现对视频播放速度的控制,在整个处理过程中不需要生成新的视频文件,且操作简单快速,从而提高了改变视频播放速度的处理效率。
请参见图5,为本发明实施例提供了一种电子设备的结构示意图。如图5所示,所述电子设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003 可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器 1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图5所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及视频显示控制应用程序。
在图5所示的电子设备1000中,用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的视频显示控制应用程序,并具体执行以下操作:
获取视频文件,提取所述视频文件中的当前帧视频数据;
获取所述当前帧视频数据对应的目标解码时长,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长;
采用所述目标解码时长对所述当前帧视频数据进行解码,输出并显示解码后的所述目标帧视频数据。
在一个实施例中,所述处理器1001在执行获取视频文件,提取所述视频文件中的当前帧视频数据时,具体执行以下步骤:
获取视频文件,分离所述视频文件以得到视频数据和音频数据;
提取所述视频数据中的当前帧视频数据。
在一个实施例中,所述处理器1001在执行获取所述当前帧视频数据对应的目标解码时长时,具体执行以下步骤:
根据数据时长映射关系确定所述当前帧视频数据对应的目标解码时长。
在一个实施例中,所述处理器1001在执行获取所述当前帧视频数据对应的目标解码时长时,具体执行以下步骤:
获取所述视频数据的视频帧率,计算所述视频数据中每帧视频数据的平均解码时长;
计算所述平均解码时长与预设播放倍率的乘积,将计算结果作为所述当前帧视频数据的目标解码时长。
在一个实施例中,所述处理器1001在执行输出并显示解码后的所述目标帧视频数据时,具体执行以下步骤:
对解码后的所述目标帧视频数据进行渲染以得到解码图像;
显示所述解码图像。
在一个实施例中,所述处理器1001还执行以下步骤:
保存所述解码图像,并将所述解码图像的格式转换为图像互换格式。
在本发明实施例中,视频显示控制装置通过获取视频文件并提取该视频文件中的当前帧视频数据,同时获取当前帧视频数据距离上一帧视频数据的解码时长,然后采用所获取的解码时长对当前帧视频数据进行解码,输出并显示解码后的信息。现有技术中,通过FFmpeg来改变视频播放速度,但在处理过程中需要重新生成新的视频文件,使得处理过程比较耗时,与现有技术相比,采用本发明,通过视频显示控制装置控制每帧视频数据的解码时长后对视频进行解码并显示,从而实现对视频播放速度的控制,在整个处理过程中不需要生成新的视频文件,且操作简单快速,从而提高了改变视频播放速度的处理效率。
本发明实施例还提供一种计算机存储介质(非临时性计算机可读存储介质),所述计算机存储介质存储有计算机程序,所述计算机程序包括程序信令,所述程序信令当被计算机执行时使所述计算机执行如前述实施例所述的方法,所述计算机可以为上述提到的视频显示控制装置或电子设备的一部分。
上述非临时性计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(ErasableProgrammable Read Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、 Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
本申请实施例还提供一种计算机程序产品,当上述计算机程序产品中的指令由处理器执行时,可以实现本申请图1或图2所示实施例提供的视频显示控制方法。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种视频显示控制方法,其特征在于,包括:
获取视频文件,提取所述视频文件中的当前帧视频数据;
获取所述当前帧视频数据对应的目标解码时长,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长;
采用所述目标解码时长对所述当前帧视频数据进行解码,输出并显示解码后的所述目标帧视频数据。
2.根据权利要求1所述的方法,其特征在于,所述获取视频文件,提取所述视频文件中的当前帧视频数据,包括:
获取视频文件,分离所述视频文件以得到视频数据和音频数据;
提取所述视频数据中的当前帧视频数据。
3.根据权利要求1所述的方法,其特征在于,所述获取所述当前帧视频数据对应的目标解码时长,包括:
根据数据时长映射关系确定所述当前帧视频数据对应的目标解码时长。
4.根据权利要求1所述的方法,其特征在于,所述获取所述当前帧视频数据对应的目标解码时长,包括:
获取所述视频数据的视频帧率,计算所述视频数据中每帧视频数据的平均解码时长;
计算所述平均解码时长与预设播放倍率的乘积,将计算结果作为所述当前帧视频数据的目标解码时长。
5.根据权利要求1所述的方法,其特征在于,所述输出并显示解码后的所述目标帧视频数据,包括:
对解码后的所述目标帧视频数据进行渲染以得到解码图像;
显示所述解码图像。
6.一种视频显示控制装置,其特征在于,包括:
数据提取模块,用于获取视频文件,提取所述视频文件中的当前帧视频数据;
时长获取模块,用于获取所述当前帧视频数据对应的目标解码时长,所述目标解码时长为所述当前帧视频数据距离上一帧视频数据的解码时长;
数据显示模块,用于采用所述目标解码时长对所述当前帧视频数据进行解码,输出并显示解码后的所述目标帧视频数据。
7.根据权利要求6所述的装置,其特征在于,所述数据提取模块具体用于:
获取视频文件,分离所述视频文件以得到视频数据和音频数据;
提取所述视频数据中的当前帧视频数据。
8.根据权利要求6所述的装置,其特征在于,所述时长获取模块具体用于:
根据数据时长映射关系确定所述当前帧视频数据对应的目标解码时长。
9.根据权利要求6所述的装置,其特征在于,所述时长获取模块具体用于:
获取所述视频数据的视频帧率,计算所述视频数据中每帧视频数据的平均解码时长;
计算所述平均解码时长与预设播放倍率的乘积,将计算结果作为所述当前帧视频数据的目标解码时长。
10.根据权利要求6所述的装置,其特征在于,所述数据显示模块具体用于:
对解码后的所述目标帧视频数据进行渲染以得到解码图像;
显示所述解码图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710712375.4A CN107613407A (zh) | 2017-08-18 | 2017-08-18 | 一种视频显示控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710712375.4A CN107613407A (zh) | 2017-08-18 | 2017-08-18 | 一种视频显示控制方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107613407A true CN107613407A (zh) | 2018-01-19 |
Family
ID=61064521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710712375.4A Pending CN107613407A (zh) | 2017-08-18 | 2017-08-18 | 一种视频显示控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107613407A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989767A (zh) * | 2018-08-30 | 2018-12-11 | 北京计算机技术及应用研究所 | 一种网络自适应的多路h264视频流存储转播方法及*** |
CN110858910A (zh) * | 2018-08-23 | 2020-03-03 | 广州虎牙信息科技有限公司 | 直播视频的显示方法、装置、设备及存储介质 |
CN113347432A (zh) * | 2021-05-27 | 2021-09-03 | 深圳市斯博科技有限公司 | 一种视频编解码方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856812A (zh) * | 2014-03-25 | 2014-06-11 | 北京奇艺世纪科技有限公司 | 一种视频播放方法及装置 |
CN104410930A (zh) * | 2014-11-07 | 2015-03-11 | 青岛海信宽带多媒体技术有限公司 | 一种传输流ts媒体文件播放速度的控制方法及装置 |
CN106713855A (zh) * | 2016-12-13 | 2017-05-24 | 深圳英飞拓科技股份有限公司 | 一种视频播放方法及装置 |
-
2017
- 2017-08-18 CN CN201710712375.4A patent/CN107613407A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103856812A (zh) * | 2014-03-25 | 2014-06-11 | 北京奇艺世纪科技有限公司 | 一种视频播放方法及装置 |
CN104410930A (zh) * | 2014-11-07 | 2015-03-11 | 青岛海信宽带多媒体技术有限公司 | 一种传输流ts媒体文件播放速度的控制方法及装置 |
CN106713855A (zh) * | 2016-12-13 | 2017-05-24 | 深圳英飞拓科技股份有限公司 | 一种视频播放方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110858910A (zh) * | 2018-08-23 | 2020-03-03 | 广州虎牙信息科技有限公司 | 直播视频的显示方法、装置、设备及存储介质 |
CN110858910B (zh) * | 2018-08-23 | 2022-05-27 | 广州虎牙信息科技有限公司 | 直播视频的显示方法、装置、设备及存储介质 |
CN108989767A (zh) * | 2018-08-30 | 2018-12-11 | 北京计算机技术及应用研究所 | 一种网络自适应的多路h264视频流存储转播方法及*** |
CN108989767B (zh) * | 2018-08-30 | 2021-01-26 | 北京计算机技术及应用研究所 | 一种网络自适应的多路h264视频流存储转播方法及*** |
CN113347432A (zh) * | 2021-05-27 | 2021-09-03 | 深圳市斯博科技有限公司 | 一种视频编解码方法、装置、计算机设备及存储介质 |
CN113347432B (zh) * | 2021-05-27 | 2023-03-28 | 深圳万兴软件有限公司 | 一种视频编解码方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103391414B (zh) | 一种应用于手机平台的视频处理装置及处理方法 | |
CN104732593B (zh) | 一种基于移动终端的3d动画编辑方法 | |
CN105227963B (zh) | 对终端进行流媒体采集自动识别方向并调整的方法及*** | |
CN107241646B (zh) | 多媒体视频的编辑方法及装置 | |
CN106653036B (zh) | 基于ott盒子的混音转码方法 | |
CN107613407A (zh) | 一种视频显示控制方法、装置、电子设备及存储介质 | |
CN104091607B (zh) | 一种基于ios设备的视频编辑方法及装置 | |
CN109640056B (zh) | 一种基于Android平台的USB摄像头监控***及其方法 | |
US20090262136A1 (en) | Methods, Systems, and Products for Transforming and Rendering Media Data | |
CN105933724A (zh) | 视频制作方法、装置及*** | |
KR102081214B1 (ko) | 멀티미디어 파일의 스티칭 방법 및 장치 | |
US20120284625A1 (en) | System and Method For Generating Videos | |
CN108235107A (zh) | 视频录制方法、装置及电子终端 | |
US11217279B2 (en) | Method and device for adjusting video playback speed | |
CN104782121A (zh) | 多区域视频会议编码 | |
US20060078292A1 (en) | Apparatus and method for embedding content information in a video bit stream | |
CN104091608B (zh) | 一种基于ios设备的视频编辑方法及装置 | |
CN109862357A (zh) | 低延迟的云游戏图像编码方法、装置、设备和存储介质 | |
US20140267337A1 (en) | Pre-Defined Streaming Media Buffer Points | |
US20180143741A1 (en) | Intelligent graphical feature generation for user content | |
CN102819851B (zh) | 一种有声图片的计算机实现方法 | |
US20140320689A1 (en) | Image pickup apparatus, information processing system and image data processing method | |
CN108200482A (zh) | 一种跨平台高清音视频播放方法、***及客户端 | |
CN113038222B (zh) | 视频处理方法、装置、电子设备及存储介质 | |
CN106792155A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20181207 Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province Applicant after: Zhuhai Seal Interest Technology Co., Ltd. Address before: 519070, six level 601F, 10 main building, science and technology road, Tangjia Bay Town, Zhuhai, Guangdong. Applicant before: Zhuhai Juntian Electronic Technology Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180119 |