CN111538705B - 视频缩略图预览方法、控制服务器及介质 - Google Patents
视频缩略图预览方法、控制服务器及介质 Download PDFInfo
- Publication number
- CN111538705B CN111538705B CN202010297182.9A CN202010297182A CN111538705B CN 111538705 B CN111538705 B CN 111538705B CN 202010297182 A CN202010297182 A CN 202010297182A CN 111538705 B CN111538705 B CN 111538705B
- Authority
- CN
- China
- Prior art keywords
- thumbnail
- video
- key frame
- video thumbnail
- list
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/738—Presentation of query results
- G06F16/739—Presentation of query results in form of a video summary, e.g. the video summary being a video sequence, a composite still image or having synthesized frames
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/74—Browsing; Visualisation therefor
-
- 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
Abstract
本发明公开了一种视频缩略图预览方法,包括:根据视频时间点确定关键帧缩略图所在视频缩略图,读取视频缩略图,并从视频缩略图中获取关键帧缩略图缓存到关键帧缩略图列表。通过本发明在视频预览的过程中,能快速显示视频关键帧。
Description
技术领域
本发明属于视频播放技术,具体为一种视频缩略图预览方法、控制服务器及介质。
背景技术
视频缩略图是一张大图内嵌10*10的小图,如图1所示电影《湮灭》的片头10分钟的缩略图。视频缩略图预览是指智能电视在播放过程中,可以浏览并拖拽显示视频关键帧的实现技术。目前,视频缩略图预览在实现效率和用户体验上较慢。
发明内容
本发明的目的在于提供了一种视频缩略图预览方法。
实现本发明目的的技术解决方案为:一种视频缩略图预览方法,包括:
根据视频时间点确定关键帧缩略图所在视频缩略图,读取视频缩略图,并从视频缩略图中获取关键帧缩略图缓存到关键帧缩略图列表;
优选地,根据视频时间点确定关键帧缩略图所在视频缩略图时,判断关键帧缩略图与前一时间点关键帧缩略图是否为同源缩略图,若是,获取关键帧缩略图进行缓存时共用内存中的Bitmap。
优选地,从内存中读取视频缩略图。
优选地,当无法从内存中读取视频缩略图时,从网络中请求获取视频缩略图数据,并解码生成Bitmap,同时缓存到本地磁盘和内存中。
优选地,从视频缩略图中获取关键帧缩略图的具体方法为:
解析视频缩略图,得到视频缩略图的宽高;
根据当前视频缩略图所在视频关键帧的时间点,计算出关键帧缩略图在视频缩略图的索引位置;
依据视频缩略图的宽高计算出关键帧缩略图的宽高,截取出关键帧缩略图。
优选地,对关键帧缩略图进行存储时重复利用关键帧缩略图进列表。
优选地,重复利用关键帧缩略图列表的具体方法为:将显示列表设置为固定长度,在列表显示滚动到列表尽头,将列表开头的显示单元内存释放,重新显示新的关键帧缩略图。
优选地,所述显示列表长度为屏幕显示个数的1倍以上。
本发明与现有技术相比,其显著优点为:
通过本发明在视频预览的过程中,能快速显示视频关键帧;
通过本发明在拖动视频预览条过程中,没有明显的卡顿问题;
通过本发明拖动视频预览条,可以实现视频跳转到相应的进度;
封装成视频预览接口以及相应的UI控件,能方便快速地移植。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为视频缩略图示意图。
图2为读取视频缩略图流程图。
图3为同源缩略图缓存示意图。
图4为关键帧缩略图列表缓存示意图。
图5为实施例中视频缩略图预览示意图。
图6为实施例加载耗时示意图。
具体实施方式
一种视频缩略图预览方法,具体为:
根据视频时间点确定关键帧缩略图所在视频缩略图,读取视频缩略图,并从视频缩略图中获取关键帧缩略图缓存到关键帧缩略图列表;
优选地,根据视频时间点确定关键帧缩略图所在视频缩略图时确定关键帧缩略图与前一时间点关键帧缩略图是否为同源缩略图,若是,获取关键帧缩略图进行缓存时共用内存中的Bitmap;否则,读取视频缩略图时,从网络中请求获取视频缩略图数据,并解码生成Bitmap,缓存到本地磁盘,同时缓存到内存中;再从内存中进行读取。例如,在某些实施例中,由于视频缩略图中关键帧缩略图共有100张,第1张到第100张都是共用同一个视频缩略图Bitmap来截取关键帧缩略图Bitmap;只在位置序号位于新的视频缩略图时(即不属于同源缩略图时)才去请求网络获取Bitmap。例如按照时间戳计算出序号是236,则对应第3张视频缩略图中第36位,则共用序号是201的大图,如图3所示。
具体地,读取视频缩略图的方法为:
从内存中获取视频缩略图;具体地,利用LruCache缓存视频缩略图的信息,具体包含对视频缩略图解码生成的Bitmap;如果在内存中能读取到视频缩略图解码生成的Bitmap;否则,从磁盘文件中读取视频缩略图,并解码生成Bitmap,缓存到内存数据中,再从内存中进行读取;
如果磁盘文件中无法读取视频缩略图,从网络中请求获取视频缩略图数据,并解码生成Bitmap,缓存到本地磁盘,同时缓存到内存中;再从内存中进行读取。具体地,在获取到第一个视频缩略图后,启动线程开始缓存该视频所有缩略图文件到本地磁盘,并将设定时长的视频缩略图缓存到内存中。
进一步的实施例中,从视频缩略图中获取关键帧缩略图的具体方法为:
解析视频缩略图,得到视频缩略图的宽高;
根据当前视频缩略图所在视频关键帧的时间点,计算出关键帧缩略图在视频缩略图的索引位置,得出x坐标和y坐标。
依据视频缩略图的宽高计算出关键帧缩略图的宽高,在此基础上,截取出关键帧缩略图,并以Bitmap缓存显示。
如图1所示,在某些实施例中,一个片源按照片长划分为多个缩略图,按照一个缩略图间隔6s,10行*10列,一个缩略图占片源10分钟片长。因此,每个大缩略图,由10*10个关键帧缩略图组成。将视频缩略图缓存到本地磁盘,并解析成Bitmap到内存中,根据Bitmap获取到关键帧缩略图列表。在已得到视频缩略图的Bitmap后,截取关键帧缩略图耗时很短,1ms左右。
具体地,一个片源的视频缩略图图片是后端通过工具抓取视频中的关键帧,每6s抓取一张图片,并将关键帧图片汇总到一起,每一百个关键帧图片生成一张视频缩略图图片。本发明通过二级缓存的方式将视频缩略图预先从服务器下载下来,并在影片加载前将图片解析成一行关键帧缩略图,经过本发明,视频缩略图显示加载的速度得以较大提高。图1所示的小图片即为视频的关键帧。
视频缩略图截取的关键帧缩略图数量较大,如果全部缓存,一个视频缩略图大小以1280*720为例,视频缩略图Bitmap占用3.5M,每张关键帧缩略图占用36KB。如果是1134张,总内存将达到36*1134+12*3.5*1024=81.86M,内存占用非常大;而本发明在对关键帧缩略图进行存储时重复利用关键帧缩略图进列表。将关键帧缩略图进列表长度设定为20个关键帧缩略图,也就是两个屏能显示的缩略图个数,超过20个以后列表刷新位置从0-5的位置,并用新的关键帧缩略图刷新关键帧缩略图列表。在显示时重复利用关键帧缩略图列表,回收旧的Bitmap内存,显示当前的Bitmap数据。
进一步地,重复利用关键帧缩略图列表的具体方法为:将显示列表设置为固定长度,长度控制在屏幕显示个数的1倍以上。在列表显示滚动到列表尽头,将列表开头的显示单元内存释放掉,再重新显示新的关键帧缩略图,以达到重复利用的目的。如图4所示,位置n为列表尾端,即将不可见的关键帧缩略图位置为m,向右移动时,先将位置为1的关键帧缩略图内存释放掉,然后再将新获取到的关键帧缩略图显示在位置1上。
通过本发明,查看的视频会将视频缩略图文件按照视频id加位置序号的方式缓存到本地磁盘,在一段时间内保留,再次观看视频时,节省了重新请求视频缩略图的时间。
实施例1
本实施例对如图5所示视频进行缩略图预览,本实施了是将视频片源的所有缩略图横向显示在窗口底部,通过按键来控制视频缩略图的显示。
通过本实施例分别查看耗时情况,并将多次耗时数据统计到图6中:
第一次提取缩略图,未缓存到内存和本地磁盘中,速度取决于网速:连wifi情况耗时1s 241ms,相同情况连有线耗时460ms;
第二次退出影片播放,重新进入查看,此时已缓存到本地磁盘中,内存已被清理:
第三次内存中缓存了视频缩略图;
从以上看出,关键帧缩略图获取的时间内存(7ms)<本地磁盘(72ms)<网络请求,本发明只有在第一次进入界面时,触发网络请求,耗时较长。因在启动网络请求后,会起线程异步下载缩略图到本地,后续获取缩略图耗时会缩短。另外,缓存了视频缩略图到内存中,加载关键帧缩略图的速度很快,只有7ms。按照Android系统约每16ms刷新一次屏幕,获取关键帧缩略图的耗时大部分都在16ms以下。所以在操作上,整体感觉不到UI卡顿和延时加载的情况。整体的加载耗时情况如图6所示,在列表结尾时会有小幅波动。
实施例2
一种控制服务器,以通用计算设备的形式表现,包括但不限于:一个或者多个处理器或者处理单元、系统存储器、连接系统存储器和处理单元的总线。
总线表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
控制服务器包括多种计算机系统可读介质。这些介质可以是任何能够被控制服务器访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)和/或高速缓存存储器。控制服务器可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统可以用于读写不可移动的、非易失性磁介质(通常称为“硬盘驱动器”)。可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线相连。系统存储器可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在例如系统存储器中,这样的程序模块包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本发明所描述的实施例中的功能和/或方法。
控制服务器也可以与一个或多个外部设备,例如键盘、指向设备、显示器等通信,还可与一个或者多个使得用户能与该设备交互的设备通信,和/或与使得该控制服务器能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口进行。并且,服务器还可以通过网络适配器与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器通过总线与控制服务器的其它模块通信。应当明白,尽管图中未示出,可以结合控制服务器使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。处理单元通过运行存储在系统存储器中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的货物分拣方法。
实施例3
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可实现上述实施例中任意的视频缩略图预览方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:
无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
Claims (9)
1.一种视频缩略图预览方法,其特征在于,包括:
根据视频时间点确定关键帧缩略图所在视频缩略图,读取视频缩略图,并从视频缩略图中获取关键帧缩略图缓存到关键帧缩略图列表;
从视频缩略图中获取关键帧缩略图的具体方法为:
解析视频缩略图,得到视频缩略图的宽高;
根据当前视频缩略图所在视频关键帧的时间点,计算出关键帧缩略图在视频缩略图的索引位置;
依据视频缩略图的宽高计算出关键帧缩略图的宽高,截取出关键帧缩略图。
2.根据权利要求1所述的视频缩略图预览方法,其特征在于,根据视频时间点确定关键帧缩略图所在视频缩略图时,判断关键帧缩略图与前一时间点关键帧缩略图是否为同源缩略图,若是,获取关键帧缩略图进行缓存时共用内存中的Bitmap。
3.根据权利要求1所述的视频缩略图预览方法,其特征在于,从内存中读取视频缩略图。
4.根据权利要求1所述的视频缩略图预览方法,其特征在于,当无法从内存中读取视频缩略图时,从网络中请求获取视频缩略图数据,并解码生成Bitmap,同时缓存到本地磁盘和内存中。
5.根据权利要求1所述的视频缩略图预览方法,其特征在于,对关键帧缩略图进行存储时重复利用关键帧缩略图列表。
6.根据权利要求5所述的视频缩略图预览方法,其特征在于,重复利用关键帧缩略图列表的具体方法为:将显示列表设置为固定长度,在列表显示滚动到列表尽头,将列表开头的显示单元内存释放,重新显示新的关键帧缩略图。
7.根据权利要求6所述的视频缩略图预览方法,其特征在于,所述显示列表长度为屏幕显示个数的1倍以上。
8.一种控制服务器,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一所述的视频缩略图预览方法。
9.一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的视频缩略图预览方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010297182.9A CN111538705B (zh) | 2020-04-15 | 2020-04-15 | 视频缩略图预览方法、控制服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010297182.9A CN111538705B (zh) | 2020-04-15 | 2020-04-15 | 视频缩略图预览方法、控制服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111538705A CN111538705A (zh) | 2020-08-14 |
CN111538705B true CN111538705B (zh) | 2023-06-30 |
Family
ID=71978648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010297182.9A Active CN111538705B (zh) | 2020-04-15 | 2020-04-15 | 视频缩略图预览方法、控制服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111538705B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738416B (zh) * | 2020-12-23 | 2023-05-02 | 上海哔哩哔哩科技有限公司 | 缩略图预览方法、系统、设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810622A (zh) * | 2018-07-09 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 视频帧的提取方法、装置、计算机可读介质及电子设备 |
CN109618225A (zh) * | 2018-12-25 | 2019-04-12 | 百度在线网络技术(北京)有限公司 | 视频抽帧方法、装置、设备和介质 |
-
2020
- 2020-04-15 CN CN202010297182.9A patent/CN111538705B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108810622A (zh) * | 2018-07-09 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 视频帧的提取方法、装置、计算机可读介质及电子设备 |
CN109618225A (zh) * | 2018-12-25 | 2019-04-12 | 百度在线网络技术(北京)有限公司 | 视频抽帧方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111538705A (zh) | 2020-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11977516B2 (en) | Systems and methods for data storage | |
CN109618225B (zh) | 视频抽帧方法、装置、设备和介质 | |
CN110825456B (zh) | 加载时间计算方法、装置、计算机设备及存储介质 | |
US9569004B2 (en) | Swipe toolbar to switch tabs | |
US20160291846A1 (en) | Generating carousel user interface with graphics processing unit | |
CN109388317B (zh) | 一种图片加载方法、终端设备及存储介质 | |
CN109885781B (zh) | 混合页面统一浏览方法、装置、设备和存储介质 | |
CN110012306B (zh) | 弹幕的显示方法、装置、设备及存储介质 | |
CN112148221B (zh) | 一种磁盘冗余阵列的巡检方法、装置、设备及存储介质 | |
US11941728B2 (en) | Previewing method and apparatus for effect application, and device, and storage medium | |
CN111796824A (zh) | 页面加载方法、装置、服务器及介质 | |
CN110851276A (zh) | 一种业务请求处理方法、装置、服务器和存储介质 | |
CN110727825A (zh) | 动画播放的控制方法、装置、服务器和存储介质 | |
CN111258736A (zh) | 信息处理方法、装置和电子设备 | |
CN111538705B (zh) | 视频缩略图预览方法、控制服务器及介质 | |
CN114302208A (zh) | 视频的发布方法、装置、电子设备、存储介质和程序产品 | |
CN110781063B (zh) | 网页首屏时间的测量方法、装置、设备及存储介质 | |
US20130016108A1 (en) | Information processing apparatus, information processing method, and program | |
US11195248B2 (en) | Method and apparatus for processing pixel data of a video frame | |
CN107885807B (zh) | 一种文件保存方法、装置、智能平板和存储介质 | |
CN117557701A (zh) | 一种图像渲染方法和电子设备 | |
CN114461214A (zh) | 一种页面显示方法、装置、电子设备及存储介质 | |
CN114036431A (zh) | 页面缓存跳转方法、装置、电子设备及存储介质 | |
CN113779449A (zh) | 一种页面加载方法、装置、电子设备和存储介质 | |
CN114490265A (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 |