CN114205680A - 视频封面展示方法及其装置、设备、介质、产品 - Google Patents
视频封面展示方法及其装置、设备、介质、产品 Download PDFInfo
- Publication number
- CN114205680A CN114205680A CN202111453278.0A CN202111453278A CN114205680A CN 114205680 A CN114205680 A CN 114205680A CN 202111453278 A CN202111453278 A CN 202111453278A CN 114205680 A CN114205680 A CN 114205680A
- Authority
- CN
- China
- Prior art keywords
- video
- visible
- data
- cover
- cache 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 92
- 238000013507 mapping Methods 0.000 claims abstract description 140
- 238000004806 packaging method and process Methods 0.000 claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 39
- 238000005096 rolling process Methods 0.000 claims abstract description 30
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 20
- 230000015654 memory Effects 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 13
- 238000009877 rendering Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 6
- 238000003491 array Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 9
- 230000007246 mechanism Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 241000023320 Luma <angiosperm> Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004132 cross linking Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8549—Creating video summaries, e.g. movie trailer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4312—Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本申请公开一种视频封面展示方法及其装置、设备、介质、产品,所述方法包括:响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键;从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示;响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中。本申请在视频页面的滚动过程中引入缓存机制,减少全量数据遍历次数,从而实现节省CPU运算资源,提升视频封面展示的流畅性。
Description
技术领域
本申请涉及视频播放技术领域,尤其涉及一种视频封面展示方法及其相应的装置、计算机设备、计算机可读存储介质,以及计算机程序产品。
背景技术
随着时代的发展,数据量越来越大,以至于用户设备装载的内存条存储容量也越来越大,从前装载的2G、4G运行内存,直至今日已普遍装载8G、12G的运行内存,但实际上设备使用时,占用的运行内存并不多,因此内存资源一般不是运算资源调度的重点。相比之下,设备装载的CPU的运行资源本就不多,且由于CPU技术门槛较高以及其造价相对高昂,导致目前设备普遍装载的CPU在运算资源以及运算能力上并未有突破性进展,但需要CPU处理的运算任务却逐渐增多,也正因如此,CPU的使用率和使用频率直接或间接的影响电量的分配和使用,使用率和使用频率越高,所耗费设备的电量就越多且发热越严重。遗憾的是,并未出现有效管控CPU的功能软件,能够合理调度CPU的运算资源,再者,即便是调度得再好,CPU处理的运算任务却仍然不堪重负。
目前,视频展示类的应用程序,在其视频页面上,常采用列表形式加载大量的视频封面,每个视频封面理论上可以加载一个相应的视频内容,出于预览的需要,这些视频内容一般会被即时加载和播放,由此,便导致大量消耗终端设备的CPU资源。大量的CPU资源的占用,进而又导致终端设备的电量的快速消耗。
综上,针对视频页面相关场景,有必要考虑如何有效节省设备的CPU运算资源。
发明内容
本申请的首要目的在于解决上述问题至少之一而提供一种视频封面展示方法及其相应的装置、计算机设备、计算机可读存储介质、计算机程序产品。
为满足本申请的各个目的,本申请采用如下技术方案:
适应本申请的目的之一而提供的一种视频封面展示方法,包括如下步骤:
响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键;
从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,所述映射值用于存储各个所述的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中。
进一步的实施例中,响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键,包括如下步骤:
响应视频页面滚动事件,获取用于指示该视频页面的当前可见区域的页面滚动位置数据;
应用预设的哈希算法对所述页面滚动位置数据进行运算,获得唯一性特征值作为当前可见区域相对应的索引值,所述哈希算法由数据库引擎默认设定。
较佳的实施例中,从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,包括如下步骤:
从缓存列表中调用所述索引键相对应映射值,提取出该映射值所封装的封面数组,其中,封面数组的每个元素用于存储一个对应的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
遍历所述封面数组,以便为当前可见区域中的各个可见视频封面调用相应的视频链接;
在遍历过程中将各个可见视频封面相对应的视频链接传递给播放器实例进行播放,以便由播放器实例将视频链接相对应的视频图像输出至相应的可见视频封面显示。
进一步的实施例中,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中,包括如下步骤:
响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,判定当前可见区域为首次访问;
遍历当前可见区域的各个可见视频封面的视频开关,将其中视频开关表征视频可播放的可见视频封面,将该等可见视频封面的封装数据构造为封面数组,将该封面数组作为所述的映射值;
将当前可见区域的所述索引值及所述的映射值构造为映射关系数据,存储于所述缓存列表中。
扩展的实施例中,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中之后,包括如下步骤:
根据从缓存列表中调用的映射值,将其中各个可见视频封面相对应的视频链接传递给该可见视频封面相对应的播放器实例;
由所述播放器实例根据相应的视频链接进行视频数据的硬件解码及本地缓存,使播放器实例在二次播放相同视频链接时,适于从本地缓存中直接调用相应的解码后数据;
由所述播放器实例根据所述解码后数据进行渲染,以将相应的视频内容输出至各个所述的可见视频封面。
扩展的实施例中,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中之后,包括如下步骤:
响应于所述视频页面的刷新事件,清空所述缓存列表,重新运行本方法的各个相应步骤。
适应本申请的目的之一而提供的一种视频封面展示装置,包括:
滚动响应模块,用于响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键;
调用播放模块,用于从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,所述映射值用于存储各个所述的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
构造响应模块,用于响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中。
进一步的实施例中,所述滚动响应模块,包括:
位置获取子模块,用于响应视频页面滚动事件,获取用于指示该视频页面的当前可见区域的页面滚动位置数据;
哈希运算子模块,用于应用预设的哈希算法对所述页面滚动位置数据进行运算,获得唯一性特征值作为当前可见区域相对应的索引值,所述哈希算法由数据库引擎默认设定。
较佳的实施例中,所述调用播放模块,包括:
缓存调用子模块,用于从缓存列表中调用所述索引键相对应映射值,提取出该映射值所封装的封面数组,其中,封面数组的每个元素用于存储一个对应的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
遍历调用子模块,用于遍历所述封面数组,以便为当前可见区域中的各个可见视频封面调用相应的视频链接;
播放显示子模块,用于在遍历过程中将各个可见视频封面相对应的视频链接传递给播放器实例进行播放,以便由播放器实例将视频链接相对应的视频图像输出至相应的可见视频封面显示。
进一步的实施例中,所述构造响应模块,包括:
调用失败响应子模块,用于响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,判定当前可见区域为首次访问;
遍历构造子模块,用于遍历当前可见区域的各个可见视频封面的视频开关,将其中视频开关表征视频可播放的可见视频封面,将该等可见视频封面的封装数据构造为封面数组,将该封面数组作为所述的映射值;
映射存储子模块,用于将当前可见区域的所述索引值及所述的映射值构造为映射关系数据,存储于所述缓存列表中。
扩展的实施例中,所述构造响应模块之后,包括:
缓存调用模块,用于根据从缓存列表中调用的映射值,将其中各个可见视频封面相对应的视频链接传递给该可见视频封面相对应的播放器实例;
解码缓存模块,用于由所述播放器实例根据相应的视频链接进行视频数据的硬件解码及本地缓存,使播放器实例在二次播放相同视频链接时,适于从本地缓存中直接调用相应的解码后数据;
渲染播放模块,用于由所述播放器实例根据所述解码后数据进行渲染,以将相应的视频内容输出至各个所述的可见视频封面。
扩展的实施例中,所述构造响应模块之后,包括:
清空缓存模块,用于响应于所述视频页面的刷新事件,清空所述缓存列表,重新运行本方法的各个相应步骤。
适应本申请的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本申请所述的视频封面展示方法的步骤。
适应本申请的另一目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的视频封面展示方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
适应本申请的另一目的而提供的一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本申请任意一种实施例中所述方法的步骤。
相对于现有技术,本申请的优势如下:
本申请根据图形用户界面中视频页面的可见区域构建索引键,将该可见区域内的视频封面的封装数据构建为与该索引键相对应的映射值,将该索引键与其映射值一对一映射关联存储于缓存列表中,所述缓存列表存储在缓存中,据此,每当滚动所述的视频页面而需要调用所述封装数据时,即可调用缓存中所述缓存列表,从中快速高效地获得所述封装数据进而调用,利用所述封装数据中的视频链接进行视频内容的播放,由此,只需在视频页面滚动过程中根据可见区域进行数据快速存取,无需频繁对各个视频封面的封装数据进行逐个遍历,无需CPU执行繁杂操作,只需简单地调用缓存即可实现可见视频封面的视频内容的播放,从而节省了CPU的运算资源,也有助于节省手机、平板等终端设备的电量消耗。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请的视频封面展示方法的典型实施例的流程示意图;
图2(a)、图2(b)为本申请实施例中终端设备图形用户界面的示意图,分别示意出上滑滚动前的界面、上滑滚动后的界面;
图3为本申请实施例中滚动回调可见区域的流程示意图;
图4为本申请实施例中服务器调用缓存的流程示意图;
图5为本申请实施例中缓存列表构建的流程示意图;
图6为本申请实施例中播放器缓存播放的流程示意图;
图7为本申请实施例中刷新清空缓存的流程示意图;
图8为本申请的视频封面展示装置的原理框图;
图9为本申请所采用的一种计算机设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;PCS(PersonalCommunications Service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;PDA(Personal Digital Assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或GPS(Global PositioningSystem,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是PDA、MID(Mobile Internet Device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
本申请所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
需要指出的是,本申请所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本申请的网络部署方式的实施方式。
本申请的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
本申请所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本申请的技术方案所调用即可。
本领域技术人员对此应当知晓:本申请的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本申请所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
本申请即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本申请的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。对此变通,本领域技术人员应当知晓。
本申请的一种视频封面展示方法,可被编程为计算机程序产品,部署于客户端中运行而实现,以便藉此通过访问该计算机程序产品运行后开放的接口,通过图形用户界面与该计算机程序产品进行人机交互而执行该方法。
请参阅图1,本申请的视频封面展示方法在其典型实施例中,包括如下步骤:
步骤S1100、响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键;
用户在其终端设备所安装的应用程序所展示的图形用户界面中,上下滑动包含多个视频封面的视频页面,使该视频封面的可见区域发生动态变化,进而,触发视频页面滚动请求,终端设备系统响应该请求,调用其系统预设的滚动回调方法,以便通过方法回调数据获取该视频页面的当前可见区域,以匹配终端设备缓存存储的缓存列表中与其相对应的匹配一致的索引键,由此,确认当前可见区域对应在所述缓存列表中的索引键。
所述预设的滚动回调方法为所述终端设备系统预封装的reload()方法,用户上下滑动图形用户界面时触发该系统调用reload()方法,返回在当前滑动时图形用户界面所展示的数据以及当前可见区域,所述数据包括文本、图片、视频、可见视频封面的封装数据等。若在用户滑动图形用户界面时,每次终端设备系统调用滚动回调方法返回的可见视频封面的封装数据相同,则终端设备系统在后台执行层面上判定为所述每次返回的当前可见区域为同一可见区域,进一步的,完全包含所述可见视频封面的封装数据的区域即为可见区域范围,可参阅图2(a),当前可见区域范围即为完全包含100、101、102、103的可见视频封面占当前图形用户界面的区域,参阅图2(b),同理可得,当前图形用户界面存在两个不同的可见区域,且该图形用户界面当前展示了该两个不同可见区域的部分区域,具体而言,对于所述可见区域的设定可为该可见区域占当前用户图形界面区域相对应的高度范围的像素值,且继上一个可见区域后下滑出现的可见区域的起始高度像素值为对应的上一个可见区域的终止高度像素值,此处设定,本领域的技术人员可依据实际应用场景灵活变通设定。
所述视频页面一般以整齐栅格样式展示或以整齐不一的瀑布流样式展示其中的多个视频封面,以下拉方式刷新视频页面,以上滑滚动加载所在类目下的更多的视频封面并以前述样式进行展示。
所述视频封面一般展示其用户上传至服务器的封面主图、用户、视频播放主题文本或简介文本,以及所述应用程序实时统计的当前播放量等。
所述缓存列表中的索引值为索引键对应的值,其来源于可见区域的占图形用户界面的区域值通过进一步的计算所得的哈希值,具体实施方式,本申请后续的实施例将进一步揭示优选的模型选用方式,此处暂且按下不表。
步骤S1200、从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,所述映射值用于存储各个所述的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
终端设备系统调用缓存中的缓存列表,由于所述索引键与其对应的映射值具有一对一的映射关联关系,即可获得索引键值为当前区域的索引键对应的映射值,所述映射值为当前区域内可播放视频的可见视频封面的封装数据的集合,所述封装数据主要包含可播放视频的可见视频封面的视频链接,以及对应在该封面播放视频的样式等。
进一步,终端设备系统将缓存中当前可见区域对应的可见视频封面封装的视频链接、视频播放样式数据传输至播放器,播放器接收该视频链接后,下载获得所述可见视频封面的编码视频,进一步将该编码视频进行相应的解码,从而以所述视频播放样式在相应的可见视频封面上播放视频。
由于一般的源视频数据量相对比较大,因此需要对源视频进行相应的编码,尽最大可能将其压缩至最低,便于存储在服务器或连同其他可见视频封面的封装数据一同封装在对应的可见视频数据实例化对象中存储在终端设备中,也便于在视频传输以及下载时,节省所需带宽,且相应地适应带宽较小的实际应用场景,也因此需要对编码视频进行相应的解码方可进行视频播放。一种实施例中,可依据预协议的解码参数调用终端设备中的硬解码部件对编码视频进行相应的硬解码,另一种实施例中,可通过使用软件解码方式调用CPU进行相应的软解码,本申请推荐使用硬解码方式对编码视频进行解码,具体编解码实现方式,本领域的技术人员可根据实际业务场景进行灵活变通。
步骤S1300、响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中。
用户滚动视频页面,触发终端设备系统调用预设的滚动回调方法返回当前可见区域,进而匹配终端设备缓存存储的缓存列表中与其相对应的匹配一致的索引键,查询出该缓存列表中各索引键对应的区域皆不与当前可见相对应的匹配一致,据此匹配失败结果,进一步的,亦无法通过调用当前可见区域对应的索引键获取其映射关联的映射值执行后续步骤操作。终端设备判定该当前区域并未执行缓存操作,为此终端设备系统响应调用失败事件,新增缓存列表中的索引键且键值为所述当前可见区域,与该索引键一对一映射关联的映射值为对应在当前可见区域中可播放视频的可见视频封面的封装数据,具体而言,据所述滚动回调方法返回的当前可见区域以及在当前可见区域中多个可见视频封面的封装数据,遍历多个可见视频封面的各个封装数据中的可播放视频开关,该开关默认关闭,若开关开启则表示该可见视频封面已将其用于视频播放的视频链接封装在内,由此,将各个可播放视频开关开启的可见视频封面的封装数据作为该当前可见区域对应的可播放视频的可见视频封面数据集,进而,将该数据集作为映射值,而与其一对一对应的当前可见区域则作为索引键,至此,所述索引键以及其映射关联的映射值这一对数据便可新增至所述缓存列表,进一步的,终端设备系统将该缓存列表存储至终端设备缓存中,以缓存列表的形式完成当前可见区域以及其对应的可见视频封面的缓存操作,便于后续调用缓存中的缓存列表获取可见区域映射关联的可见视频封面的封装数据中的视频链接。当前而言,所述可见区域中对应的可播放视频的可见视频封面仍需进行视频播放,为此,终端设备系统一边完成缓存操作,一边将所述视频链接传输至播放器,调用播放器执行后续播放。
换言之,终端设备系统一旦判定当前用户滚动视频页面所处的可见区域未执行缓存操作,即缓存列表无该可见区域对应的索引键,便以前述方式相应的构建缓存数据存储于缓存列表中,至此,当用户滚动、跳转等返回的视频页面对应的可见区域为缓存列表中存储的索引键,便可直接从缓存中调用其对应的映射值,进而,获得可见视频封面封装数据中的播放链接进行播放。
所述视频链接为用户自行编辑后上传、系统在用户直播过程中自动截取等操作所得的视频片段将其进行相应的编码操作获得编码视频,进而,生成该编码视频对应的视频链接数据后,将其封装至对应的视频封面中。
本典型实施例,体现出本申请的优势,根据图形用户界面中视频页面的可见区域构建索引键,将该可见区域内的视频封面的封装数据构建为与该索引键相对应的映射值,将该索引键与其映射值一对一映射关联存储于缓存列表中,所述缓存列表存储在缓存中,据此,每当滚动所述的视频页面而需要调用所述封装数据时,即可调用缓存中所述缓存列表,从中快速高效地获得所述封装数据进而调用,利用所述封装数据中的视频链接进行视频内容的播放,由此,只需在视频页面滚动过程中根据可见区域进行数据快速存取,无需频繁对各个视频封面的封装数据进行逐个遍历,无需CPU执行繁杂操作,只需简单地调用缓存即可实现可见视频封面的视频内容的播放,从而节省了CPU的运算资源,也有助于节省手机、平板等终端设备的电量消耗。
请参阅图3,进一步的实施例中,响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键,包括如下步骤:
步骤S1110、响应视频页面滚动事件,获取用于指示该视频页面的当前可见区域的页面滚动位置数据;
请参阅图2(a)滚动前的图形用户界面、图2(b)滚动后的图形用户界面,用户向上滑动所述图2(a)图形用户界面至如图2(b)所示的图形用户界面时,终端设备系统调用滚动回调方法,从而确认当前图2(b)图形页面滚动位置数据为对应的两个不同的当前可见区域,且所述两个可见区域分别展示部分的可见视频封面,进一步获得当前可见区域的高度范围的像素值作为页面滚动位置数据。
所述高度范围的像素值为起始高度像素值至终止高度像素值的一个范围值,表征当前可见区域占当前用户图形界面区域相对应的高度范围的像素值,由于为用户图形界面布局为整齐栅格样式即各个可见区域对应的起始高度像素值与终止高度像素值之间的间隔值相同,为此可设定一个计数器以及第一个可见区域的起始高度像素值为0,该计数器每当用户图形界面下滑滚动至下一个可见区域时加一,即每一个可见区域即可通过相应的计数器乘上间隔值获得起始高度像素值,进而将该起始高度像素值再与所述间隔值相加计算出对应的终止高度像素值,此处设定以及相应的计算方式,本领域的技术人员可依据实际应用场景灵活变通设定,至此,将各个可见区域关联其对应的高度范围像素值作缓存,便于通过可见区域获取其对应的高度范围的像素值表征其在页面滚动位置的数据。
步骤S1120、应用预设的哈希算法对所述页面滚动位置数据进行运算,获得唯一性特征值作为当前可见区域相对应的索引值,所述哈希算法由数据库引擎默认设定。
一般而言,哈希算法由数据库引擎默认设定,直接调用即可。推荐的一个实施例中,应用预设的哈希算法即折叠法,将所述页面滚动位置数据以两位数字为基础相应的从左到右拆分成几个部分,直至完全拆分或拆分至最后部分仅剩一位,然后将该几个部分组合在一起,以相加求和的方式进行转化形成Hash地址作为当前可见区域相对应的索引值,例如第一个可见区域的高度范围的像素值为0-150,那么将其拆分为01、50两个部分,然后将该两个部分相加求和获得对应的索引值即HashAddress(key)=01+50=51,由于每个可见区域对应的页面滚动位置数据皆不一致,因此应用相同的哈希算法计算出的所述索引值相对的具备唯一性的特征。
本实施例中,通过哈希算法计算出各可见区域对应的具备唯一性的索引值,进而,可将各可见区域对应的可见视频封面的封装数据即映射值存储至索引值指向的缓存中,至此,所述索引值以及其对应的映射值构建了一对一的映射关联关系,便于通过所述索引值直接访问到具体对应的映射值,加快了访问速度。
请参阅图4,较佳的实施例中,从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,包括如下步骤:
步骤S1210、从缓存列表中调用所述索引键相对应映射值,提取出该映射值所封装的封面数组,其中,封面数组的每个元素用于存储一个对应的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
所述映射值为包含当前可见区域中对应的各个可见视频封面的封装数据的封面数组,进而,将所述索引值对该封面数组长度进行取余,取余结果为对应该封面数组的下标,所述下标为映射值存储在缓存中的地址且该地址被记录在缓存列表中,由此,即可通过所述下标获得对应的封面数组。
步骤S1220、遍历所述封面数组,以便为当前可见区域中的各个可见视频封面调用相应的视频链接;
所述映射值封装的封面数组,其中每个元素存储当前可见区域中可播放视频的可见视频封面的封装数据,遍历该封面数组中的各个封装数据,从而相应地获取用于播放视频的视频链接,以及可见视频封面在图形用户界面上的展示样式,所述展示样式为视频封面在图形用户界面上展示时所占的区域对应的长和宽的像素设定,进而用于当播放器在该可见视频封面使用所述视频播放链接播放视频时,依照所述展示样式进行相应的视频播放。
步骤S1230、在遍历过程中将各个可见视频封面相对应的视频链接传递给播放器实例进行播放,以便由播放器实例将视频链接相对应的视频图像输出至相应的可见视频封面显示。
遍历可见视频封面的封装数据获得其对应的视频链接时,传输至用户在其终端设备所安装的应用程序预封装的播放器实例,该播放器实例调用所述终端设备的播放器接口以及硬件解码器接口提供的功能,接收所述播放链接并下载获得相应的编码视频,然后,对该编码视频调用预协议的解码参数以及硬件解码功能进行相应的解码操作,从而获得对应的解码视频格式数据,进一步的,调用视频播放功能将所述解码视频格式数据应用于在所述应用程序的图形用户界面上对应的可见视频封面上播放。
本实施例中,调用的缓存列表为key-value的数据结构,key为索引值、value为对应的映射值,其中key-value实现一种数据内容和数据存放地址之间的一对一映射关系,因此,通过key查询获取value的这种方式的查询速度非常的快,几乎是O(1)的时间复杂度,相比于常规的数组查询为O(n)的时间复杂度的查询速度,所述缓存列表的数据结构无疑更为高效。
请参阅图5,进一步的实施例中,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中,包括如下步骤:
步骤S1310、响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,判定当前可见区域为首次访问;
用户上下滑动图形用户界面,触发终端设备系统响应滚动回调方法返回当前可见区域,进一步获取当前可见区域对应的页面滚动位置数据,从而调用预设的哈希算法即折叠法计算出该页面滚动位置数据的哈希值,查询缓存列表中的各个索引键与所述哈希值进行相应的匹配,匹配结果为缓存列表中不存在与所述哈希值相同的索引键,则代表终端设备系统并未对该当前可见区域执行缓存操作,即判定当前可见区域为首次访问,由此,终端设备响应所述缓存列表调用失败事件,并执行所述缓存操作,将所述当前可见区域对应的哈希值作为缓存列表新的索引键存储至缓存列表中。
所述缓存列表的数据结构为哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构,即是通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,又称为哈希算法,存放记录的数组叫做散列表,所述哈希算法有直接定址法、平方取中法、折叠法、除留取余法等,本实例中取用的是其中的折叠法,具体哈希算法的择选,可由本领域的技术人员依据实际应用场景灵活变通选取。
步骤S1320、遍历当前可见区域的各个可见视频封面的视频开关,将其中视频开关表征视频可播放的可见视频封面,将该等可见视频封面的封装数据构造为封面数组,将该封面数组作为所述的映射值;
遍历滚动回调方法返回的当前可见区域内的可见视频封面数组,获取其中视频开关为开启状态的可见视频封面的封装数据,进一步的,将该可播放视频的可见视频封面的封装数据构造为封面数组,并将其作为当前可见区域在所述缓存列表中新增的索引键对应的映射值。
所述视频开关为视频封面预封装的开关状态值,其默认设置为关闭状态,则表示该视频封面预封装的数据中无用于视频播放的链接,即表征该视频封面不可播放视频,若开关开启则表示该视频封面已将其用于视频播放的链接预封装在内,即表征该视频封面可播放视频,所述视频链接为用户自行编辑后上传、系统在用户直播过程中自动截取等操作所得的视频片段将其进行相应的编码操作获得编码视频,进而,生成该编码视频对应的视频链接数据后,将其封装至对应的视频封面中。
步骤S1330、将当前可见区域的所述索引值及所述的映射值构造为映射关系数据,存储于所述缓存列表中。
将所述映射值存储至所述索引键的索引值对该封面数组长度进行取余后的取余结果对应的缓存地址,且该缓存地址关联当前索引键存储至缓存列表中,至此,便缓存了当前可见区域对应的索引键以及其映射关联的映射值,并相应的存储至缓存列表中。
本实施例中,据缓存列表为散列表数据结构的无序特性,相对于有序访问的按序一个一个地进行查找的方式,散列表是根据散列函数即哈希算法直接找到存储地址的,故访问速度能够更快。由于散列表有哈希算法,可以将指定的Key都映射到一个地址上,所以在访问一个Key(索引键)对应的Value(映射值)时,可以直接跳转至所述地址。因此,在对散列表进行添加、删除、修改、查找等任何操作时,速度都很快。
请参阅图6,扩展的实施例中,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中之后,包括如下步骤:
步骤S1400、根据从缓存列表中调用的映射值,将其中各个可见视频封面相对应的视频链接传递给该可见视频封面相对应的播放器实例;
终端设备系统调用缓存中的缓存列表,据其中的索引键对应的索引值用预设的哈希算法计算出所述映射值存储地址,进而从该存储地址中获取所述映射值中的可播放视频的可见视频封面的封装数组,遍历该封装数组获取所述各个可见视频封面相对应的视频链接,将该视频链接传输至播放器实例。
步骤S1401、由所述播放器实例根据相应的视频链接进行视频数据的硬件解码及本地缓存,使播放器实例在二次播放相同视频链接时,适于从本地缓存中直接调用相应的解码后数据;
所述播放器实例接收各个所述的视频链接相应的在各个可见视频封面进行视频播放,具体而言,该播放器实例下载所述视频链接获得其对应的编码视频,调用预协议的解码参数并指定终端设备提供硬件解码器的硬解码接口功能进行相应的解码,由此获得所述编码视频解码后的解码视频数据YUV数据,进而,所述播放器实例调用预封装的OpenGL播放器将该YUV数据进行视频播放,与此同时,将该视频链接关联其对应的可见视频封面进行本地缓存。
所述YUV是一种颜色空间,基于YUV的颜色编码是流媒体的常用编码方式,“Y”表示明亮度(Luminance、Luma),“U”和“V”则是色度、浓度(Chrominance、Chroma),此处YUV数据为YUV4:2:0格式数据。
所述OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API),此处预封装的OpenGL播放器为预设基于OpenGL提供的接口进一步的进行一定的调试实现的播放器,使其适用于处理YUV4:2:0格式数据进而相应的播放视频。
所述预协议的解码参数为服务器与终端设备系统预先协议,服务器使用FFmpeg(视频编辑工具)以及相应的编码参数对源视频进行编码获得对应的编码视频,终端设备系统调用用户装载的应用程序中预备的FFmpeg调用该编码参数作为解码参数进行解码获得对应的解码视频数据,即协议用同样的视频编辑工具以及同一套参数相应的进行编解码操作,所述参数为像素格式为YUV420P、FPS为24、码率1000、2倍压缩、B帧为3,具体编解码参数,本领域技术人员可按需灵活变通设置。
一种实施例中,请参阅图2(a)滚动前的图形用户界面、图2(b)滚动后的图形用户界面,用户向上滑动所述图2(a)图形用户界面至如图2(b)所示的图形用户界面时,终端设备系统执行步骤1100至步骤1300的缓存操作,相应的在缓存列表中增加图2(a)中的可见区域对应的索引键以及其对应的映射值该对映射关联数据,进一步的,当前用户展示的图形用户界面如图2(b)时,用户下滑该图像用户界面至所述图2(a)图形用户界面时,终端设备系统即可通过滚动回调方法返回的当前图2(a)的可见区域,由此,判定该当前可见区域已执行相关的缓存操作,进而调用所述缓存列表获得可见区域中可播放视频的可见视频封面的视频链接,将其传输至播放器实例,同理以前述播放器实例实施方式相应的为各所述可播放视频的可见视频封面进行视频播放。
步骤S1402、由所述播放器实例根据所述解码后数据进行渲染,以将相应的视频内容输出至各个所述的可见视频封面。
所述播放器实例对解码后的解码视频数据YUV数据传输至预封装的OpenGL播放器进行处理,具体实施为,指定定点着色器、片元着色器和片段着色器,设置解析定点函数和纹理解析函数,通过集成的OpenGL接口提供的渲染回调方法进行渲染,最终,将所述YUV数据转换为相应的视频,并相应的在各个所述可见视频封面内进行播放。
本实施例中,相比于软件解码即软解码,完全依靠终端设备的CPU支持进行视频解码处理,调用终端设备的硬件解码器进行硬解码,基本不需要所述CPU参与运算,极大程度上降低所述CPU占用率。进一步的,在用户每次滑动图形用户界面至已加载的可见区域时,为该可见区域中的可播放视频的可见视频封面进行视频播放,无需遍历当前可见区域中的可见视频封面辨识出相应的可播放视频的可见视频封面,以及访问服务器数据库获取其封装的视频链接,转而可直接从缓存中的缓存列表,以其高效的哈希表数据结构,快速获得所述视频链接,由此省去了所述CPU每次重复遍历各个可见视频封面的操作,以及节省与服务器数据交互所需的时间,进而,既节省了所述CUP运算资源及终端设备的耗电量,又减少了服务器负载的压力,综上所述,由于大大降低了CPU的工作任务,从而解决CPU运算负载过度导致终端设备过热以及加载视频封面时展示卡顿的问题,提升了视频封面展示的流畅性。
请参阅图7,扩展的实施例中,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中之后,包括如下步骤:
步骤S1410、响应于所述视频页面的刷新事件,清空所述缓存列表,重新运行本方法的各个相应步骤。
用户下滑所述图形用户界面展示的视频页面,触发终端设备系统响应于当前所述视频页面的刷新事件,清空所述缓存列表以及当前视频封面的视频封面,并访问服务器获取该视频页面所属标签下新的视频封面展示于当前视频页面,进一步,对当前图像用户界面展示的视频页面上的可见区域执行缓存操作,重新运行本方法的各个相应的步骤,以实现所述可见区域在当前所述缓存列表中相关的缓存数据的增加。
本实施例中,响应用户的刷新操作清空了应用程序使用期间占用的缓存空间,适应于无需缓存时的实际应用场景适时适当地回收缓存占用空间,且在需应用缓存机制下的实际应用场景按需适时适当地分配并合理规划使用缓存,据此而言,总体上合理化地管理及运用终端设备的缓存,相应的提升用户体验。
请参阅图8,适应本申请的目的之一而提供的一种视频封面展示装置,包括:滚动响应模块1100、调用播放模块1200、响应构造模块1300,其中滚动响应模块1100,用于响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键;调用播放模块1200,从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,所述映射值用于存储各个所述的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;构造响应模块1300,用于响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中。
进一步的实施例中,所述滚动响应模块1100,包括:位置获取子模块,用于响应视频页面滚动事件,获取用于指示该视频页面的当前可见区域的页面滚动位置数据;哈希运算子模块,用于应用预设的哈希算法对所述页面滚动位置数据进行运算,获得唯一性特征值作为当前可见区域相对应的索引值,所述哈希算法由数据库引擎默认设定。
较佳的实施例中,所述调用播放模块1200,包括:缓存调用子模块,用于从缓存列表中调用所述索引键相对应映射值,提取出该映射值所封装的封面数组,其中,封面数组的每个元素用于存储一个对应的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;遍历调用子模块,用于遍历所述封面数组,以便为当前可见区域中的各个可见视频封面调用相应的视频链接;播放显示子模块,用于在遍历过程中将各个可见视频封面相对应的视频链接传递给播放器实例进行播放,以便由播放器实例将视频链接相对应的视频图像输出至相应的可见视频封面显示。
进一步的实施例中,所述构造响应模块1300,包括:
调用失败响应子模块,用于响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,判定当前可见区域为首次访问;遍历构造子模块,用于遍历当前可见区域的各个可见视频封面的视频开关,将其中视频开关表征视频可播放的可见视频封面,将该等可见视频封面的封装数据构造为封面数组,将该封面数组作为所述的映射值;映射存储子模块,用于将当前可见区域的所述索引值及所述的映射值构造为映射关系数据,存储于所述缓存列表中。
扩展的实施例中,所述构造响应模块1300之后,包括:
缓存调用模块,用于根据从缓存列表中调用的映射值,将其中各个可见视频封面相对应的视频链接传递给该可见视频封面相对应的播放器实例;解码缓存模块,用于由所述播放器实例根据相应的视频链接进行视频数据的硬件解码及本地缓存,使播放器实例在二次播放相同视频链接时,适于从本地缓存中直接调用相应的解码后数据;渲染播放模块,用于由所述播放器实例根据所述解码后数据进行渲染,以将相应的视频内容输出至各个所述的可见视频封面。
扩展的实施例中,所述构造响应模块1300之后,包括:清空缓存模块,用于响应于所述视频页面的刷新事件,清空所述缓存列表,重新运行本方法的各个相应步骤。
为解决上述技术问题,本申请实施例还提供计算机设备。如图9所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种视频封面展示方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本申请的视频封面展示方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本实施方式中处理器用于执行图8中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本申请的视频封面展示装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
本申请还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本申请任一实施例的视频封面展示方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被一个或多个处理器执行时实现本申请任一实施例所述方法的步骤。
本领域普通技术人员可以理解实现本申请上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等计算机可读存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
综上所述,本申请以图形用户界面中的视频页面的可见区域构建索引键,将该可见区域内的视频封面的封装数据构建为与该索引键相对应的映射值,将该索引键与其映射值一对一映射关联存储于缓存列表中,所述缓存列表存储在缓存中,据此,每当滚动所述的视频页面而需要调用所述封装数据时,即可调用缓存中所述缓存列表,从中快速高效地获得所述封装数据进而调用,利用所述封装数据中的视频链接进行视频内容的播放,因此,在缓存机制作用下,使得调用频次较多的所述封装数据可直接从缓存中快速存取,无需频繁对各个视频封面的封装数据进行逐个遍历,进而大大减轻CPU使用率以及使用频率,再者,下载所述视频链接获得编码视频用于视频内容的播放的解码过程中,采用硬解码方式,基本不需要CPU参与运算,进一步地降低所述CPU占用率,以上可见的节省CPU的运算资源,解决CPU在超负荷加载导致的设备发热以及加载缓慢、卡顿的问题,也有助于节省手机、平板等终端设备的电量消耗。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种视频封面展示方法,其特征在于,包括如下步骤:
响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键;
从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,所述映射值用于存储各个所述的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中。
2.根据权利要求1所述的视频封面展示方法,其特征在于,响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键,包括如下步骤:
响应视频页面滚动事件,获取用于指示该视频页面的当前可见区域的页面滚动位置数据;
应用预设的哈希算法对所述页面滚动位置数据进行运算,获得唯一性特征值作为当前可见区域相对应的索引值,所述哈希算法由数据库引擎默认设定。
3.根据权利要求1所述的视频封面展示方法,其特征在于,从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,包括如下步骤:
从缓存列表中调用所述索引键相对应映射值,提取出该映射值所封装的封面数组,其中,封面数组的每个元素用于存储一个对应的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
遍历所述封面数组,以便为当前可见区域中的各个可见视频封面调用相应的视频链接;
在遍历过程中将各个可见视频封面相对应的视频链接传递给播放器实例进行播放,以便由播放器实例将视频链接相对应的视频图像输出至相应的可见视频封面显示。
4.根据权利要求1所述的视频封面展示方法,其特征在于,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中,包括如下步骤:
响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,判定当前可见区域为首次访问;
遍历当前可见区域的各个可见视频封面的视频开关,将其中视频开关表征视频可播放的可见视频封面,将该等可见视频封面的封装数据构造为封面数组,将该封面数组作为所述的映射值;
将当前可见区域的所述索引值及所述的映射值构造为映射关系数据,存储于所述缓存列表中。
5.根据权利要求1所述的视频封面展示方法,其特征在于,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中之后,包括如下步骤:
根据从缓存列表中调用的映射值,将其中各个可见视频封面相对应的视频链接传递给该可见视频封面相对应的播放器实例;
由所述播放器实例根据相应的视频链接进行视频数据的硬件解码及本地缓存,使播放器实例在二次播放相同视频链接时,适于从本地缓存中直接调用相应的解码后数据;
由所述播放器实例根据所述解码后数据进行渲染,以将相应的视频内容输出至各个所述的可见视频封面。
6.根据权利要求1所述的视频封面展示方法,其特征在于,响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中之后,包括如下步骤:
响应于所述视频页面的刷新事件,清空所述缓存列表,重新运行本方法的各个相应步骤。
7.一种视频封面展示装置,其特征在于,包括:
滚动响应模块,用于响应视频页面滚动事件,获取该视频页面的当前可见区域,确定当前可见区域相对应的索引键;
调用播放模块,用于从缓存列表中调用所述索引键相对应的映射值,用于当前可见区域中多个可见视频封面的播放显示,所述映射值用于存储各个所述的可见视频封面的封装数据,所述封装数据包含可见视频封面相对应的视频链接;
构造响应模块,用于响应于从缓存列表中调用所述索引键相对应的映射值的失败事件,将当前可见区域中的可见视频封面的封装数据构造为映射值,与该索引键关联存储于所述缓存列表中。
8.一种计算机设备,包括中央处理器和存储器,其特征在于,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行如权利要求1至6中任意一项所述的方法的步骤。
9.一种计算机可读存储介质,其特征在于,其以计算机可读指令的形式存储有依据权利要求1至6中任意一项所述的方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行相应的方法所包括的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任意一项中所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111453278.0A CN114205680A (zh) | 2021-12-01 | 2021-12-01 | 视频封面展示方法及其装置、设备、介质、产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111453278.0A CN114205680A (zh) | 2021-12-01 | 2021-12-01 | 视频封面展示方法及其装置、设备、介质、产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114205680A true CN114205680A (zh) | 2022-03-18 |
Family
ID=80649951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111453278.0A Pending CN114205680A (zh) | 2021-12-01 | 2021-12-01 | 视频封面展示方法及其装置、设备、介质、产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114205680A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442664A (zh) * | 2022-08-19 | 2022-12-06 | 武汉斗鱼鱼乐网络科技有限公司 | 一种面板视图的显示方法、装置、介质、以及电子设备 |
CN116506695A (zh) * | 2023-06-26 | 2023-07-28 | 北京搜狐新动力信息技术有限公司 | 一种视频流播放方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180132012A1 (en) * | 2015-03-31 | 2018-05-10 | Beijing Qihoo Technology Company Limited | Method and apparatus for playing video in application program |
CN108984548A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 页面内容缓存方法及装置 |
CN110244993A (zh) * | 2018-12-25 | 2019-09-17 | 蔚来汽车有限公司 | 前端页面加载方法、装置、控制器及介质 |
CN110413912A (zh) * | 2019-03-13 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种内存管理方法、装置及终端 |
CN110740339A (zh) * | 2019-10-30 | 2020-01-31 | 北京达佳互联信息技术有限公司 | 直播内容预览方法和装置 |
CN111414560A (zh) * | 2019-01-04 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 一种分享信息处理方法、装置、以及相关设备及存储介质 |
CN112711726A (zh) * | 2020-12-17 | 2021-04-27 | 北京奇艺世纪科技有限公司 | 缓存视频数据的方法、装置、计算机设备和存储介质 |
-
2021
- 2021-12-01 CN CN202111453278.0A patent/CN114205680A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180132012A1 (en) * | 2015-03-31 | 2018-05-10 | Beijing Qihoo Technology Company Limited | Method and apparatus for playing video in application program |
CN108984548A (zh) * | 2017-05-31 | 2018-12-11 | 腾讯科技(深圳)有限公司 | 页面内容缓存方法及装置 |
CN110244993A (zh) * | 2018-12-25 | 2019-09-17 | 蔚来汽车有限公司 | 前端页面加载方法、装置、控制器及介质 |
CN111414560A (zh) * | 2019-01-04 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 一种分享信息处理方法、装置、以及相关设备及存储介质 |
CN110413912A (zh) * | 2019-03-13 | 2019-11-05 | 腾讯科技(深圳)有限公司 | 一种内存管理方法、装置及终端 |
CN110740339A (zh) * | 2019-10-30 | 2020-01-31 | 北京达佳互联信息技术有限公司 | 直播内容预览方法和装置 |
CN112711726A (zh) * | 2020-12-17 | 2021-04-27 | 北京奇艺世纪科技有限公司 | 缓存视频数据的方法、装置、计算机设备和存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442664A (zh) * | 2022-08-19 | 2022-12-06 | 武汉斗鱼鱼乐网络科技有限公司 | 一种面板视图的显示方法、装置、介质、以及电子设备 |
CN116506695A (zh) * | 2023-06-26 | 2023-07-28 | 北京搜狐新动力信息技术有限公司 | 一种视频流播放方法及装置 |
CN116506695B (zh) * | 2023-06-26 | 2023-09-08 | 北京搜狐新动力信息技术有限公司 | 一种视频流播放方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111669623B (zh) | 视频特效的处理方法、装置以及电子设备 | |
WO2022257699A1 (zh) | 图像画面显示方法、装置、设备、存储介质及程序产品 | |
CN111899155B (zh) | 视频处理方法、装置、计算机设备及存储介质 | |
CN111899322B (zh) | 视频处理方法、动画渲染sdk和设备及计算机存储介质 | |
EP2267606A2 (en) | Method and device for displaying individualized user interface | |
CN114205680A (zh) | 视频封面展示方法及其装置、设备、介质、产品 | |
JP2012120157A (ja) | コンテンツ統合フレームワークにおけるユーザインターフェイスのための視覚処理 | |
CN101465953A (zh) | 图片显示方法和数字电视图片浏览系统以及电视机顶盒 | |
CN106453572B (zh) | 基于云服务器同步图像的方法及系统 | |
CN109963191A (zh) | 一种视频信息的处理方法、装置及存储介质 | |
WO2022144016A1 (zh) | 应用程序控制方法、装置、电子设备和存储介质 | |
CN110609965A (zh) | 一种页面显示方法、装置和存储介质 | |
CN109327698B (zh) | 动态预览图的生成方法、系统、介质和电子设备 | |
JP2013134762A (ja) | 画像処理システム、画像提供サーバ、情報処理装置、および画像処理方法 | |
US20230275948A1 (en) | Dynamic user-device upscaling of media streams | |
WO2001077897A2 (en) | System and method using a web catalog with dynamic multimedia data using java | |
CN113327303B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN114866792A (zh) | 直播视频质量检测方法及其装置、设备、介质 | |
CN114302176A (zh) | 视频播放方法及装置 | |
CN113596495B (zh) | 直播推流处理方法及其装置、设备与介质 | |
CN116170636A (zh) | 直播视频播放方法及其装置、设备、介质 | |
CN102289358A (zh) | 用于更有效地显示数据的计算机实现的方法、计算机程序产品和嵌入式系统 | |
CN115576513A (zh) | 目标图像的显示方法、显示装置、电子设备和存储介质 | |
CN114721905A (zh) | 运维数据处理方法、装置、设备、存储介质和程序产品 | |
CN115393490A (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 |