一种视频抽帧方法、装置、电子设备和存储介质制造方法及图纸

技术编号:20947730 阅读:21 留言:0更新日期:2019-04-24 03:46
本发明专利技术实施例公开了一种视频抽帧方法、装置、电子设备和存储介质,该方法包括:通过浏览器获取待抽帧的目标视频;调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片。本发明专利技术实施例通过在前端利用浏览器支持的视频处理元素实现抽帧,使得视频抽帧速度大大提升,减少了后端抽帧服务的压力;并且基于原始的视频文件利用前端快速抽帧可以最大限度的保证图片的质量,改善用户体验。

A Video Frame Extraction Method, Device, Electronic Equipment and Storage Media

The embodiment of the present invention discloses a video frame extraction method, device, electronic equipment and storage medium. The method includes: acquiring the target video of the frame to be extracted through a browser; and drawing the target video by calling the video processing elements supported by the browser to obtain a preset number of pictures. The embodiment of the present invention achieves frame extraction by using video processing elements supported by browsers in the front end, which greatly improves the speed of video frame extraction and reduces the pressure of the back end frame extraction service; and the front end fast frame extraction based on the original video file can maximize the quality of the picture and improve the user experience.

【技术实现步骤摘要】
一种视频抽帧方法、装置、电子设备和存储介质
本专利技术实施例涉及视频处理
,尤其涉及一种视频抽帧方法、装置、电子设备和存储介质。
技术介绍
随着互联网技术的快速发展,互联网进入了内容分发的新时代,短视频内容是当前社交媒体上最火的内容形式。视频占据了内容分发中很大的比重,内容作者通过内容平台上传大量的视频,通过内容平台分发,为更广泛的用户提供视频内容消费服务。在内容下发前,内容作者往往会设置一张图片作为视频的封面图,告知阅读者视频的内容,吸引读者。封面图需要与视频的相关度很高,因此,通常是利用视频抽帧技术抽取视频中的图片作为封面图。现有技术中,内容平台获取视频后,通常是将视频上传到云端服务器,调用云端服务器的后台抽帧服务进行视频抽帧,例如利用Ffmpeg程序服务(一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序)抽取视频帧图片。然而,在上述过程中,后台抽帧服务需要占用较长时间才能完成,导致抽帧速度降低,需要用户等待几分钟甚至几十分钟才能得到抽帧返回结果,无法满足当前对视频抽帧的速度需求。
技术实现思路
本专利技术实施例提供一种视频抽帧方法、装置、电子设备和存储介质,以解决现有技术中视频抽帧速度慢的问题。第一方面,本专利技术实施例提供了一种视频抽帧方法,所述方法包括:通过浏览器获取待抽帧的目标视频;调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片。第二方面,本专利技术实施例还提供了一种视频抽帧装置,所述装置包括:目标视频获取模块,用于通过浏览器获取待抽帧的目标视频;目标视频抽帧模块,用于调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片。第三方面,本专利技术实施例还提供了一种电子设备,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任意实施例所述的一种视频抽帧方法。第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本专利技术任意实施例所述的一种视频抽帧方法。本专利技术实施例通过浏览器获取待抽帧的目标视频;调用当前浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片,以进行抽帧。利用前端浏览器对视频进行抽帧让用户可以快速获取抽帧结果,提高抽帧速度,且减少了后端取帧服务的压力。同时,本专利技术实施例基于原始的视频文件利用前端快速抽帧可以最大限度的保证图片的质量,从而进一步提升用户体验。附图说明图1是本专利技术实施例一中的一种视频抽帧方法的流程图;图2是本专利技术实施例二中的一种视频抽帧方法的流程图;图3是本专利技术实施例三中的一种视频抽帧方法的流程图;图4是本专利技术实施例四中的一种视频抽帧装置的结构示意图;图5是本专利技术实施例五中的一种电子设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种视频抽帧方法的流程图,本实施例可适用于视频抽帧的情况,该方法可以由一种视频抽帧装置来执行,该装置可通过软件和/或硬件实现,并可配置在电子设备中,该电子设备可以是计算机、平板电脑或手机等可以运行浏览器的智能设备,如图1所示,该方法包括:S110、通过浏览器获取待抽帧的目标视频。浏览器可以是电子设备中运行的用于展示信息资源的应用程序,这些信息资源可为网页、图片、影音或其他内容。在本专利技术实施例中,浏览器具体可以是一些内容分发平台或网站,可向后台服务器发送各种请求,并对从服务器发来的超文本信息或各种多媒体数据格式进行解释、显示和播放。目标视频可以是需要抽帧的视频文件,例如,用户在电子设备中通过浏览器登录内容分发平台,在平台上上传目标视频文件,电子设备通过平台获取到目标视频文件后,从该目标视频的原始视频文件中抽取预设数量的视频帧图片并通过浏览器显示,以便于用户从这些视频帧图片中选择适合作为该目标视频封面图片的视频帧图片。S120、调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片。其中,视频处理元素可以是浏览器支持的可以基于视频文件进行相关图像绘制的容器、程序或工具等。预设数量可以是预先设定的作为候选视频封面图片的数量,当然,也可以根据抽帧业务需要和目标视频的长度灵活设置预设数量,以满足用户需求。在本专利技术实施例中,电子设备可以直接调用该浏览器支持的视频处理元素,利用该视频处理元素对目标视频进行抽帧,绘制得到预设数量的图片。从而使得电子设备可以实现前端快速抽帧,使得视频抽帧不再依赖于服务器的后端服务,极大的提升了用户体验。可选的,所述视频处理元素为canvas。其中,canvas是一个HTML中可以使用脚本(通常为JavaScript)在其中绘制图像的HTML元素。它可以用来制作照片集、制作动画,以及进行实时视频处理和渲染。示例性的,HTML5<canvas>标签用于绘制图像,<canvas>元素本身并没有绘制能力(它仅仅是图形的容器),可以利用使用JavaScript脚本来完成实际的绘图任务。大部分的浏览器可以支持canvas元素,而canvas可以支持将video(视频)对象绘制成图片,canvas还可以将绘制的图片直接转存为其他格式的图片,如base64格式的图片。当然,在电子设备进行抽帧的同时,也可以同时执行视频上传服务器的操作,以减少视频分发的时间。可选的,调用当前浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片之后,所述方法还包括:将所述预设数量的图片作为目标视频的候选封面图片返回至浏览器进行显示。具体的,在一些基于浏览器实现的视频分发平台中,视频作者对视频进行分发时,一般会设置一张图片作为视频的封面图,告知阅读者视频的内容,吸引读者。在本专利技术实施例中,可以将得到的预设数量的图片作为候选封面图片返回至浏览器显示,用户可以从这些候选封面图片中选取一张作为分发视频的封面。当然,浏览器也可以根据预设的选择封面规则选择一张相关度最高的图片作为封面图片,返回至浏览器进行显示。此外,还需要说明的是,在现有技术中,通常是在前端获取到用户上传的目标视频后,电子设备会先将目标视频上传至后端服务器,由后端服务器对目标视频进行转码,以支持不同视频格式的播放器,然后再对转码后的视频文件进行抽帧,这一复杂流程不仅速度慢,需要用户等待几分钟甚至几十分钟才能得到抽帧返回结果,而且,抽帧是基于转码视频文件,这就会造成抽取的视频帧图片质量不高的问题。而在本专利技术实施例中,在前端实现抽帧,不仅速度快,而且是在原始视频文件基础上进行抽帧,最大程度地满足了抽取图片的质量要求,继而提高视频封面图片的质量。本实施例的技术方案,调用浏览器支持的视频处理元素对用户上传的视频进行抽帧,从而通过前端抽帧方案可以让用户在几秒钟内获取抽帧结果,相比现有技术中需要先上传服务器进行抽帧的方案,抽帧速度大大提升,改善用户体验,同时减少了后端取帧服务50%以上的压力;另外,现有技术中用户将视频上传至服务器进行抽帧通本文档来自技高网...

【技术保护点】
1.一种视频抽帧方法,其特征在于,所述方法包括:通过浏览器获取待抽帧的目标视频;调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片。

【技术特征摘要】
1.一种视频抽帧方法,其特征在于,所述方法包括:通过浏览器获取待抽帧的目标视频;调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片。2.根据权利要求1所述的方法,其特征在于,所述视频处理元素为canvas。3.根据权利要求1或2所述的方法,其特征在于,调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片,包括:通过浏览器的脚本语言中视频对象提供的特定方法,提取目标视频的原始宽度和原始高度;依据所述原始宽度和原始高度创建大小相应的画布;调用浏览器支持的视频处理元素依据所述画布对目标视频进行抽帧,得到预设数量的图片,使所述图片的大小与所述原始宽度和原始高度相匹配。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:如果提取不到所述原始宽度和原始高度,则将目标视频上传到服务器,通过服务器上的后台抽帧服务进行抽帧。5.根据权利要求1或2所述的方法,其特征在于,调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片,包括:获取目标视频的视频时长,并依据所述预设数量和视频时长计算出每次抽帧的视频跳转时长;通过浏览器的脚本语言中视频对象提供的特定函数按照所述视频跳转时长依次进行视频跳转;每当监听到所述特定函数完成一次跳转,则调用浏览器支持的视频处理元素中提供的绘制接口,依据当前跳转到的时刻所对应的视频帧进行绘制,得到相应的图片,以完成对目标视频进行抽帧。6.根据权利要求5所述的方法,其特征在于,对于每一次抽帧,监听所述特定函数以及调用所述绘制接口进行绘制的相关操作,是基于创建的承诺对象完成的,其中,所述承诺对象是浏览器的脚本语言中提供的对象。7.根据权利要求1或2所述的方法,其特征在于,调用当前浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片之后,所述方法还包括:将所述预设数量的图片作为目标视频的候选封面图片返回至浏览器进行显示。8.一种视频抽帧装置,其特征在于,所述装置包括:目标视频获取模块,用于通过浏览器获取待抽帧的目标视频;目标视频抽帧模块,用于调用浏览器支持的视频处理元素对目标视频进行抽帧,得到预设数量的图片。9.根据权利要求8所述的装置,其特征在于,所述视频处理...

【专利技术属性】
技术研发人员:李利周廷帅
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1