CN109325145A - 视频缩略图的获取方法、终端及计算机可读存储介质 - Google Patents

视频缩略图的获取方法、终端及计算机可读存储介质 Download PDF

Info

Publication number
CN109325145A
CN109325145A CN201811097808.0A CN201811097808A CN109325145A CN 109325145 A CN109325145 A CN 109325145A CN 201811097808 A CN201811097808 A CN 201811097808A CN 109325145 A CN109325145 A CN 109325145A
Authority
CN
China
Prior art keywords
video
binary file
terminal
uploaded
external member
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
Application number
CN201811097808.0A
Other languages
English (en)
Other versions
CN109325145B (zh
Inventor
夏中洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN201811097808.0A priority Critical patent/CN109325145B/zh
Publication of CN109325145A publication Critical patent/CN109325145A/zh
Application granted granted Critical
Publication of CN109325145B publication Critical patent/CN109325145B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种视频缩略图的获取方法、终端及计算机可读存储介质。视频缩略图的获取方法,包括以下步骤:S100:对一多媒体处理套件裁剪,留取符合视频解码器解码标准的切图套件;S200:对切图套件编译,形成符合底层虚拟机的字节码;S300:将字节码编译为二进制文件,并将二进制文件嵌入一目标网页内;S400:当目标网页被一终端请求打开时,目标网页下发二进制文件至终端;S500:目标网页接收一待上传视频,二进制文件截取待上传视频的至少一个截图;S600:显示至少一个截图用作缩略图。采用上述技术方案后,不仅可节省服务器的运算资源和带宽,也将所有切图所需要的资源分散到各个用户处,提高用户体验。

Description

视频缩略图的获取方法、终端及计算机可读存储介质
技术领域
本发明涉及流媒体处理领域,尤其涉及一种视频缩略图的获取方法、终端及计算机可读存储介质。
背景技术
随着智能终端的快速发展,用户使用智能终端进行各式各样的操作和接收各式各样的信息。例如,通过已联网的智能终端获取到音频、视频等流媒体并收听和观看。且随着各式各样的流媒体的更新,出现了由厂商、用户等不同受众将制作完成的视频上传到视频浏览网站上。为吸引其他用户点击某些用户上传的视频,以增加网站的流量,视频浏览网站的运营商常在观看视频的页面增加该视频的缩略图,缩略图通常显示与该视频的内容最接近、或是最符合用户偏好的内容页面。
现有缩略图的形成方案采用在服务器端,对视频进行切图实现,由于切图的步骤在服务器完成,需要消耗服务器的资源。且切图方案常在接收完成用户上传的视频后才会开始执行,对用户的带宽要求很高,同时占有用户端和服务器两侧的资源。
因此,需要一种新型的视频缩略图的获取方法,将切图的步骤在用户端完成,节省服务器的资源,提高用户体验。
发明内容
为了克服上述技术缺陷,本发明的目的在于提供一种视频缩略图的获取方法、终端及计算机可读存储介质,不仅可节省服务器的运算资源和带宽,也将所有切图所需要的资源分散到各个用户处,提高用户体验。
本发明公开了一种视频缩略图的获取方法,包括以下步骤:
S100:对一多媒体处理套件裁剪,留取符合视频解码器解码标准的切图套件;
S200:对所述切图套件编译,形成符合底层虚拟机的字节码;
S300:将所述字节码编译为二进制文件,并将所述二进制文件嵌入一目标网页内;
S400:当所述目标网页被一终端请求打开时,所述目标网页下发所述二进制文件至所述终端;
S500:所述目标网页接收一待上传视频,所述二进制文件截取所述待上传视频的至少一个截图;
S600:显示所述至少一个截图用作所述缩略图。
优选地,所述步骤S100包括:
S110:获取FFmpeg套件作为所述多媒体处理套件;
S120:获取期望视频解码器作为所述视频解码标准;
S130:根据所述期望视频解码器裁剪所述FFmpeg套件,去除所述FFmpeg内不符合所述期望视频解码器的模块。
优选地,所述步骤S200包括:
S210:将所述切图套件编译为LLVM字节码。
优选地,所述步骤S300包括:
S310:通过Emscripten编译器将所述LLVM字节码编译为基于汇编语言的WebAssembly二进制文件;
S320:将所述WebAssembly二进制文件嵌入一用于接收一待上传视频的目标网页。
优选地,所述步骤S500包括:
S510:所述目标网页接收一视频上传请求;
S520:根据选定的待上传视频,所述二进制文件读取所述待上传视频的关键帧的帧节;
S530:所述二进制文件截取具有所述帧节的关键帧。
优选地,所述视频缩略图的获取方法还包括以下步骤:
S700:存储所述待上传视频及缩略图至服务器,并新增一具有所述待上传视频的视频网页;
S800:于所述视频网页显示所述待上传视频及缩略图。
本发明还公开了一种视频缩略图的获取方法,所述获取方法应用于服务器与终端之间,包括以下步骤:
S100’:所述服务器对一多媒体处理套件裁剪,留取符合视频解码器解码标准的切图套件;
S200’:所述服务器对所述切图套件编译,形成符合底层虚拟机的字节码;
S300’:所述服务器将所述字节码编译为二进制文件,并将所述二进制文件嵌入一目标网页内;
S400’:所述终端向所述服务发送打开所述目标网页的请求,所述服务器下发所述二进制文件至所述终端;
S500’:所述终端发送一待上传视频至所述服务器,所述二进制文件截取所述待上传视频的至少一个截图;
S600’:所述终端显示所述至少一个截图用作所述缩略图。
本发明又公开了一种终端,所述终端包括:
浏览器模块,用于打开至少一个目标网页;
存储模块,接收所述目标网页下发的二进制文件;
处理模块,与所述存储模块连接,接收所述二进制文件,控制所述二进制文件对一待上传视频截取至少一个截图;
显示模块,与所述处理模块连接,接收并显示至少一个截图用作所述缩略图。
本发明又公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的获取方法。
采用了上述技术方案后,与现有技术相比,具有以下有益效果:
1.服务器只用于接收用户上传的视频及已在用户端侧完成的切图所形成的缩略图,释放服务器的运行资源;
2.切图套件体积小,用户端打开网页时的延迟对用户无感;
3.视频上传完成前即已完成切图,用户可提前观看到与上传视频相关的缩略图,方便及时调整。
附图说明
图1为符合本发明一优选实施例中视频缩略图的获取方法的流程示意图;
图2为符合本发明一进一步优选实施例中视频缩略图的获取方法的流程示意图;
图3为符合本发明另一优选实施例中视频缩略图的获取方法的流程示意图;
图4为符合本发明一优选实施例中终端的结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本发明的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”
在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
参阅图1,示出了符合本发明一优选实施例中视频缩略图的获取方法,在该实施例中,以用户选定的一视频作为待上传视频,并在上传前便完成对待上传视频的截图,以作为对该待上传视频的缩略图或预览图,帮助其他用户在未打开上传后的待上传视频时,可通过对缩略图或预览图的观看,便可了解该待上传视频的主要内容。具体地,为获取视频缩略图,将执行以下步骤:
S100:对一多媒体处理套件裁剪,留取符合视频解码器解码标准的切图套件;
为完成对用户选择的一待上传视频的截图(或称切图),将选用一可对视频等流媒体作处理的多媒体处理套件。通常此类多媒体处理套件可帮助用户处理多种媒体文件,例如包括视频、音频、照片、数据等,让用户能够轻松的完成对视频文件的编辑,如保存视频文件至指定设备上、转换视频文件的格式以方便用户分享给其他用户、解析视频文件以提高视频质量、为视频文件添加虚拟效果、分割或拼接视频文件、制作视频文件的拷贝文件、刻录视频文件至硬件存储媒介等。为满足本发明实施例中用于对视频中的某一画面或某一帧截取时,将对具有上述功能的多媒体处理套件裁剪,保留具有截取功能的多媒体处理套件,则剩余部分可成型为一切图套件。可以理解的是,切图套件即为对视频文件进行画面截取的文件、程序、模块、设备等的称谓,具有上述截取功能的均属于切图套件内。
除上述对视频文件的画面截取外,该切图套件还具有符合视频解码器解码标准的功能。该功能的设置,出于对视频文件的播放需求。具体地,当切图套件对视频文件截取某一画面后,应当保证该视频仍可正常地被播放,即仍为符合视频解码器解码标准的视频文件,如AVI、MPEG、WMV、DivX、MP4.H264/AVC、RM、3GP、VOB、FLV、SWF、MP3、WMA、WAV、RA、AAC、AC3、OGG中一个或多个播放与解码标准的视频文件,则切图套件对视频文件截图后,仅是对视频文件中的某一画面或某一帧作提取,不破坏视频文件原有的数据内容。
上述仅留取符合视频解码器解码标准的切图套件,可通过去除其他无用功能降低对存储大小的要求,从而切图套件的应用场景可进一步地增加,跳脱出用户对原切图套件仅可安装使用的思维惯性,使得切图套件可以以轻应用、或是开放接口的形式存在在各式各样的应用场景中。
S200:对切图套件编译,形成符合底层虚拟机的字节码;
在本实施例中,除对切图套件有基本截取画面的功能外,为进一步加强切图套件的适配性和应用的多样性,将不直接对切图套件进行使用,而是对其进行编译,形成符合底层虚拟机的字节码。虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整系统,通过对运行环境的模拟,可实现基于虚拟机所构建的上层在任何环境下均可无错运行。底层虚拟机,便是直接与运行环境切合的搭建底层的虚拟机,当底层与运行环境切合后,在该底层之上构建的具有功能的应用、代码、套件等便可在该运行环境上运行。
字节码(Byte-code)是一种包含执行程序、由一序列op代码/数据对组成的二进制文件。字节码是一种中间码,它比机器码更抽象。它经常被看作是包含一个执行程序的二进制文件,更像一个对象模型。字节码的称谓由来是因为通常每个op代码是一字节长,但是指令码的长度是变化的。每个指令有从0到255(或十六进制的:00到FF)的一字节操作码,被参数例如寄存器或内存地址跟随。字节码主要为了实现特定软件运行和软件环境、与硬件环境无关,其通过编译器和虚拟机器。编译器将源码编译成字节码,特定平台上的虚拟机器将字节码转译为可以直接执行的指令。
因此,对切图套件编译后所形成的符合底层虚拟机的字节码,将切图套件分解为可在各应用环境内增加、修改运行的文件,扩展了字节码的可使用目标地。
S300:将字节码编译为二进制文件,并将二进制文件嵌入一目标网页内;
在该步骤中,字节码进一步被编译为二进制文件,二进制文件的内容是JVM的指令,而不像C、C++经由编译器直接生成的机器码。且正因为二进制文件不是机器码,所以将依托于底层虚拟机运行。二进制文件编译完成后,将嵌入一目标网页内。该目标网页为对视频网站浏览时,用户可能点击或打开的一网站的网页,在网页上,加载有可观看的视频、对视频的评论、弹幕、视频上传时间等与视频有关的信息。当二进制文件嵌入在目标网页后,目标网页被激活时,二进制文件也会被激活。也就是说,目标网页被激活时,具有截图功能的切图套件将以二进制文件的形态加载并运行。
S400:当目标网页被一终端请求打开时,目标网页下发二进制文件至终端;
进一步地,用户使用终端并调用终端内的可用于浏览网页的浏览应用,如浏览器等,向具有目标网页的服务器发送打开请求时,服务器将响应该请求,并将目标网页的网页内容下发到浏览器内,使得浏览器可显示该目标网页,也即终端的浏览器在前台、后台以静默、显示等方式打开目标网页。目标网页除将下发其具有的内容至终端外,还将其具有的二进制文件下发至终端处。也就是说,原存储在目标网页的存储位置,如服务器、云端等的二进制文件,在目标网页被终端打开时,二进制文件将随目标网页的内容一同被下载到终端处,在终端缓存运行或存储运行。所谓缓存运行,即二进制文件的运行以目标网页为平台,当目标网页被关闭时,二进制文件也将由于平台的消失而无法被终端调用运行;当目标网页再次被终端请求打开时,二进制文件将再次被下发到终端,以前述的运行方式运行。所谓存储运行,即二进制文件的运行以终端为平台,当目标网页首次被终端请求打开时,二进制文件将存储在终端内,也就是说,即便是目标网页被关闭,二进制文件仍将存储在终端的存储区内。且后续目标网页再次被该终端请求打开时,将不再下发二进制文件至终端处,加快目标网页的打开速度。当然可以理解的是,虽然与不下发二进制文件至终端处相比,打开网页的速度与需下发二进制文件至终端处的时间更长,但由于在步骤S100中已对切图套件作精简,则在用户侧而言,两种目标网页的打开时间差并不会给用户带来视觉上的感受。
S500:目标网页接收一待上传视频,二进制文件截取待上传视频的至少一个截图;
该目标网页可以被视频浏览网站的运营商设置为专用于用户上传自行拍摄的视频的网页,则用户打开该目标网页,即标志着用户具有向该视频浏览网站上传视频的需求。用户点击视频浏览网站的运营商设置的上传视频交互接口、选择一视频作为待上传视频时,则用户使用的终端便将占用其网络带宽,从终端处上传该待上传视频至视频浏览网站的服务器。在开始上传待上传视频、甚至还未上传待上传视频,仍处于对待上传视频校验时,随目标网页的网页内容一同下发到终端的二进制文件将发挥其作用,利用视频截图的功能,截取待上传视频的至少一个截图。也就是说,在待上传视频还未上传完毕,甚至还未开始上传时,已形成有与待上传视频的内容有关的缩略图。
且可以理解的是,截图的动作由二进制文件完成,而二进制文件如上文所述的,以目标网页为平台缓存运行,或以终端为平台存储运行,上述两种运行方式均摆脱于视频浏览网站的服务器,在终端处,或终端的缓存区运行,即将原服务器对所有用户的视频上传时截图工作分散到每一用户的终端处,降低服务器的系统负载。
S600:显示至少一个截图用作缩略图。
截图完成后,在终端处显示截图中的一项或者多项,作为用户上传视频的缩略图,帮助用户了解布置自己上传视频的吸引度。若用户认为缩略图无法真实、完全地反应待上传视频的视频内容,则可选择其他截图作为缩略图,或是再次请求调用二进制文件,对待上传视频截取并显示。
通过上述实施例的配置,待上传视频上传完成前开始并完成截图过程,且完成在终端本地,不依赖于服务器或是用户带宽,不会影响待上传视频的上传速度,节省大量服务器资源。
参阅图2,在一优选实施例中,视频缩略图的方法更为具体地通过以下步骤执行完成:
步骤S100包括:
S110:获取FFmpeg套件作为多媒体处理套件;
S120:获取期望视频解码器作为视频解码标准;
S130:根据期望视频解码器裁剪FFmpeg套件,去除FFmpeg内不符合期望视频解码器的模块。
在该实施例中,多媒体处理套件为FFmpeg套件。FFmpeg是一个自由软件,可以运行音频和视频多种格式的录影、转换、流功能,其包含了libavcodec这一用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。FFmpeg项目由以下几部分组成:FFmpeg视频文件转换命令行工具,也支持经过实时电视卡抓取和编码成视频文件;ffserver基于HTTP、RTSP用于实时广播的多媒体服务器.也支持时间平移;ffplay用SDL和FFmpeg库开发的一个简单的媒体播放器;libavcodec一个包含了所有FFmpeg音视频编解码器的库。FFmpeg套件可以是在由FFmpeg开发类别Miscellaneous Shareware的软件,作为一种通用多媒体工具包,用来记录转换、过滤、音频和视频流。它由大量的媒体播放器(包括VLC,MPlayer和通过GStreamer图腾),用视频分配网站(包括YouTube和Vimeo)、互联网浏览器和许多其他软件项目在多媒体领域和超越。
选择FFmpeg套件后,进而将选择所需要的期望解码器作为视频解码标准。例如运营商只希望视频浏览网站保留对VI、MPEG、WMV、DivX、MP4.H264/AVC、RM、3GP中的一个或多个视频解码并播放时,便可根据意愿自行选择并保留。并最终根据所保留的期望视频解码器裁剪FFmpeg套件,去除FFmpeg套件内不符合期望视频解码器的模块。也就是说,保留的视频解码标准越少,FFmpeg套件内所保留的模块或软件也越少。
步骤S200包括:
S210:将切图套件编译为LLVM字节码
对切图套件,尤其是FFmpeg套件编译,形成为LLVM字节码。LLVM(Low LevelVirtual Machine)是一个底层虚拟机。LLVM可以被看作是一系列的编译器和工具链技术的集合,而且它们是模块化并且是可重用的。对LLVM的理解,可认为LLVM是一个编译器;LLVM是一个编译器框架;LLVM是一系列的编译器工具;LLVM是一个编译器工具链;LLVM是一个C++实现的开源软件等。这几种对LLVM的理解都对,但是也都是LLVM的一个方面,综合起来就是一个完整的LLVM。所以,从狭义上来说,可以简单的把LLVM理解为一个编译器,但是也必须知道,这个编译器可不仅仅是个编译器,它包含了编译相关的各种工具链,并且有一些相对独立的工具,而且它还是开源的。LLVM的“中间表示”(IR)是一个极大的创新。LLVM的程序表示方法是可读的,这点上虽然看上去这没什么要紧的,但要知道,其他编译器的中间表示大多是一种内存中的复杂数据结构,以至于很难写出来,这让其他编译器既难懂又难以实现。然而LLVM并非如此。他的架构远远比其他编译器要模块化得多。
步骤S300包括:
S310:通过Emscripten编译器将LLVM字节码编译为基于汇编语言的WebAssembly二进制文件;
S320:将WebAssembly二进制文件嵌入一用于接收一待上传视频的目标网页。
Emscripten主要是通过emcc(Emscripten Compiler Frontend)来工作的。这是个命令行工具,其并非通常的LLVM后端,本身使用JavaScript写成。它可以将任何通过LLVM前端(比如C/C++Clang)生成的LLVMIR中间码编译成JavaScript,从而显著降低移植现有代码库到Web环境的损耗。
WebAssembly二进制文件作为面向Web的二进制格式。该格式名为WebAssembly,可以作为任何编程语言的编译目标,使应用程序可以运行在浏览器或其它代理中。WebAssembly二进制文件将首先把C/C++程序带给Web,但稍后会通过增强实现对其它任何语言的支持。一个LLVM后端和clang移植已经在计划上。WASM将运行在“和JavaScript相同的语义空间”,支持从/到JavaScript的异步调用,访问所有的浏览器API,并且遵循JavaScript程序所遵循的安全策略。客户端应用程序可以完全用WASM编写,也可以用WASM实现业务逻辑,而用HTML/CSS/JavaScript实现UI
Emscripten编译器将LLVM字节码编译为基于汇编语言的WebAssembly二进制文件,并将WebAssembly二进制文件嵌入到目标网页内,使得目标网页承载有WebAssembly二进制文件。
步骤S500包括:
S510:目标网页接收一视频上传请求;
S520:根据选定的待上传视频,二进制文件读取待上传视频的关键帧的帧节;
S530:二进制文件截取具有帧节的关键帧。
对于显示画面的截图,二进制文件将直接读取待上传视频上的关键帧所在的位置,即帧节处,获取到帧节后,二进制文件便将待上传视频所在帧节处的显示画面截取出,以尽可能地在初始截图时便获得与待上传视频的主题内容最相关的截图,如显示该待上述按视频的标题的截图、显示该待上传视频的主角特写的截图、显示该待上传视频最令用户印象深刻的截图等。上述关键帧,通常为用户在录制待上传视频时,自行添加的视频信息,因此,利用已有的视频内容,便可最方便快捷地获取到最相关的截图。
进一步地,视频缩略图的获取方法还包括以下步骤:
S700:存储待上传视频及缩略图至服务器,并新增一具有待上传视频的视频网页;
S800:于视频网页显示待上传视频及缩略图。
当待上传视频被上传到服务器时,在终端本地获取的缩略图将随待上传视频一同上传至服务器内,并在服务器处,增加一视频网页,该视频网页被用户打开时,将同时显示已上传的视频及对应该视频的缩略图,方便其他用户在未打开视频时,便可基本了解该视频的主要内容。
参阅图3,在另一实施例中,视频缩略图的获取方法应用于服务器与终端之间,包括以下步骤:
S100’:服务器对一多媒体处理套件裁剪,留取符合视频解码器解码标准的切图套件;
S200’:服务器对切图套件编译,形成符合底层虚拟机的字节码;
S300’:服务器将字节码编译为二进制文件,并将二进制文件嵌入一目标网页内;
S400’:终端向服务发送打开目标网页的请求,服务器下发二进制文件至终端;
S500’:终端发送一待上传视频至服务器,二进制文件截取待上传视频的至少一个截图;
S600’:终端显示至少一个截图用作缩略图。
通过服务器与终端的配合,完成在终端处任意时间,优选地在上传视频前,便完成对视频的画面截取。
参阅图4,本发明还公开了一种终端,终端包括:
浏览器模块,用于根据用户的请求打开至少一个目标网页;
存储模块,接收目标网页下发的以脚本、插件、软件、应用程序等形式形成的二进制文件;
处理模块,与存储模块连接,接收二进制文件,控制二进制文件对一待上传视频截取至少一个截图;
显示模块,与处理模块连接,接收并显示至少一个截图用作缩略图。
当终端可代替原服务器完成视频截图功能时,服务器的更多资源可被释放以完成如视频存储、后台搭建等功能,节省服务器资源。
为实现上述实施例中所述的步骤,本发明还公开了一种计算机可读存储介质,其上存储有计算机程序,计算机程序存储在服务器内,并被服务器内具有的处理器执行时实现如上所述的获取方法。
终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、导航装置等等的终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
应当注意的是,本发明的实施例有较佳的实施性,且并非对本发明作任何形式的限制,任何熟悉该领域的技术人员可能利用上述揭示的技术内容变更或修饰为等同的有效实施例,但凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何修改或等同变化及修饰,均仍属于本发明技术方案的范围内。

Claims (9)

1.一种视频缩略图的获取方法,其特征在于,包括以下步骤:
S100:对一多媒体处理套件裁剪,留取符合视频解码器解码标准的切图套件;
S200:对所述切图套件编译,形成符合底层虚拟机的字节码;
S300:将所述字节码编译为二进制文件,并将所述二进制文件嵌入一目标网页内;
S400:当所述目标网页被一终端请求打开时,所述目标网页下发所述二进制文件至所述终端;
S500:所述目标网页接收一待上传视频,所述二进制文件截取所述待上传视频的至少一个截图;
S600:显示所述至少一个截图用作所述缩略图。
2.如权利要求1所述的获取方法,其特征在于,
所述步骤S100包括:
S110:获取FFmpeg套件作为所述多媒体处理套件;
S120:获取期望视频解码器作为所述视频解码标准;
S130:根据所述期望视频解码器裁剪所述FFmpeg套件,去除所述FFmpeg套件内不符合所述期望视频解码器的模块。
3.如权利要求1所述的获取方法,其特征在于,
所述步骤S200包括:
S210:将所述切图套件编译为LLVM字节码。
4.如权利要求3所述的获取方法,其特征在于,
所述步骤S300包括:
S310:通过Emscripten编译器将所述LLVM字节码编译为基于汇编语言的WebAssembly二进制文件;
S320:将所述WebAssembly二进制文件嵌入一用于接收一待上传视频的目标网页。
5.如权利要求1所述的获取方法,其特征在于,
所述步骤S500包括:
S510:所述目标网页接收一视频上传请求;
S520:根据选定的待上传视频,所述二进制文件读取所述待上传视频的关键帧的帧节;
S530:所述二进制文件截取具有所述帧节的关键帧。
6.如权利要求1所述的获取方法,其特征在于,
所述视频缩略图的获取方法还包括以下步骤:
S700:存储所述待上传视频及缩略图至服务器,并新增一具有所述待上传视频的视频网页;
S800:于所述视频网页显示所述待上传视频及缩略图。
7.一种视频缩略图的获取方法,所述获取方法应用于服务器与终端之间,其特征在于,包括以下步骤:
S100’:所述服务器对一多媒体处理套件裁剪,留取符合视频解码器解码标准的切图套件;
S200’:所述服务器对所述切图套件编译,形成符合底层虚拟机的字节码;
S300’:所述服务器将所述字节码编译为二进制文件,并将所述二进制文件嵌入一目标网页内;
S400’:所述终端向所述服务发送打开所述目标网页的请求,所述服务器下发所述二进制文件至所述终端;
S500’:所述终端发送一待上传视频至所述服务器,所述二进制文件截取所述待上传视频的至少一个截图;
S600’:所述终端显示所述至少一个截图用作所述缩略图。
8.一种终端,其特征在于,所述终端包括:
浏览器模块,用于打开至少一个目标网页;
存储模块,接收所述目标网页下发的二进制文件;
处理模块,与所述存储模块连接,接收所述二进制文件,控制所述二进制文件对一待上传视频截取至少一个截图;
显示模块,与所述处理模块连接,接收并显示至少一个截图用作所述缩略图。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的获取方法。
CN201811097808.0A 2018-09-19 2018-09-19 视频缩略图的获取方法、终端及计算机可读存储介质 Active CN109325145B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811097808.0A CN109325145B (zh) 2018-09-19 2018-09-19 视频缩略图的获取方法、终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811097808.0A CN109325145B (zh) 2018-09-19 2018-09-19 视频缩略图的获取方法、终端及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN109325145A true CN109325145A (zh) 2019-02-12
CN109325145B CN109325145B (zh) 2021-10-12

Family

ID=65266139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811097808.0A Active CN109325145B (zh) 2018-09-19 2018-09-19 视频缩略图的获取方法、终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN109325145B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399133A (zh) * 2019-06-25 2019-11-01 西北大学 一种基于前端字节码技术的JavaScript代码优化方法
CN110602093A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 一种数据处理方法、装置以及计算机可读存储介质
CN111277916A (zh) * 2020-01-09 2020-06-12 深圳震有科技股份有限公司 基于队列的视频缩略图加载处理方法及装置、设备、介质
CN111913712A (zh) * 2019-05-08 2020-11-10 北京字节跳动网络技术有限公司 用于在Web端部署神经网络模型的方法和装置
CN112437343A (zh) * 2020-05-15 2021-03-02 上海哔哩哔哩科技有限公司 基于浏览器的封面生成方法和系统
CN112668546A (zh) * 2021-01-13 2021-04-16 海信视像科技股份有限公司 视频缩略图显示方法及显示设备
CN116048532A (zh) * 2023-04-03 2023-05-02 深圳市启明智显科技有限公司 基于web的嵌入式UI效果模拟预览方法、装置及系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541740A (zh) * 2012-01-04 2012-07-04 广东欧珀移动通信有限公司 一种基于Android的手机便签自动化测试方法
CN103873916A (zh) * 2012-12-13 2014-06-18 深圳市快播科技有限公司 一种影片缩略图的处理方法及系统、视频播放器
CN104883583A (zh) * 2015-06-05 2015-09-02 广东欧珀移动通信有限公司 一种获取在线视频截图的方法及装置
CN106028120A (zh) * 2016-06-27 2016-10-12 徐文波 移动终端中进行的视频导播方法和装置
CN106358076A (zh) * 2016-09-05 2017-01-25 北京金山安全软件有限公司 视频裁剪方法、装置及电子设备
US20170085518A1 (en) * 2013-05-03 2017-03-23 Digimarc Corporation Watermarking and signal recognition for managing and sharing captured content, metadata discovery and related arrangements
CN106599516A (zh) * 2016-12-30 2017-04-26 北京航天测控技术有限公司 一种基于电路板的测试矢量自动生成方法及装置
CN106792272A (zh) * 2016-11-28 2017-05-31 维沃移动通信有限公司 一种视频缩略图的生成方法及移动终端
CN107438175A (zh) * 2017-08-14 2017-12-05 武汉微创光电股份有限公司 针对大规模视频的快速截图方法及系统
CN107688657A (zh) * 2017-09-05 2018-02-13 上海勤联物联网有限公司 一种视频简历的制作系统及其方法
CN107820115A (zh) * 2017-09-30 2018-03-20 中兴通讯股份有限公司 实现视频信息预览的方法、装置及客户端和存储介质
CN108495144A (zh) * 2018-03-30 2018-09-04 哈尔滨市舍科技有限公司 一种获取图片的方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541740A (zh) * 2012-01-04 2012-07-04 广东欧珀移动通信有限公司 一种基于Android的手机便签自动化测试方法
CN103873916A (zh) * 2012-12-13 2014-06-18 深圳市快播科技有限公司 一种影片缩略图的处理方法及系统、视频播放器
US20170085518A1 (en) * 2013-05-03 2017-03-23 Digimarc Corporation Watermarking and signal recognition for managing and sharing captured content, metadata discovery and related arrangements
CN104883583A (zh) * 2015-06-05 2015-09-02 广东欧珀移动通信有限公司 一种获取在线视频截图的方法及装置
CN106028120A (zh) * 2016-06-27 2016-10-12 徐文波 移动终端中进行的视频导播方法和装置
CN106358076A (zh) * 2016-09-05 2017-01-25 北京金山安全软件有限公司 视频裁剪方法、装置及电子设备
CN106792272A (zh) * 2016-11-28 2017-05-31 维沃移动通信有限公司 一种视频缩略图的生成方法及移动终端
CN106599516A (zh) * 2016-12-30 2017-04-26 北京航天测控技术有限公司 一种基于电路板的测试矢量自动生成方法及装置
CN107438175A (zh) * 2017-08-14 2017-12-05 武汉微创光电股份有限公司 针对大规模视频的快速截图方法及系统
CN107688657A (zh) * 2017-09-05 2018-02-13 上海勤联物联网有限公司 一种视频简历的制作系统及其方法
CN107820115A (zh) * 2017-09-30 2018-03-20 中兴通讯股份有限公司 实现视频信息预览的方法、装置及客户端和存储介质
CN108495144A (zh) * 2018-03-30 2018-09-04 哈尔滨市舍科技有限公司 一种获取图片的方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
DISOUL凌空: "使用WebAssembly+FFmpeg实现前端视频转码(下)", 《知乎HTTPS://ZHUANLAN.ZHIHU.COM/P/27910351 》 *
M. XIA等: "Detecting video frame rate up-conversion based on frame-level analysis of average texture variation", 《MULTIMEDIA TOOLS APPL》 *
张维刚 等: "融合视觉内容分析的网络视频缩略图推荐", 《智能计算机与应用》 *
赵学孔 等: "基于Web的视频缩略图动态生成技术研究", 《电脑知识与技术》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111913712A (zh) * 2019-05-08 2020-11-10 北京字节跳动网络技术有限公司 用于在Web端部署神经网络模型的方法和装置
CN110399133A (zh) * 2019-06-25 2019-11-01 西北大学 一种基于前端字节码技术的JavaScript代码优化方法
CN110399133B (zh) * 2019-06-25 2020-10-27 西北大学 一种基于前端字节码技术的JavaScript代码优化方法
CN110602093A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 一种数据处理方法、装置以及计算机可读存储介质
CN110602093B (zh) * 2019-09-12 2021-04-30 腾讯科技(深圳)有限公司 一种数据处理方法、装置以及计算机可读存储介质
CN111277916A (zh) * 2020-01-09 2020-06-12 深圳震有科技股份有限公司 基于队列的视频缩略图加载处理方法及装置、设备、介质
CN112437343A (zh) * 2020-05-15 2021-03-02 上海哔哩哔哩科技有限公司 基于浏览器的封面生成方法和系统
CN112437343B (zh) * 2020-05-15 2021-09-17 上海哔哩哔哩科技有限公司 基于浏览器的封面生成方法和系统
CN112668546A (zh) * 2021-01-13 2021-04-16 海信视像科技股份有限公司 视频缩略图显示方法及显示设备
CN116048532A (zh) * 2023-04-03 2023-05-02 深圳市启明智显科技有限公司 基于web的嵌入式UI效果模拟预览方法、装置及系统

Also Published As

Publication number Publication date
CN109325145B (zh) 2021-10-12

Similar Documents

Publication Publication Date Title
CN109325145A (zh) 视频缩略图的获取方法、终端及计算机可读存储介质
CN109032738B (zh) 多媒体播放控制方法、装置、终端及存储介质
JP6111440B2 (ja) ユーザインターフェースを符号化する方法
US10143924B2 (en) Enhancing user experience by presenting past application usage
US10673916B1 (en) Executing applications in remotely emulated computing devices
CN101447994B (zh) 多媒体文件的下载播放方法及设备
US8265457B2 (en) Proxy editing and rendering for various delivery outlets
CN112653700B (zh) 一种基于webrtc网页视频通信的方法
Pfeiffer et al. The definitive guide to HTML5 video
CN110446114B (zh) 多媒体数据的处理装置、方法、电子设备及存储介质
CA2843152C (en) Remotely preconfiguring a computing device
WO2022057722A1 (zh) 程序试用方法、系统、装置、设备及介质
US20170324998A1 (en) Method for playing video, client, and computer storage medium
CN1921610B (zh) 基于客户端的视频流互动处理方法及处理系统
CN108337560A (zh) 用于在web浏览器上播放媒体的媒体重放设备和媒体服务设备
JP2008545335A5 (zh)
CN110505511A (zh) 一种在网页中播放视频的方法、装置、系统及计算设备
CN101442627A (zh) 一种用于对等计算机顶盒的播放器的控制方法
US8868785B1 (en) Method and apparatus for displaying multimedia content
KR100892433B1 (ko) 이동통신 단말기를 이용한 영상 중계 시스템 및 그 방법
WO2014024255A1 (ja) 端末および動画再生プログラム
JP5923495B2 (ja) 再生装置
RU2690888C2 (ru) Способ, устройство и вычислительное устройство для получения широковещательного контента
Williams Learn HTML5 and JavaScript for android
Jackson et al. Digital Video: Streaming Video, MediaPlayer, and MediaController Classes

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