CN114339400A - 一种视频抽帧方法、装置、电子设备及存储介质 - Google Patents
一种视频抽帧方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114339400A CN114339400A CN202111626291.1A CN202111626291A CN114339400A CN 114339400 A CN114339400 A CN 114339400A CN 202111626291 A CN202111626291 A CN 202111626291A CN 114339400 A CN114339400 A CN 114339400A
- Authority
- CN
- China
- Prior art keywords
- frame
- video file
- target video
- playing
- video
- 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.)
- Granted
Links
- 238000000605 extraction Methods 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000004891 communication Methods 0.000 claims description 19
- 238000009432 framing Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 3
- 238000009795 derivation Methods 0.000 claims description 3
- 238000004904 shortening Methods 0.000 abstract description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种视频抽帧方法、装置、电子设备及存储介质,应用于浏览器,该方法包括:获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件;基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件;若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布;在所述canvas画布中导出帧图像。本发明实施例能够在浏览器本地播放待抽帧的目标视频文件,并完成抽帧过程,无需将视频文件上传至服务器,缩短抽帧等待时间,便于用户使用。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频抽帧方法、装置、电子设备及存储介质。
背景技术
目前,一些视频创作者会将自己拍摄的视频发布出来,供其他用户观看,为了便于区分不同视频内容,一般会为视频添加视频封面,在视频文件播放前,展示视频封面。
然而,在视频创作者需要为自己创作的视频生成视频封面时,需要先将视频上传至服务器,然后由服务器截取指定视频帧作为视频封面,并返回,过程繁琐,耗费时间长,用户需要长时间等待,影响用户使用。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种视频抽帧方法、装置、电子设备及存储介质。
第一方面,本申请提供了一种视频抽帧方法,应用于浏览器,该方法包括:
获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件;
基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件;
若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布;
在所述canvas画布中导出帧图像。
可选地,获取目标视频文件的内存URL,包括:
使用所述浏览器中的创建对象URL方法生成所述目标视频文件的内存URL。
可选地,基于所述内存URL播放所述目标视频文件,包括:
利用所述浏览器的视频播放元素加载来自于所述内存URL的所述目标视频文件;
使用浏览器的视频播放元素播放所述目标视频文件。
可选地,在所述canvas画布中导出帧图像,包括:
获取所述视频帧的Blob信息;
利用所述浏览器中的创建对象URL方法将所述Blob信息转换成帧图像。
可选地,基于所述内存URL播放所述目标视频文件,包括:
若第一视频文件格式的所述目标视频文件播放失败,获取所述浏览器支持的第二视频文件格式;
利用所述浏览器中的web组件将所述目标视频文件由所述第一视频文件格式转换成所述第二视频文件格式;
播放所述第二视频文件格式的目标视频文件。
可选地,在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,包括:
在所述目标视频文件开始播放时,确定检测到所述抽帧触发事件;
将与所述抽帧触发事件对应的视频帧绘制到canvas画布,包括:
获取与一个或多个预设抽帧时刻对应的视频帧,所述预设抽帧时刻为预设的默认抽帧时刻;
将所述视频帧绘制到canvas画布。
可选地,在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,包括:
在所述目标视频文件的播放过程中,确定是否检测到调整操作,所述调整操作为用户调整播放进度条的操作,所述调整操作用于选择抽帧时刻;
若检测到所述调整操作,确定检测到所述抽帧触发事件;
将与所述抽帧触发事件对应的视频帧绘制到canvas画布,包括:
获取与所述调整操作的结束时刻对应的视频帧;
将所述视频帧绘制到canvas画布。
第二方面,本申请提供了一种视频抽帧装置,应用于浏览器,该装置包括:
获取模块,用于获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件;
播放模块,用于基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件;
绘制模块,用于若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布;
导出模块,用于在所述canvas画布中导出帧图像。
可选地,所述获取模块还用于:
使用所述浏览器中的创建对象URL方法生成所述目标视频文件的内存URL。
可选地,所述播放模块包括:
加载单元,用于利用所述浏览器的视频播放元素加载来自于所述内存URL的所述目标视频文件;
第一播放单元,用于使用浏览器的视频播放元素播放所述目标视频文件。
可选地,所述导出模块包括:
第一获取单元,用于获取所述视频帧的Blob信息;
第一转换单元,用于利用所述浏览器中的创建对象URL方法将所述Blob信息转换成帧图像。
可选地,所述播放模块包括:
第二获取单元,用于若第一视频文件格式的所述目标视频文件播放失败,获取所述浏览器支持的第二视频文件格式;
第二转换单元,用于利用所述浏览器中的web组件将所述目标视频文件由所述第一视频文件格式转换成所述第二视频文件格式;
第二播放单元,用于播放所述第二视频文件格式的目标视频文件。
可选地,所述播放模块包括:
第一确定单元,用于在所述目标视频文件开始播放时,确定检测到所述抽帧触发事件;
所述绘制模块包括:
第三获取单元,用于获取与一个或多个预设抽帧时刻对应的视频帧,所述预设抽帧时刻为预设的默认抽帧时刻;
第一绘制单元,用于将所述视频帧绘制到canvas画布。
可选地,所述播放模块包括:
第二确定单元,用于在所述目标视频文件的播放过程中,确定是否检测到调整操作,所述调整操作为用户调整播放进度条的操作,所述调整操作用于选择抽帧时刻;
第三确定的单元,用于若检测到所述调整操作,确定检测到所述抽帧触发事件;
所述绘制模块包括:
第四获取单元,用于所述调整操作的结束时刻对应的视频帧;
第二绘制单元,用于将所述视频帧绘制到canvas画布。
第三方面,本申请提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面任一所述的视频抽帧方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有视频抽帧方法的程序,所述视频抽帧方法的程序被处理器执行时实现第一方面任一所述的视频抽帧方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本发明实施例通过首先获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件,然后基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布,最后可以在所述canvas画布中导出帧图像。
本发明实施例能够在浏览器本地播放待抽帧的目标视频文件,并完成抽帧过程,无需将视频文件上传至服务器,缩短抽帧等待时间,便于用户使用。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种视频抽帧方法的流程图;
图2为本申请实施例提供的一种视频抽帧装置的结构图;
图3为本申请实施例提供的一种电子设备的结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
由于在视频创作者需要为自己创作的视频生成视频封面时,需要先将视频上传至服务器,然后由服务器截取指定视频帧作为视频封面,并返回,过程繁琐,耗费时间长,用户需要长时间等待,影响用户使用。为此,本申请实施例提供一种视频抽帧方法、装置、电子设备及存储介质,该视频抽帧方法、装置、电子设备及存储介质能够在浏览器本地直接进行视频抽帧,缩短抽帧等待时间,便于用户使用。
该视频抽帧方法可以应用于浏览器中,如图1所示,该方法可以包括以下步骤:
步骤S101,获取位于本地的目标视频文件的内存URL。
本发明实施例中,所述目标视频文件为未上传至服务器的待抽帧的视频文件,在实际应用中,在用户需要对某一视频文件进行抽帧时,可以在浏览器中通过选择操作选择位于本地的任一视频文件,被选择操作选中的视频文件即为目标视频文件;
在该步骤中,可以使用所述浏览器中的创建对象URL(createObjectURL)方法生成所述目标视频文件在本地内存中的内存URL,内存URL用于指示目标视频文件的存储地址。
步骤S102,基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件;
本发明实施例中,抽帧触发事件为seeked事件,用于触发在目标视频文件中进行抽帧,可以预先将监听到调整操作和/或视频开始播放等确定为抽帧触发事件,示例性地,在监听到调整操作时,可以对调整操作的结束时刻所对应的视频帧进行抽帧,在监听到视频开始播放时,可以对目标视频文件中的一个或多个预设抽帧时刻所对应的视频帧进行抽帧。
在该步骤中,可以在得到内存URL后,播放与该内存URL对应的目标视频文件,然后,在播放目标视频文件过程中,检测是否监听到抽帧触发事件,示例性的,若监听到调整操作或者开始播放视频时可以确定检测到抽帧触发事件。
步骤S103,若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布;
在该步骤中,若检测到抽帧触发事件,抽帧触发事件可以触发回调函数,回调函数用于获取与该抽帧触发事件对应的视频帧的Blob信息,利用该Blob信息将与抽帧触发事件对应的视频帧绘制到canvas画布。其中,Blob信息为视频帧的blob对象的信息,blob对象表示一个不可变、原始数据的类文件对象,它的数据可以按文本或二进制的格式进行读取,也可以转换成ReadableStream(流操作API中的接口)来用于数据操作。
步骤S104,在所述canvas画布中导出帧图像。
在该步骤中,可以利用canvas画布的toBlob方法导出帧图像。
canvas画布的toBlob方法用于创造Blob对象,用以导出canvas上的视频帧,导出的视频帧可以被缓存或保存到本地。
在步骤S104之后,为了便于用户观看,可以预览该帧图像,也可以直接上传该帧图像至服务器。
本发明实施例通过首先获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件,然后基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布,最后可以在所述canvas画布中导出帧图像。
本发明实施例能够在浏览器本地播放待抽帧的目标视频文件,并完成抽帧过程,无需将视频文件上传至服务器,缩短抽帧等待时间,便于用户使用。
在本发明的又一实施例中,步骤S102基于所述内存URL播放所述目标视频文件,包括:
201,利用所述浏览器的视频播放元素加载来自于所述内存URL的所述目标视频文件;
本发明实施例中,视频播放元素可以指视频标签(video tag),用于播放视频,在播放目标视频文件之前,可以预先加载目标视频文件。
202,使用浏览器的视频播放元素播放所述目标视频文件。
为了使浏览器的视频播放元素播放目标视频文件,本发明实施例可以利用浏览器的视频播放元素预加载目标视频文件,这样,视频播放元素可以播放资源地址为内存URL的目标视频文件。
在本发明的又一实施例中,步骤S104在所述canvas画布中导出帧图像,包括:
301,获取所述视频帧的Blob信息;
由于前述实施例中,回调函数获取到抽帧触发事件对应的视频帧的Blob信息,将该Blob信息赋给浏览器中的创建对象URL方法。
302,利用所述浏览器中的创建对象URL方法将所述Blob信息转换成帧图像。
在该步骤中,浏览器中的创建对象URL方法可以生成Blob信息对应的图像地址,然后,可以从该图像地址导出帧图像。
在本发明的又一实施例中,步骤S102基于所述内存URL播放所述目标视频文件,包括:
401,若第一视频文件格式的所述目标视频文件播放失败,获取所述浏览器支持的第二视频文件格式;
在实际应用中,可能会存在本地的浏览器不支持播放目标视频文件的情况,所以可以获取该浏览器支持的第二视频文件格式。
示例性的,可以预先获取多个浏览器支持的视频文件格式,然后针对每个浏览器配置与其支持的视频文件格式之间的对应关系,在根据用户当前使用的浏览器的标识在该对应关系中获取该浏览器支持的第二视频文件格式。
402,利用所述浏览器中的web组件将所述目标视频文件由所述第一视频文件格式转换成所述第二视频文件格式;
在该步骤中,可以通过web组件(WebAssembly)技术将目标视频文件转换成浏览器支持播放的第二视频文件格式。
403,播放所述第二视频文件格式的目标视频文件。
在本发明的另一种实施方式中,若第一视频文件格式的所述目标视频文件播放失败,可以利用ffmpeg库将目标视频文件的画面部分转码成符合h.264视频编码标准的mp4格式,将目标视频文件的音频部分转码成高级音频编码(Advanced Audio Coding,AAC)格式,得到第二视频文件格式的目标视频文件。
本发明实施例能够在浏览器不支持播放目标视频文件的格式时,自动转换目标视频文件的格式,无需用户手动对目标视频文件进行转码,简化用户操作过程,便于用户使用。
在本发明的又一实施例中,步骤S102在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,包括:
501,在所述目标视频文件开始播放时,确定检测到所述抽帧触发事件;
在检测到目标视频文件开始播放时,可以认为用户需要对该目标视频文件进行抽帧,所以可以确定检测到抽帧触发事件。
步骤S103将与所述抽帧触发事件对应的视频帧绘制到canvas画布,包括:
502,获取与一个或多个预设抽帧时刻对应的视频帧,所述预设抽帧时刻为预设的默认抽帧时刻;
本发明实施例中,可以预先设置一个或多个系统默认的抽帧时刻,即预设抽帧时刻,以便于在目标视频文件开始播放时,抽取一个或多个预设抽帧时刻对应的视频帧,以供用户选择使用,预设抽帧时刻可以是目标视频文件的进度条中的任一时刻,如:01:45:20等。
在本发明的一种实施方式中,若预先设置一个预设抽帧时刻,则可以在目标视频文件开始播放时,抽取该预设抽帧时刻对应的视频帧,然后展示该视频帧,以供用户选择是否将该视频帧作为视频封面使用;
在本发明的另一种实施方式中,若预先设置多个预设抽帧时刻,则可以在目标视频文件开始播放时,同时抽取多个预设抽帧时刻对应的视频帧,然后展示多个抽取的视频帧,以供用户在多个视频帧中选择一个作为视频封面使用。
为了便于用户更加快速的抽取到需要的视频封面,可以在用户在浏览器中选择目标视频文件时,利用浏览器后台对目标视频文件中的多个视频帧进行快速检测,检测各个视频帧中的构图是否与预设构图规则匹配,检测各个视频帧中的色彩搭配是否与预设色彩搭配规则匹配等,或者检测视频帧中的对象是否与视频描述信息(用户在选择目标视频文件时针对该目标视频文件输入的描述信息,如:视频内容简介等)中的对象匹配,如:视频描述信息中提到的对象全部在某一视频帧中出现等,在确定匹配的情况下,可以将该视频帧对应的时刻设置为预设抽帧时刻,实现无需用户手动选择即可自动抽帧,提高用户抽帧效率,便于用户使用。
503,将所述视频帧绘制到canvas画布。
用户可以选择一个或多个视频帧是否为其需要的视频帧(如:可以作为封面的视频帧),若用户选择其中一个视频帧,则可以导出该视频帧;若一个或多个视频帧均不是用户需要的视频帧,则可以通过下述实施例的调整操作选择想要抽取的视频帧。
在目标视频文件开始播放时,可以获取预设抽帧时刻对应的视频帧,将该视频帧绘制到canvas画布,也就是说,在通过播放目标视频文件的方式触发抽帧时,直接抽取一个或多个预先设置的指定时刻对应的视频帧。
在本发明的又一实施例中,步骤S102在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,包括:
601,在所述目标视频文件的播放过程中,确定是否检测到调整操作。
本发明实施例中,所述调整操作为用户调整播放进度条的操作,所述调整操作用于选择抽帧时刻,调整操作可以调整至当前播放时刻之前或者之后的任一播放时刻;在实际应用中,为了快速移动至指定位置的视频内容,用户可能会调整操作调整视频的播放位置,所以,可以检测用户是否输入调整操作,以便在调整操作的结束时刻抽帧。
示例性的,调整操作可以包括:拖拽操作和点击操作等,拖拽操作即通过长按并移动播放进度条的操作,点击操作即在时间轴上点击任一位置的操作。
602,若检测到所述调整操作,确定检测到所述抽帧触发事件;
步骤S103将与所述抽帧触发事件对应的视频帧绘制到canvas画布,包括:
603,获取与所述调整操作的结束时刻对应的视频帧;
调整操作的结束时刻即调整操作结束时在时间轴上对应的时刻,如:用户长按鼠标左键调整播放进度条,松开鼠标左键的时刻即为调整操作的结束时刻;再如:用户在时间轴上点击任一位置对应的播放时刻即为调整操作的结束时刻。
604,将所述视频帧绘制到canvas画布。
在检测到调整操作时,可以获取调整结束时刻对应的视频帧,将该视频帧绘制到canvas画布,也就是说,在通过调整操作的方式触发抽帧时,直接抽取该的结束时刻对应的视频帧。
在本发明的又一实施例中,还提供一种视频抽帧装置,应用于浏览器,如图2所示,该装置包括:
获取模块11,用于获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件;
播放模块12,用于基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件;
绘制模块13,用于若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布;
导出模块14,用于在所述canvas画布中导出帧图像。
可选地,所述获取模块还用于:
使用所述浏览器中的创建对象URL方法生成所述目标视频文件的内存URL。
可选地,所述播放模块包括:
加载单元,用于利用所述浏览器的视频播放元素加载来自于所述内存URL的所述目标视频文件;
第一播放单元,用于使用浏览器的视频播放元素播放所述目标视频文件。
可选地,所述导出模块包括:
第一获取单元,用于获取所述视频帧的Blob信息;
第一转换单元,用于利用所述浏览器中的创建对象URL方法将所述Blob信息转换成帧图像。
可选地,所述播放模块包括:
第二获取单元,用于若第一视频文件格式的所述目标视频文件播放失败,获取所述浏览器支持的第二视频文件格式;
第二转换单元,用于利用所述浏览器中的web组件将所述目标视频文件由所述第一视频文件格式转换成所述第二视频文件格式;
第二播放单元,用于播放所述第二视频文件格式的目标视频文件。
可选地,所述播放模块包括:
第一确定单元,用于在所述目标视频文件开始播放时,确定检测到所述抽帧触发事件;
所述绘制模块包括:
第三获取单元,用于获取与一个或多个预设抽帧时刻对应的视频帧,所述预设抽帧时刻为预设的默认抽帧时刻;
第一绘制单元,用于将所述视频帧绘制到canvas画布。
可选地,所述播放模块包括:
第二确定单元,用于在所述目标视频文件的播放过程中,确定是否检测到调整操作,所述调整操作为用户调整播放进度条的操作,所述调整操作用于选择抽帧时刻;
第三确定的单元,用于若检测到所述调整操作,确定检测到所述抽帧触发事件;
所述绘制模块包括:
第四获取单元,用于所述调整操作的结束时刻对应的视频帧;
第二绘制单元,用于将所述视频帧绘制到canvas画布。
在本发明的又一实施例中,还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现前述任一方法实施例所述的视频抽帧方法。
在本发明的又一实施例中,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有视频抽帧方法的程序,所述视频抽帧方法的程序被处理器执行时实现前述任一方法实施例所述的视频抽帧方法的步骤。
本发明实施例提供的电子设备,处理器通过执行存储器上所存放的程序实现了通过首先获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件,然后基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布,最后可以在所述canvas画布中导出帧图像。
本发明实施例能够在浏览器本地播放待抽帧的目标视频文件,并完成抽帧过程,无需将视频文件上传至服务器,缩短抽帧等待时间,便于用户使用。
上述电子设备提到的通信总线1140可以是外设部件互连标准(PeripheralComponentInterconnect,简称PCI)总线或扩展工业标准结构(ExtendedIndustryStandardArchitecture,简称EISA)总线等。该通信总线1140可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1120用于上述电子设备与其他设备之间的通信。
存储器1130可以包括随机存取存储器(RandomAccessMemory,简称RAM),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器1110可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种视频抽帧方法,其特征在于,应用于浏览器,该方法包括:
获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件;
基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件;
若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布;
在所述canvas画布中导出帧图像。
2.根据权利要求1所述的视频抽帧方法,其特征在于,获取目标视频文件的内存URL,包括:
使用所述浏览器中的创建对象URL方法生成所述目标视频文件的内存URL。
3.根据权利要求1所述的视频抽帧方法,其特征在于,基于所述内存URL播放所述目标视频文件,包括:
利用所述浏览器的视频播放元素加载来自于所述内存URL的所述目标视频文件;
使用浏览器的视频播放元素播放所述目标视频文件。
4.根据权利要求1所述的视频抽帧方法,其特征在于,在所述canvas画布中导出帧图像,包括:
获取所述视频帧的Blob信息;
利用所述浏览器中的创建对象URL方法将所述Blob信息转换成帧图像。
5.根据权利要求1所述的视频抽帧方法,其特征在于,基于所述内存URL播放所述目标视频文件,包括:
若第一视频文件格式的所述目标视频文件播放失败,获取所述浏览器支持的第二视频文件格式;
利用所述浏览器中的web组件将所述目标视频文件由所述第一视频文件格式转换成所述第二视频文件格式;
播放所述第二视频文件格式的目标视频文件。
6.根据权利要求1所述的视频抽帧方法,其特征在于,在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,包括:
在所述目标视频文件开始播放时,确定检测到所述抽帧触发事件;
将与所述抽帧触发事件对应的视频帧绘制到canvas画布,包括:
获取与一个或多个预设抽帧时刻对应的视频帧,所述预设抽帧时刻为预设的默认抽帧时刻;
将所述视频帧绘制到canvas画布。
7.根据权利要求1所述的视频抽帧方法,其特征在于,在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件,包括:
在所述目标视频文件的播放过程中,确定是否检测到调整操作,所述调整操作为用户调整播放进度条的操作,所述调整操作用于选择抽帧时刻;
若检测到所述调整操作,确定检测到所述抽帧触发事件;
将与所述抽帧触发事件对应的视频帧绘制到canvas画布,包括:
获取与所述调整操作的结束时刻对应的视频帧;
将所述视频帧绘制到canvas画布。
8.一种视频抽帧装置,其特征在于,应用于浏览器,该装置包括:
获取模块,用于获取位于本地的目标视频文件的内存URL,所述目标视频文件为待抽帧的视频文件;
播放模块,用于基于所述内存URL播放所述目标视频文件,并在所述目标视频文件的播放过程中,确定是否检测到抽帧触发事件;
绘制模块,用于若检测到所述抽帧触发事件,将与所述抽帧触发事件对应的视频帧绘制到canvas画布;
导出模块,用于在所述canvas画布中导出帧图像。
9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1~7任一所述的视频抽帧方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有视频抽帧方法的程序,所述视频抽帧方法的程序被处理器执行时实现权利要求1-7任一所述的视频抽帧方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111626291.1A CN114339400B (zh) | 2021-12-28 | 2021-12-28 | 一种视频抽帧方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111626291.1A CN114339400B (zh) | 2021-12-28 | 2021-12-28 | 一种视频抽帧方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114339400A true CN114339400A (zh) | 2022-04-12 |
CN114339400B CN114339400B (zh) | 2024-02-02 |
Family
ID=81015022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111626291.1A Active CN114339400B (zh) | 2021-12-28 | 2021-12-28 | 一种视频抽帧方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114339400B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006041623A (ja) * | 2004-07-22 | 2006-02-09 | Canon Inc | 画像処理装置およびその方法 |
CN103338384A (zh) * | 2013-05-31 | 2013-10-02 | 优视科技有限公司 | 一种视频播放方法及装置 |
US20140325323A1 (en) * | 2013-04-28 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Online video playing method and apparatus and computer readable medium |
CN106503016A (zh) * | 2015-09-07 | 2017-03-15 | 北京国双科技有限公司 | 抓取页面信息的方法及装置 |
CN109391585A (zh) * | 2017-08-03 | 2019-02-26 | 杭州海康威视数字技术股份有限公司 | 视频数据处理方法、装置、终端及计算机可读存储介质 |
CN109672902A (zh) * | 2018-12-25 | 2019-04-23 | 百度在线网络技术(北京)有限公司 | 一种视频抽帧方法、装置、电子设备和存储介质 |
CN112422676A (zh) * | 2020-11-17 | 2021-02-26 | 京东数字科技控股股份有限公司 | 一种视频播放方法、装置、设备和计算机可读存储介质 |
CN113259752A (zh) * | 2021-07-12 | 2021-08-13 | 广州闪畅信息科技有限公司 | 浏览器页面中的互动视频的播放控制方法、装置及服务器 |
-
2021
- 2021-12-28 CN CN202111626291.1A patent/CN114339400B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006041623A (ja) * | 2004-07-22 | 2006-02-09 | Canon Inc | 画像処理装置およびその方法 |
US20140325323A1 (en) * | 2013-04-28 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Online video playing method and apparatus and computer readable medium |
CN103338384A (zh) * | 2013-05-31 | 2013-10-02 | 优视科技有限公司 | 一种视频播放方法及装置 |
CN106503016A (zh) * | 2015-09-07 | 2017-03-15 | 北京国双科技有限公司 | 抓取页面信息的方法及装置 |
CN109391585A (zh) * | 2017-08-03 | 2019-02-26 | 杭州海康威视数字技术股份有限公司 | 视频数据处理方法、装置、终端及计算机可读存储介质 |
CN109672902A (zh) * | 2018-12-25 | 2019-04-23 | 百度在线网络技术(北京)有限公司 | 一种视频抽帧方法、装置、电子设备和存储介质 |
CN112422676A (zh) * | 2020-11-17 | 2021-02-26 | 京东数字科技控股股份有限公司 | 一种视频播放方法、装置、设备和计算机可读存储介质 |
CN113259752A (zh) * | 2021-07-12 | 2021-08-13 | 广州闪畅信息科技有限公司 | 浏览器页面中的互动视频的播放控制方法、装置及服务器 |
Non-Patent Citations (3)
Title |
---|
JIXIN LIU ET AL.: "Low-quality Video Key Frame Extraction via Affinity Propagation", 《2021 3RD INTERNATIONAL CONFERENCE ON ADVANCES IN COMPUTER TECHNOLOGY INFORMATION SCIENCE AND COMMUNICATION》 * |
宋永生: "基于OpenCV及AI的网络学习者情绪监测系统", 《信息技术与信息化》 * |
王筱斐: "基于视频内容的智能视频摘要系统", 《中国优秀硕士论文电子期刊》 * |
Also Published As
Publication number | Publication date |
---|---|
CN114339400B (zh) | 2024-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108495185B (zh) | 一种视频标题生成方法和装置 | |
US11528446B2 (en) | Remotely accessed virtual recording room | |
CN110688595B (zh) | 一种文件在线预览方法、装置、设备和存储介质 | |
CN109168037A (zh) | 视频播放方法和装置 | |
US20160283824A1 (en) | Image processing device, image processing method, program, and recording medium | |
EP4329283A1 (en) | Image processing method and apparatus, and device and storage medium | |
CN110347319B (zh) | 一种应用内屏幕截图方法及装置 | |
CN108259923B (zh) | 一种视频直播方法、系统及设备 | |
CN109254709A (zh) | 截屏处理方法、装置、设备和机器可读介质 | |
CN110288678B (zh) | 动态照片的生成方法、装置、计算机设备和存储介质 | |
CN109121005A (zh) | 多媒体数据的处理方法及电子设备 | |
JP2019207527A (ja) | 編集プログラム、編集装置および編集方法 | |
CN110970011A (zh) | 图片处理方法、装置、设备及计算机可读存储介质 | |
CN103902635A (zh) | 获取实时数据的方法、浏览器、多媒体设备及移动终端 | |
WO2020010817A1 (zh) | 视频处理方法、装置、终端和存储介质 | |
CN114339400B (zh) | 一种视频抽帧方法、装置、电子设备及存储介质 | |
CN112333508A (zh) | 视频预览方法、系统、设备及存储介质 | |
CN110889054A (zh) | 一种前后端分离Web系统的在线预览的方法及装置 | |
CN114374869B (zh) | 一种全景视频播放方法、装置及计算机存储介质 | |
CN103702167A (zh) | 一种实现节目预览图显示的方法及电子设备 | |
CN111414495B (zh) | 多媒体数据获取方法、装置及计算机可读存储介质 | |
CN115499702B (zh) | 预览图像的展示方法、装置、电子设备和存储介质 | |
JP2019212068A (ja) | 情報処理装置、情報処理方法及びプログラム | |
CN114666667B (zh) | 视频关键点的生成方法、装置、电子设备及存储介质 | |
US11481423B1 (en) | Apparatus and method for delivering augmented reality content associated with a scanned object |
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 |