媒体文件播放方法、装置、设备和存储介质与流程

专利查询19天前  10



1.本技术涉及计算机技术领域,特别是涉及一种媒体文件播放方法和装置、一种电子设备和一种存储介质。


背景技术:

2.随着移动通信技术的迅速发展,以智能手机为首的电子设备已成为人们生活中各方面不可或缺的工具。电子设备的各种应用程序(application,app)的功能也逐渐完善,不再只是单纯地起到通信作用,较多的是为用户提供各种智能化服务,给用户工作、生活带来了极大的便利。
3.作为应用程序的核心功能之一,媒体文件播放功能在多数app中均有所涉猎,例如一些视频播放类app,或一些具有播放功能的通讯类app,或者对于广告类媒体文件,多数app提供广告播放功能。在应用程序中,可能会存储预先缓存一部分媒体文件,比如应用程序自动缓存的广告,或用户手动缓存的视频文件;而缓存的媒体文件,通常通过特定的数据协议格式进行存储,比如广告资源,通常以json形式的字符串存储;对于较长的视频资源,除了采用json形式的字符串之外,还可能采用更为复杂的数据协议格式。然而,在应用程序播放所缓存的媒体文件时,基于上述数据协议格式,通过需要进行多次词法分析和语法转换,导致应用程序读取媒体文件的速度较慢,耗时较长,导致播放的流畅度降低等问题。


技术实现要素:

4.本技术实施例提供了一种媒体文件播放方法,以解决现有技术中,应用程序在读取所缓存的媒体文件时,耗时较长的问题。
5.相应的,本技术实施例还提供了一种媒体文件播放装置、一种电子设备以及一种存储介质,用以保证上述方法的实现及应用。
6.为了解决上述问题,本技术实施例公开了一种媒体文件播放方法,所述方法包括:
7.接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;
8.其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;
9.根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间;
10.播放所述素材数据。
11.本技术实施例还公开了一种媒体文件缓存方法,所述方法包括:
12.接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间;
13.其中,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
14.本技术实施例还公开了一种媒体文件播放方法,所述方法包括:
15.接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;
16.将所述目标媒体文件中的素材数据从电子设备的磁盘空间,复制至所述目标应用程序的用户空间;
17.播放所述素材数据。
18.本技术实施例还公开了一种媒体文件播放方法,所述方法应用于电子设备,所述方法包括:
19.接收启动所述电子设备的启动操作,确定与所述启动操作的目标媒体文件;
20.其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;
21.根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述电子设备的用户空间;
22.播放所述素材数据。
23.本技术实施例还公开了一种媒体文件播放装置,所述装置包括:
24.操作接收模块,用于接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;
25.其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;
26.数据复制模块,用于根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间;
27.第一播放模块,用于播放所述素材数据。
28.本技术实施例还公开了一种媒体文件缓存装置,所述装置包括:
29.存储模块,用于接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间;
30.其中,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
31.本技术实施例还公开了一种媒体文件播放装置,所述装置包括:
32.文件确定模块,用于接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;
33.素材复制模块,用于将所述目标媒体文件中的素材数据从电子设备的磁盘空间,复制至所述目标应用程序的用户空间;
34.第二播放模块,用于播放所述素材数据。
35.本技术实施例还公开了一种媒体文件播放装置,所述装置应用于电子设备,所述装置包括:
36.启动模块,用于接收启动所述电子设备的启动操作,确定与所述启动操作的目标媒体文件;
37.其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;
38.文件复制模块,用于根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述电子设备的用户空间;
39.第三播放模块,用于播放所述素材数据。
40.本技术实施例还公开了一种电子设备,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如本技术实施例中一个或多个所述的方法。
41.本技术实施例还公开了一个或多个机器可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,使得处理器执行如本技术实施例中一个或多个所述的方法。
42.与现有技术相比,本技术实施例包括以下优点:
43.在本技术实施例中,接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储;根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间,并播放所述素材数据。基于目标数据格式存储的目标媒体文件,其素材参数标识为整数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
附图说明
44.图1是本技术实施例的一种媒体文件播放场景示意图;
45.图2是本技术的实施例的第四示例的示意图;
46.图3是本技术的实施例的第五示例的步骤流程图;
47.图4是本技术的实施例的第六示例的步骤流程图;
48.图5是本技术的一种媒体文件播放方法实施例的步骤流程图;
49.图6是本技术的另一种媒体文件播放方法实施例的步骤流程图;
50.图7是本技术的另一种媒体文件播放方法实施例的步骤流程图;
51.图8是本技术的一种媒体文件播放装置实施例的结构框图;
52.图9是本技术的另一种媒体文件播放装置实施例的结构框图;
53.图10是本技术的另一种媒体文件播放装置实施例的结构框图;
54.图11是本技术一实施例提供的装置的结构示意图。
具体实施方式
55.为使本技术的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本技术作进一步详细的说明。
56.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
57.本技术实施例可应用于计算机技术领域,在播放媒体文件的过程中,基于目标数据格式存储的目标媒体文件,其素材参数标识为整数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指
针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时。
58.具体地,参照图1,图1示出了本技术实施例的一种媒体文件播放方法的应用场景示意图,图1中以所述方法应用于电子设备为例;具体地,所述方法包括:
59.步骤101,接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件。
60.其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
61.参见图1,图1中以媒体播放操作为用户触发为例,比如用户触发电子设备的目标应用程序播放视频;除此之外,媒体播放操作还可以是电子设备自行触发,比如目标应用程序的广告,通常在目标应用程序的某个页面被调起之后会触发播放广告的媒体播放操作。
62.接收到媒体播放操作之后,电子设备确定待播放的目标媒体文件;比如,作为第一示例,用户触发目标应用程序播放视频,则用户所触发的目标视频的文件为目标媒体文件;作为第二示例,电子设备自行触发播放广告,则待播放的广告对应的媒体文件为目标媒体文件。比如目标应用程序启动时的启动广告,或物联网(internet of things,iot)设备的开机启动广告。
63.所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,素材数据即媒体文件所播放的视频源数据,即目标应用程序在播放所述目标媒体文件时,所播放的是素材数据。以广告为例,素材包括广告展现的必要元素,包括但不限于广告标题、广告描述、广告点击跳转url,广告展示追踪url等。
64.素材参数标识用于标识不同的素材参数,素材参数例如素材标识(id)、点击落地页、图片大图统一资源定位标志(uniform resource locator,url)等用于素材数据的参数;作为第三示例,如以下表1所示,素材参数与素材参数标识的对应关系如下:
65.表1:
[0066][0067]
[0068]
所述素材参数标识为整数(即整型数据),如以上表1所示,以素材参数标识表示每个素材参数,比如素材id用数字1作为素材参数标识,素材子id用数字2作为素材参数标识,这样,相较于使用原素材参数,可减少素材参数占用的存储空间;比如,以二进制数据存储格式为例,如“描述”字段“description”,若在json数据格式中用“description”表示,则“description”占11个字节;而在本技术实施例中,使用数字11表示,仅占4个字节,这样,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0069]
步骤102,根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间。
[0070]
其中,磁盘空间比如硬盘空间(harddisk)或t-flash闪存卡,用于存储电子设备的数据文件。在电子设备获取目标媒体文件,比如缓存目标媒体文件之后,将目标媒体文件持久化存储至磁盘空间。
[0071]
在播放所述目标媒体文件时,根据目标媒体文件的目标素材参数标识,从磁盘空间将目标素材参数标识对应的素材数据复制至目标应用程序的用户空间。在复制的过程中,由于素材参数标识的数据格式整数,基于素材标识查找素材数据的过程中,不需要经过词法分析和语法转换,仅通过最基本的内存指针级别移动,便可完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0072]
具体地,通常情况下,电子设备的操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,现有技术中,通常通过基于输入输出流(input output stream,i/o)的读取技术读取所缓存的目标媒体文件;比如linux操作系统,内核空间与用户空间之间不能简单地使用指针传递数据,因为linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。i/o流读取技术经过两次数据复制(copy)。第一次是内核空间将数据从磁盘空间copy到内核页缓存区;第二次是内核将数据从内核页缓存区copy到用户空间。由此可见,i/o流读取技术需要至少两次复制操作才可将目标媒体文件复制到目标应用程序的用户空间;而本技术实施例中,结合图1,基于目标数据格式,电子设备可将数据从磁盘空间直接copy到预先映射好的用户空间。由于素材参数标识的数据形式为整数,不需要经过词法分析和语法转换便可识别,仅通过最基本的内存指针级别移动,便可完成数据的复制;因此,目标素材数据由电子设备的磁盘空间被复制至用户空间,仅包括一次复制操作,因此相较于i/o流读取技术,可加快媒体文件的读取速度。
[0073]
步骤103,播放所述素材数据。
[0074]
将素材数据由磁盘空间复制到目标应用程序的用户空间之后,便可在目标应用程序内播放;这样,基于目标数据格式存储的目标媒体文件,通过整数数据作为素材参数标识,在读取过程中,根据素材参数标识查找素材数据,通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0075]
参考上述第一示例,用户触发目标应用程序播放视频,则用户所触发的目标视频的文件为目标媒体文件,若目标媒体文件为电子设备预先缓存的媒体文件,则电子设备从预先存储在磁盘空间的素材参数标识中,查找素材数据对应的标识,确定素材数据标识指
示的素材数据,然后将素材数据复制至目标应用程序的用户空间,并播放所述素材数据。在此过程中,以目标格式存储的目标媒体文件中,每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,可加快目标媒体文件的文件读取速度;由于素材参数标识是以整数形式存储的,不需要进行词法分析与语法转换,可进一步加快文件读取速度;且通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,进一步加快文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0076]
参考上述第二示例,电子设备自行触发播放广告,比如目标应用程序启动时的启动广告,或iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件,电子设备从预先存储在磁盘空间的素材参数标识中,查找素材数据对应的标识,确定素材数据标识指示的素材数据,然后将素材数据复制至目标应用程序的用户空间,并播放所述广告的素材数据。在此过程中,广告的数据文件以目标格式存储的目标媒体文件中,每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间以及目标媒体文件的大小,加快目标媒体文件的文件读取速度;且素材参数标识不需要进行词法分析与语法转换,进一步加快文件读取速度;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,加快文件读取速度,降低读取文件耗时,提升读取速度,增加单位时间内的广告播放量。在商业化变现的过程中,app中通常设置一些广告位,比如开屏广告、信息流广告、视频流广告以及横幅广告等。而对于开屏位置类的广告位来说,更是对广告读取速度等性能提出了很高的要求,广告读取速度越快,广告展示的也越快,app获得的收益也就越高,同时对用户体验的影响也将至最低。
[0077]
本技术实施例中,接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储;根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间,并播放所述素材数据。基于目标数据格式存储的目标媒体文件,其素材参数标识为整数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。本技术实施例解决了现有技术中,应用程序在读取所缓存的媒体文件时,耗时较长的问题。
[0078]
此外,本技术实施例中,将媒体文件持久化存储到磁盘的过程中,由内核控制的和用户程序控制的。而i/o流读取技术在用户应用程序崩溃活用户应用程序主动退出等场景下,无法完整写入媒体文件,导致媒体文件丢失或者不完整,造成无法展示。而本技术实施例在此种场景下,将会由内核接管脏数据落盘,难以造成媒体文件丢失或者不完整的现象,从而降低媒体文件丢失率。
[0079]
在一个可选实施例中,所述确定待播放的目标媒体文件,包括:
[0080]
根据所述目标数据格式中每个数据位置对应的预设数据类型,解析所述磁盘空间
中的媒体文件,得到所述素材参数标识以及所述素材数据。
[0081]
目标数据格式中,不同数据类型存储于不同的数据位置,预设数据类型比如素材数据或素材参数标识。
[0082]
电子设备在确定待播放的目标媒体文件时,对存储于磁盘空间中的媒体文件进行解析,查找素材参数标识对应的数据位置中的数据,得到素材参数标识,以及查找素材数据对应的数据位置中的数据,得到素材数据。
[0083]
作为第四示例,如图2所示,图2示出了目标数据格式存储的媒体文件的部分数据,其中,d1、d2、d3所示数据段为依次连接的数据,由于篇幅显示限制,图2中将其分开设置显示。其中d1、d2所示数据段中,素材标识(d_id)以及素材子标识(search_id)为素材参数标识,d3中asset_tag_content为素材数据,asset_tag_size长度的广告素材数据,和asset_tag配对出现。
[0084]
可选地,每个所述素材参数标识对应一素材参数;如上述表1所示,以素材参数标识表示每个素材参数,比如素材id用数字1作为素材参数标识,素材子id用数字2作为素材参数标识,这样,相较于使用原素材参数,可减少素材参数占用的存储空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0085]
所述素材参数包括素材标识,以及素材子标识、点击落地页统一资源定位标志url、图片url以及所述目标媒体文件描述中的至少一种。
[0086]
其中,以广告为例,素材标识(d_id可以为ad_id)为4字节广告id位,用于标示广告唯一性;
[0087]
素材子标识即search_id,用于标识一个完整的目标媒体文件中的完整素材数据的子素材,相应地,在电子设备或目标应用程序播放所述素材数据时,根据所述素材子标识将属于同一个素材标识的子素材进行组合,并进行播放。比如一个广告,其媒体文件中可能包括多个子素材,在读取媒体文件数据时,读取该素材标识下所有的子素材。
[0088]
在一个可选实施例中,所述目标数据格式还包括配置参数;
[0089]
所述配置参数包括长度校验位、优先级参数、所述目标媒体文件的媒体文件标识、生效时间戳、失效时间戳、资源校验位中的至少一种。
[0090]
结合图2,长度检验位(length_check)占据4字节长度检验位,用于对媒体文件大小进行校验,媒体文件大小需等于length_check。
[0091]
所述目标媒体文件的媒体文件标识用于标识目标媒体文件,比如视频资源的名称。
[0092]
优先级参数(d_priority),4字节长优先级位,用于标示目标媒体文件的优先级;比如目标媒体文件为广告,在某个广告播放时段,包括多个待播放的广告,则按照优先级高低的顺序由高及低播放各个广告。
[0093]
生效时间戳(start_time),8字节素材展示起始时间有效期,比如值为距离1970/1/1号00:00时刻的毫秒数,用于唯一确定有效期的起始时间。
[0094]
失效时间戳(end_time),8字节素材展示截止时间,比如值为距离1970/1/1号00:00时刻的毫秒数,用于唯一确定有效期的结束时间。
[0095]
资源校验位(resource_ready),1字节资源位校验位;比如,数字0表示检验未过,该字段没有资源;数字1表示校验通过,该字段有资源。
[0096]
除上述配置参数之外,还可包括素材种类(asset_tag),素材种类为4字节广告素材种类tag,用于标识各类广告素材;目标媒体文件中可以包括多个广告素材种类,每个素材种类与asset_tag_size和asset_tag_content配对出现。配置参数还可包括例如目标媒体文件的标题、目标媒体文件的描述、目标媒体文件的点击跳转url,目标媒体文件的展示追踪url等参数。
[0097]
具体地,图2所示数据结构如以下表2所示:
[0098]
表2:
[0099]
[0100]
在一个可选实施例中,步骤102包括:
[0101]
步骤1021,对所述配置参数进行校验。
[0102]
若所述配置参数包括所述长度校验位、所述生效时间戳、所述失效时间戳以及所述资源校验位,所述对所述配置参数进行校验,包括:
[0103]
对所述长度校验位以及所述资源校验位进行校验;
[0104]
以及获取所述媒体播放操作的接收时间,根据所述生效时间戳以及所述失效时间戳对所述接收时间进行校验。
[0105]
长度校验位用于对媒体文件大小进行校验,若目标媒体文件大小需等于length_check,则表示校验通过。资源校验位用于校验目标媒体文件中是否具有资源,若具有资源,则表示校验通过。
[0106]
根据所述生效时间戳以及所述失效时间戳对所述接收时间进行校验,所述生效时间戳以及所述失效时间戳之间的时间为有效时间段,判断接收时间是否在有效时间段内,若在表示校验通过。
[0107]
步骤1022,若校验成功,根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间。
[0108]
作为第五示例,参见图3,图3以目标媒体文件为广告资源为例,媒体文件播放过程主要包括以下步骤:
[0109]
步骤301,目标应用程序接收广告播放操作;
[0110]
步骤302,为预先存储在磁盘空间中的媒体文件建立内存映射。
[0111]
内存映射即磁盘空间与目标应用程序的用户空间之间的对应关系。
[0112]
步骤303,判断映射是否建立成功:
[0113]
若成功,则执行步骤304;否则结束流程。
[0114]
步骤304,系统内核发起调页请求。
[0115]
若成功,则执行步骤305;否则结束流程。
[0116]
步骤305,读取磁盘空间中的目标媒体文件中的配置参数。
[0117]
步骤306,对长度校验位以及资源校验位进行校验,以及根据生效时间戳以及失效时间戳,对当前时间进行校验;
[0118]
若上述校验均校验成功,则执行步骤307;否则结束流程。
[0119]
步骤307,读取磁盘空间中的素材数据,将素材数据复制至所述目标应用程序的用户空间。
[0120]
步骤308,目标应用程序播放所述素材数据。
[0121]
在一个可选实施例中,所述方法还包括:
[0122]
接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间。
[0123]
电子设备在存储或缓存媒体文件时,按照目标数据格式存储所述媒体文件,所述目标数据格式包括素材参数标识以及素材数据,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0124]
本技术实施例中,基于目标数据格式存储的目标媒体文件,其素材参数标识为整
数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0125]
依据本技术实施例的另一个方面,还提供了一种媒体文件缓存方法,所述方法包括:
[0126]
接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间;
[0127]
其中,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
[0128]
电子设备在存储或缓存媒体文件时,按照目标数据格式存储所述媒体文件,所述目标数据格式包括素材参数标识以及素材数据,素材数据即媒体文件所播放的视频源数据,即目标应用程序在播放所述目标媒体文件时,所播放的是素材数据。素材参数标识用于标识不同的素材参数,所述素材参数标识为整数,这样,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0129]
作为第六示例,参见图4,图4以目标媒体文件为广告资源为例,将媒体文件以目标数据格式存储至磁盘空间的过程主要包括以下步骤:
[0130]
步骤401,接收到目标应用程序的广告缓存请求。
[0131]
步骤402,向目标应用程序的服务器请求广告的媒体文件。
[0132]
步骤403,将接收到的媒体文件按照目标数据格式存储至磁盘空间。
[0133]
本技术实施例中,接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间。基于目标数据格式存储的目标媒体文件,其素材参数标识为整数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0134]
在上述实施例的基础上,本技术实施例还提供了一种媒体文件播放方法,能够减少媒体文件的素材参数占用空间以及媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换,仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时。
[0135]
参照图5,示出了本技术的一种媒体文件播放方法实施例的步骤流程图。
[0136]
所述方法包括:
[0137]
步骤501,接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;
[0138]
其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
[0139]
参见图1,图1中以媒体播放操作为用户触发为例,比如用户触发电子设备的目标应用程序播放视频;除此之外,媒体播放操作还可以是电子设备自行触发,比如目标应用程序的广告,通常在目标应用程序的某个页面被调起之后会触发播放广告的媒体播放操作。
[0140]
接收到媒体播放操作之后,电子设备确定待播放的目标媒体文件;比如,作为第一示例,用户触发目标应用程序播放视频,则用户所触发的目标视频的文件为目标媒体文件;作为第二示例,电子设备自行触发播放广告,比如目标应用程序启动时的启动广告,或iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件。
[0141]
所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,素材数据即媒体文件所播放的视频源数据,即目标应用程序在播放所述目标媒体文件时,所播放的是素材数据。以广告为例,素材包括广告展现的必要元素,包括但不限于广告标题、广告描述、广告点击跳转url,广告展示追踪url等。
[0142]
素材参数标识用于标识不同的素材参数,素材参数例如素材标识(id)、点击落地页、图片大图统一资源定位标志(uniform resource locator,url)等用于素材数据的参数;作为第三示例,如以下表1所示,素材参数与素材参数标识的对应关系如下:
[0143]
表1:
[0144][0145][0146]
所述素材参数标识为整数(即整型数据),如以上表1所示,以素材参数标识表示每个素材参数,比如素材id用数字1作为素材参数标识,素材子id用数字2作为素材参数标识,这样,相较于使用原素材参数,可减少素材参数占用的存储空间;比如,以二进制数据存储格式为例,如“描述”字段“description”,若在json数据格式中用“description”表示,则“description”占11个字节;而在本技术实施例中,使用数字11表示,仅占4个字节,这样,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0147]
步骤502,根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间。
[0148]
其中,磁盘空间比如硬盘空间(harddisk)或t-flash闪存卡,用于存储电子设备的数据文件。在电子设备获取目标媒体文件,比如缓存目标媒体文件之后,将目标媒体文件持久化存储至磁盘空间。
[0149]
在播放所述目标媒体文件时,根据目标媒体文件的目标素材参数标识,从磁盘空间将目标素材参数标识对应的素材数据复制至目标应用程序的用户空间。在复制的过程中,由于素材参数标识的数据格式整数,基于素材标识查找素材数据的过程中,不需要经过词法分析和语法转换,仅通过最基本的内存指针级别移动,便可完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0150]
具体地,通常情况下,电子设备的操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,现有技术中,通常通过基于输入输出流(input output stream,i/o)的读取技术读取所缓存的目标媒体文件;比如linux操作系统,内核空间与用户空间之间不能简单地使用指针传递数据,因为linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。i/o流读取技术经过两次数据复制(copy)。第一次是内核空间将数据从磁盘空间copy到内核页缓存区;第二次是内核将数据从内核页缓存区copy到用户空间。由此可见,i/o流读取技术需要至少两次复制操作才可将目标媒体文件复制到目标应用程序的用户空间;而本技术实施例中,结合图1,基于目标数据格式,电子设备可将数据从磁盘空间直接copy到预先映射好的用户空间。由于素材参数标识的数据形式为整数,不需要经过词法分析和语法转换便可识别,仅通过最基本的内存指针级别移动,便可完成数据的复制;因此,目标素材数据由电子设备的磁盘空间被复制至用户空间,仅包括一次复制操作,因此相较于i/o流读取技术,可加快媒体文件的读取速度。
[0151]
步骤503,播放所述素材数据。
[0152]
将素材数据由磁盘空间复制到目标应用程序的用户空间之后,便可在目标应用程序内播放;这样,基于目标数据格式存储的目标媒体文件,通过整数数据作为素材参数标识,在读取过程中,根据素材参数标识查找素材数据,通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0153]
参考上述第一示例,用户触发目标应用程序播放视频,则用户所触发的目标视频的文件为目标媒体文件,若目标媒体文件为电子设备预先缓存的媒体文件,则电子设备从预先存储在磁盘空间的素材参数标识中,查找素材数据对应的标识,确定素材数据标识指示的素材数据,然后将素材数据复制至目标应用程序的用户空间,并播放所述素材数据。在此过程中,以目标格式存储的目标媒体文件中,每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,可加快目标媒体文件的文件读取速度;由于素材参数标识是以整数形式存储的,不需要进行词法分析与语法转换,可进一步加快文件读取速度;且通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,进一步加快文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0154]
参考上述第二示例,电子设备自行触发播放广告,比如目标应用程序启动时的启
动广告,或iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件,电子设备从预先存储在磁盘空间的素材参数标识中,查找素材数据对应的标识,确定素材数据标识指示的素材数据,然后将素材数据复制至目标应用程序的用户空间,并播放所述广告的素材数据。在此过程中,广告的数据文件以目标格式存储的目标媒体文件中,每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间以及目标媒体文件的大小,加快目标媒体文件的文件读取速度;且素材参数标识不需要进行词法分析与语法转换,进一步加快文件读取速度;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,加快文件读取速度,降低读取文件耗时,提升读取速度,增加单位时间内的广告播放量。在商业化变现的过程中,app中通常设置一些广告位,比如开屏广告、信息流广告、视频流广告以及横幅广告等。而对于开屏位置类的广告位来说,更是对广告读取速度等性能提出了很高的要求,广告读取速度越快,广告展示的也越快,app获得的收益也就越高,同时对用户体验的影响也将至最低。
[0155]
在一个可选实施例中,所述确定待播放的目标媒体文件,包括:
[0156]
根据所述目标数据格式中每个数据位置对应的预设数据类型,解析所述磁盘空间中的媒体文件,得到所述素材参数标识以及所述素材数据。
[0157]
在一个可选实施例中,每个所述素材参数标识对应一素材参数;
[0158]
所述素材参数包括素材标识,以及素材子标识、点击落地页统一资源定位标志url、图片url以及所述目标媒体文件描述中的至少一种。
[0159]
在一个可选实施例中,所述目标数据格式还包括配置参数;
[0160]
所述配置参数包括长度校验位、优先级参数、所述目标媒体文件的媒体文件标识、生效时间戳、失效时间戳、资源校验位中的至少一种。
[0161]
在一个可选实施例中,所述根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间,包括:
[0162]
对所述配置参数进行校验;
[0163]
若校验成功,根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间。
[0164]
在一个可选实施例中,若所述配置参数包括所述长度校验位、所述生效时间戳、所述失效时间戳以及所述资源校验位,所述对所述配置参数进行校验,包括:
[0165]
对所述长度校验位以及所述资源校验位进行校验;
[0166]
以及获取所述媒体播放操作的接收时间,根据所述生效时间戳以及所述失效时间戳对所述接收时间进行校验。
[0167]
在一个可选实施例中,所述方法包括:
[0168]
接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间。
[0169]
本技术实施例中,接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储;根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复
制至所述目标应用程序的用户空间,并播放所述素材数据。基于目标数据格式存储的目标媒体文件,其素材参数标识为整数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0170]
在上述实施例的基础上,本技术实施例还提供了一种媒体文件缓存方法。所述方法包括:
[0171]
接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间;
[0172]
其中,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
[0173]
电子设备在存储或缓存媒体文件时,按照目标数据格式存储所述媒体文件,所述目标数据格式包括素材参数标识以及素材数据,素材数据即媒体文件所播放的视频源数据,即目标应用程序在播放所述目标媒体文件时,所播放的是素材数据。素材参数标识用于标识不同的素材参数,所述素材参数标识为整数,这样,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0174]
在一个可选实施例中,每个所述素材参数标识对应一素材参数;
[0175]
所述素材参数包括素材标识,以及素材子标识、点击落地页统一资源定位标志url、图片url以及所述目标媒体文件描述中的至少一种。
[0176]
在一个可选实施例中,所述目标数据格式还包括配置参数;
[0177]
所述配置参数包括长度校验位、优先级参数、所述目标媒体文件的媒体文件标识、生效时间戳、失效时间戳、资源校验位中的至少一种。
[0178]
本技术实施例提供的媒体文件缓存方法还包括上述实施例中的媒体文件播放方法中的其他步骤,具体可参照上述实施例的描述;为避免重复,在此不再赘述。
[0179]
本技术实施例中,接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间。基于目标数据格式存储的目标媒体文件,其素材参数标识为整数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0180]
在上述实施例的基础上,本技术实施例还提供了一种媒体文件播放方法。通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,加快了文件读取速度,降低读取文件耗时。
[0181]
参照图6,示出了本技术的又一种媒体文件播放方法实施例的步骤流程图,所述方法包括:
[0182]
步骤601,接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件。
[0183]
接收到媒体播放操作之后,电子设备确定待播放的目标媒体文件;比如,作为第一示例,用户触发目标应用程序播放视频,则用户所触发的目标视频的文件为目标媒体文件;作为第二示例,电子设备自行触发播放广告,比如目标应用程序启动时的启动广告,或iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件。
[0184]
步骤602,将所述目标媒体文件中的素材数据从电子设备的磁盘空间,复制至所述目标应用程序的用户空间。
[0185]
其中,磁盘空间比如硬盘空间(harddisk)或t-flash闪存卡,用于存储电子设备的数据文件。在电子设备获取目标媒体文件,比如缓存目标媒体文件之后,将目标媒体文件持久化存储至磁盘空间。
[0186]
具体地,通常情况下,电子设备的操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,现有技术中,通常通过基于输入输出流(input output stream,i/o)的读取技术读取所缓存的目标媒体文件;比如linux操作系统,内核空间与用户空间之间不能简单地使用指针传递数据,因为linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。i/o流读取技术经过两次数据复制(copy)。第一次是内核空间将数据从磁盘空间copy到内核页缓存区;第二次是内核将数据从内核页缓存区copy到用户空间。由此可见,i/o流读取技术需要至少两次复制操作才可将目标媒体文件复制到目标应用程序的用户空间;而本技术实施例中,结合图1,电子设备可将数据从磁盘空间直接copy到预先映射好的用户空间,仅包括一次复制操作,因此相较于i/o流读取技术,可加快媒体文件的读取速度。
[0187]
步骤603,播放所述素材数据。
[0188]
将素材数据由磁盘空间复制到目标应用程序的用户空间之后,便可在目标应用程序内播放;这样,通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0189]
此外,本技术实施例中,将媒体文件持久化存储到磁盘的过程中,由内核控制的和用户程序控制的。而i/o流读取技术在用户应用程序崩溃活用户应用程序主动退出等场景下,无法完整写入媒体文件,导致媒体文件丢失或者不完整,造成无法展示。而本技术实施例在此种场景下,将会由内核接管脏数据落盘,难以造成媒体文件丢失或者不完整的现象,从而降低媒体文件丢失率。
[0190]
除上述步骤601至步骤603之外,本实施例提供的媒体文件播放方法还包括上述实施例中的媒体文件播放方法中的其他步骤,具体可参照上述实施例的描述;为避免重复,在此不再赘述。
[0191]
本技术实施例中,接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间,并播放所述素材数据;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0192]
在上述实施例的基础上,本技术实施例还提供了一种媒体文件播放方法。通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至电子设备的用户空间,通过一
次复制操作,完成素材数据的复制,加快了文件读取速度,降低读取文件耗时。
[0193]
参照图7,示出了本技术的又一种媒体文件播放方法实施例的步骤流程图,所述方法应用于电子设备,所述电子设备可以是iot设备或其他设备;所述方法包括:
[0194]
步骤701,接收启动所述电子设备的启动操作,确定与所述启动操作的目标媒体文件。所述启动操作可以是开机启动操作,或进入新页面的启动操作。
[0195]
其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
[0196]
接收到启动操作之后,电子设备确定与所述启动操作的目标媒体文件;比如iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件。
[0197]
所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,素材数据即媒体文件所播放的视频源数据,即电子设备在播放所述目标媒体文件时,所播放的是素材数据。以广告为例,素材包括广告展现的必要元素,包括但不限于广告标题、广告描述、广告点击跳转url,广告展示追踪url等。
[0198]
素材参数标识用于标识不同的素材参数,素材参数例如素材标识(id)、点击落地页、图片大图uniform resource locator,url等用于素材数据的参数。以素材参数标识表示每个素材参数,比如素材id用数字1作为素材参数标识,素材子id用数字2作为素材参数标识,这样,相较于使用原素材参数,可减少素材参数占用的存储空间;比如,以二进制数据存储格式为例,如“描述”字段“description”,若在json数据格式中用“description”表示,则“description”占11个字节;而在本技术实施例中,使用数字11表示,仅占4个字节,这样,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0199]
步骤702,根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述电子设备的用户空间。
[0200]
其中,磁盘空间比如硬盘空间(harddisk)或t-flash闪存卡,用于存储电子设备的数据文件。在电子设备获取目标媒体文件,比如缓存目标媒体文件之后,将目标媒体文件持久化存储至磁盘空间。
[0201]
具体地,通常情况下,电子设备的操作系统和驱动程序运行在内核空间,电子设备运行在用户空间,现有技术中,通常通过基于i/o流的读取技术读取所缓存的目标媒体文件;比如linux操作系统,内核空间与用户空间之间不能简单地使用指针传递数据,因为linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。i/o流读取技术经过两次数据复制(copy)。第一次是内核空间将数据从磁盘空间copy到内核页缓存区;第二次是内核将数据从内核页缓存区copy到用户空间。由此可见,i/o流读取技术需要至少两次复制操作才可将目标媒体文件复制到电子设备的用户空间;而本技术实施例中,电子设备可将数据从磁盘空间直接copy到预先映射好的用户空间,仅包括一次复制操作,因此相较于i/o流读取技术,可加快媒体文件的读取速度。
[0202]
步骤703,播放所述素材数据。
[0203]
将素材数据由磁盘空间复制到电子设备的用户空间(电子设备内用于播放媒体文件的应用程序的用户空间)之后,便可在电子设备内播放;这样,通过内存指针级别移动,将
素材数据从电子设备的磁盘空间复制至电子设备的用户空间,完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0204]
除上述步骤701至步骤703之外,本实施例提供的媒体文件播放方法还包括上述实施例中的媒体文件播放方法中的其他步骤,具体可参照上述实施例的描述;为避免重复,在此不再赘述。
[0205]
本技术实施例中,接收启动所述电子设备的启动操作,确定与所述启动操作的目标媒体文件;根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述电子设备的用户空间,并播放所述素材数据;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0206]
在上述实施例的基础上,本实施例还提供了一种媒体文件播放装置,应用于终端设备、服务器等电子设备中。
[0207]
参照图8,示出了本技术的一种媒体文件播放装置实施例的结构框图,具体可以包括如下模块:
[0208]
操作接收模块801,用于接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件。
[0209]
其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
[0210]
其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
[0211]
参见图1,图1中以媒体播放操作为用户触发为例,比如用户触发电子设备的目标应用程序播放视频;除此之外,媒体播放操作还可以是电子设备自行触发,比如目标应用程序的广告,通常在目标应用程序的某个页面被调起之后会触发播放广告的媒体播放操作。
[0212]
接收到媒体播放操作之后,电子设备确定待播放的目标媒体文件;比如,作为第一示例,用户触发目标应用程序播放视频,则用户所触发的目标视频的文件为目标媒体文件;作为第二示例,电子设备自行触发播放广告,比如目标应用程序启动时的启动广告,或iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件。
[0213]
所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,素材数据即媒体文件所播放的视频源数据,即目标应用程序在播放所述目标媒体文件时,所播放的是素材数据。以广告为例,素材包括广告展现的必要元素,包括但不限于广告标题、广告描述、广告点击跳转url,广告展示追踪url等。
[0214]
素材参数标识用于标识不同的素材参数,素材参数例如素材标识(id)、点击落地页、图片大图统一资源定位标志(uniform resource locator,url)等用于素材数据的参数;作为第三示例,如以下表1所示,素材参数与素材参数标识的对应关系如下:
[0215]
表1:
[0216]
素材参数素材参数标识字段含义id1素材idsearch_id2素材子id
landingpage_url3点击落地页cover_url7图片大图urldescription11描述mute28视频是否静音............
[0217]
所述素材参数标识为整数(即整型数据),如以上表1所示,以素材参数标识表示每个素材参数,比如素材id用数字1作为素材参数标识,素材子id用数字2作为素材参数标识,这样,相较于使用原素材参数,可减少素材参数占用的存储空间;比如,以二进制数据存储格式为例,如“描述”字段“description”,若在json数据格式中用“description”表示,则“description”占11个字节;而在本技术实施例中,使用数字11表示,仅占4个字节,这样,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0218]
数据复制模块802,用于根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间。
[0219]
其中,磁盘空间比如硬盘空间(harddisk)或t-flash闪存卡,用于存储电子设备的数据文件。在电子设备获取目标媒体文件,比如缓存目标媒体文件之后,将目标媒体文件持久化存储至磁盘空间。
[0220]
在播放所述目标媒体文件时,根据目标媒体文件的目标素材参数标识,从磁盘空间将目标素材参数标识对应的素材数据复制至目标应用程序的用户空间。在复制的过程中,由于素材参数标识的数据格式整数,基于素材标识查找素材数据的过程中,不需要经过词法分析和语法转换,仅通过最基本的内存指针级别移动,便可完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0221]
具体地,通常情况下,电子设备的操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,现有技术中,通常通过基于输入输出流(input output stream,i/o)的读取技术读取所缓存的目标媒体文件;比如linux操作系统,内核空间与用户空间之间不能简单地使用指针传递数据,因为linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。i/o流读取技术经过两次数据复制(copy)。第一次是内核空间将数据从磁盘空间copy到内核页缓存区;第二次是内核将数据从内核页缓存区copy到用户空间。由此可见,i/o流读取技术需要至少两次复制操作才可将目标媒体文件复制到目标应用程序的用户空间;而本技术实施例中,结合图1,基于目标数据格式,电子设备可将数据从磁盘空间直接copy到预先映射好的用户空间。由于素材参数标识的数据形式为整数,不需要经过词法分析和语法转换便可识别,仅通过最基本的内存指针级别移动,便可完成数据的复制;因此,目标素材数据由电子设备的磁盘空间被复制至用户空间,仅包括一次复制操作,因此相较于i/o流读取技术,可加快媒体文件的读取速度。
[0222]
第一播放模块803,用于播放所述素材数据。
[0223]
将素材数据由磁盘空间复制到目标应用程序的用户空间之后,便可在目标应用程序内播放;这样,基于目标数据格式存储的目标媒体文件,通过整数数据作为素材参数标识,在读取过程中,根据素材参数标识查找素材数据,通过内存指针级别移动,将素材数据
从电子设备的磁盘空间复制至应用程序的用户空间,完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0224]
参考上述第一示例,用户触发目标应用程序播放视频,则用户所触发的目标视频的文件为目标媒体文件,若目标媒体文件为电子设备预先缓存的媒体文件,则电子设备从预先存储在磁盘空间的素材参数标识中,查找素材数据对应的标识,确定素材数据标识指示的素材数据,然后将素材数据复制至目标应用程序的用户空间,并播放所述素材数据。在此过程中,以目标格式存储的目标媒体文件中,每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,可加快目标媒体文件的文件读取速度;由于素材参数标识是以整数形式存储的,不需要进行词法分析与语法转换,可进一步加快文件读取速度;且通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,进一步加快文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0225]
参考上述第二示例,电子设备自行触发播放广告,比如目标应用程序启动时的启动广告,或iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件,电子设备从预先存储在磁盘空间的素材参数标识中,查找素材数据对应的标识,确定素材数据标识指示的素材数据,然后将素材数据复制至目标应用程序的用户空间,并播放所述广告的素材数据。在此过程中,广告的数据文件以目标格式存储的目标媒体文件中,每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间以及目标媒体文件的大小,加快目标媒体文件的文件读取速度;且素材参数标识不需要进行词法分析与语法转换,进一步加快文件读取速度;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,加快文件读取速度,降低读取文件耗时,提升读取速度,增加单位时间内的广告播放量。在商业化变现的过程中,app中通常设置一些广告位,比如开屏广告、信息流广告、视频流广告以及横幅广告等。而对于开屏位置类的广告位来说,更是对广告读取速度等性能提出了很高的要求,广告读取速度越快,广告展示的也越快,app获得的收益也就越高,同时对用户体验的影响也将至最低。
[0226]
在一个可选实施例中,所述确操作接收模块801包括:
[0227]
解析子单元,用于根据所述目标数据格式中每个数据位置对应的预设数据类型,解析所述磁盘空间中的媒体文件,得到所述素材参数标识以及所述素材数据。
[0228]
在一个可选实施例中,每个所述素材参数标识对应一素材参数;
[0229]
所述素材参数包括素材标识,以及素材子标识、点击落地页统一资源定位标志url、图片url以及所述目标媒体文件描述中的至少一种。
[0230]
在一个可选实施例中,所述目标数据格式还包括配置参数;
[0231]
所述配置参数包括长度校验位、优先级参数、所述目标媒体文件的媒体文件标识、生效时间戳、失效时间戳、资源校验位中的至少一种。
[0232]
在一个可选实施例中,所述数据复制模块802包括:
[0233]
校验子模块,用于对所述配置参数进行校验;
[0234]
复制子模块,用于若校验成功,根据与所述素材数据对应的目标素材参数标识,将
所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间。
[0235]
在一个可选实施例中,若所述配置参数包括所述长度校验位、所述生效时间戳、所述失效时间戳以及所述资源校验位,所述校验子模块包括:
[0236]
第一校验单元,用于对所述长度校验位以及所述资源校验位进行校验;
[0237]
以及第二校验单元,用于获取所述媒体播放操作的接收时间,根据所述生效时间戳以及所述失效时间戳对所述接收时间进行校验。
[0238]
在一个可选实施例中,所述装置包括:
[0239]
接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间。
[0240]
本技术实施例中,操作接收模块801接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储;数据复制模块802根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间,第一播放模块803播放所述素材数据。基于目标数据格式存储的目标媒体文件,其素材参数标识为整数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0241]
在上述实施例的基础上,本实施例还提供了一种媒体文件缓存装置,应用于终端设备、服务器等电子设备中。
[0242]
存储模块,用于接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间;
[0243]
其中,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。
[0244]
电子设备在存储或缓存媒体文件时,按照目标数据格式存储所述媒体文件,所述目标数据格式包括素材参数标识以及素材数据,素材数据即媒体文件所播放的视频源数据,即目标应用程序在播放所述目标媒体文件时,所播放的是素材数据。素材参数标识用于标识不同的素材参数,所述素材参数标识为整数,这样,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0245]
在一个可选实施例中,每个所述素材参数标识对应一素材参数;
[0246]
所述素材参数包括素材标识,以及素材子标识、点击落地页统一资源定位标志url、图片url以及所述目标媒体文件描述中的至少一种。
[0247]
在一个可选实施例中,所述目标数据格式还包括配置参数;
[0248]
所述配置参数包括长度校验位、优先级参数、所述目标媒体文件的媒体文件标识、生效时间戳、失效时间戳、资源校验位中的至少一种。
[0249]
本技术实施例提供的媒体文件缓存装置还执行上述实施例中的媒体文件缓存方法中的其他步骤,具体可参照上述实施例的描述;为避免重复,在此不再赘述。
[0250]
本技术实施例中,存储模块接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间。基于目标数据格式存储的目标媒体文件,其素材参数标识为整数数据,减少了素材参数的占用空间以及目标媒体文件的大小;且素材参数标识不需要进行词法分析与语法转换;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制;因此,基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0251]
在上述实施例的基础上,本实施例还提供了一种媒体文件播放装置,应用于终端设备、服务器等电子设备中。
[0252]
如图9所示,所述装置包括:
[0253]
文件确定模块901,用于接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件。
[0254]
接收到媒体播放操作之后,电子设备确定待播放的目标媒体文件;比如,作为第一示例,用户触发目标应用程序播放视频,则用户所触发的目标视频的文件为目标媒体文件;作为第二示例,电子设备自行触发播放广告,比如目标应用程序启动时的启动广告,或iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件。
[0255]
素材复制模块902,用于将所述目标媒体文件中的素材数据从电子设备的磁盘空间,复制至所述目标应用程序的用户空间。
[0256]
其中,磁盘空间比如硬盘空间(harddisk)或t-flash闪存卡,用于存储电子设备的数据文件。在电子设备获取目标媒体文件,比如缓存目标媒体文件之后,将目标媒体文件持久化存储至磁盘空间。
[0257]
具体地,通常情况下,电子设备的操作系统和驱动程序运行在内核空间,应用程序运行在用户空间,现有技术中,通常通过基于输入输出流(input output stream,i/o)的读取技术读取所缓存的目标媒体文件;比如linux操作系统,内核空间与用户空间之间不能简单地使用指针传递数据,因为linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针时,对应的数据可能不在内存中。i/o流读取技术经过两次数据复制(copy)。第一次是内核空间将数据从磁盘空间copy到内核页缓存区;第二次是内核将数据从内核页缓存区copy到用户空间。由此可见,i/o流读取技术需要至少两次复制操作才可将目标媒体文件复制到目标应用程序的用户空间;而本技术实施例中,结合图1,电子设备可将数据从磁盘空间直接copy到预先映射好的用户空间,仅包括一次复制操作,因此相较于i/o流读取技术,可加快媒体文件的读取速度。
[0258]
第二播放模块903,用于播放所述素材数据。
[0259]
将素材数据由磁盘空间复制到目标应用程序的用户空间之后,便可在目标应用程序内播放;这样,通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0260]
此外,本技术实施例中,将媒体文件持久化存储到磁盘的过程中,由内核控制的和用户程序控制的。而i/o流读取技术在用户应用程序崩溃活用户应用程序主动退出等场景下,无法完整写入媒体文件,导致媒体文件丢失或者不完整,造成无法展示。而本技术实施例在此种场景下,将会由内核接管脏数据落盘,难以造成媒体文件丢失或者不完整的现象,
从而降低媒体文件丢失率。
[0261]
本技术实施例提供的媒体文件播放装置还执行上述实施例中的媒体文件播放方法中的其他步骤,具体可参照上述实施例的描述;为避免重复,在此不再赘述。
[0262]
本技术实施例中,文件确定模块901接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;素材复制模块902根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间,第二播放模块903播放所述素材数据;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0263]
在上述实施例的基础上,本实施例还提供了一种媒体文件播放装置,应用于终端设备、服务器等电子设备中。
[0264]
如图10所示,所述装置包括:
[0265]
启动模块1001,用于接收启动所述电子设备的启动操作,确定与所述启动操作的目标媒体文件;所述启动操作可以是开机启动操作,或进入新页面的启动操作。
[0266]
其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;
[0267]
接收到启动操作之后,电子设备确定与所述启动操作的目标媒体文件;比如iot设备的开机启动广告,则待播放的广告对应的媒体文件为目标媒体文件。
[0268]
所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,素材数据即媒体文件所播放的视频源数据,即电子设备在播放所述目标媒体文件时,所播放的是素材数据。以广告为例,素材包括广告展现的必要元素,包括但不限于广告标题、广告描述、广告点击跳转url,广告展示追踪url等。
[0269]
素材参数标识用于标识不同的素材参数,素材参数例如素材标识(id)、点击落地页、图片大图uniform resource locator,url等用于素材数据的参数。以素材参数标识表示每个素材参数,比如素材id用数字1作为素材参数标识,素材子id用数字2作为素材参数标识,这样,相较于使用原素材参数,可减少素材参数占用的存储空间;比如,以二进制数据存储格式为例,如“描述”字段“description”,若在json数据格式中用“description”表示,则“description”占11个字节;而在本技术实施例中,使用数字11表示,仅占4个字节,这样,将每个素材参数通过素材参数标识的形式存储在电子设备的磁盘空间,减少素材参数的占用空间,进而减少了目标媒体文件的大小,加快了目标媒体文件的文件读取速度。
[0270]
文件复制模块1002,用于根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述电子设备的用户空间;
[0271]
其中,磁盘空间比如硬盘空间(harddisk)或t-flash闪存卡,用于存储电子设备的数据文件。在电子设备获取目标媒体文件,比如缓存目标媒体文件之后,将目标媒体文件持久化存储至磁盘空间。
[0272]
具体地,通常情况下,电子设备的操作系统和驱动程序运行在内核空间,电子设备运行在用户空间,现有技术中,通常通过基于i/o流的读取技术读取所缓存的目标媒体文件;比如linux操作系统,内核空间与用户空间之间不能简单地使用指针传递数据,因为linux使用的虚拟内存机制,用户空间的数据可能被换出,当内核空间使用用户空间指针
时,对应的数据可能不在内存中。i/o流读取技术经过两次数据复制(copy)。第一次是内核空间将数据从磁盘空间copy到内核页缓存区;第二次是内核将数据从内核页缓存区copy到用户空间。由此可见,i/o流读取技术需要至少两次复制操作才可将目标媒体文件复制到电子设备的用户空间;而本技术实施例中,电子设备可将数据从磁盘空间直接copy到预先映射好的用户空间,仅包括一次复制操作,因此相较于i/o流读取技术,可加快媒体文件的读取速度。
[0273]
第三播放模块1003,用于播放所述素材数据。
[0274]
将素材数据由磁盘空间复制到电子设备的用户空间(电子设备内用于播放媒体文件的应用程序的用户空间)之后,便可在电子设备内播放;这样,通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至电子设备的用户空间,完成数据的复制,提升读取媒体文件的速度,降低程序运行耗时。
[0275]
本技术实施例提供的媒体文件播放装置还执行上述实施例中的媒体文件播放方法中的其他步骤,具体可参照上述实施例的描述;为避免重复,在此不再赘述。
[0276]
本技术实施例中,启动模块1001接收启动所述电子设备的启动操作,确定与所述启动操作的目标媒体文件;文件复制模块1002根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述电子设备的用户空间,第三播放模块1003播放所述素材数据;仅通过内存指针级别移动,将素材数据从电子设备的磁盘空间复制至应用程序的用户空间,通过一次复制操作,完成素材数据的复制,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。
[0277]
本技术实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在设备时,可以使得该设备执行本技术实施例中各方法步骤的指令(instructions)。
[0278]
本技术实施例提供了一个或多个机器可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得电子设备执行如上述实施例中一个或多个所述的方法。本技术实施例中,所述电子设备包括终端设备、服务器(集群)等各类型的设备。
[0279]
本公开的实施例可被实现为使用任意适当的硬件,固件,软件,或及其任意组合进行想要的配置的装置,该装置可包括终端设备、服务器(集群)等电子设备。图11示意性地示出了可被用于实现本技术中所述的各个实施例的示例性装置1100。
[0280]
对于一个实施例,图11示出了示例性装置1100,该装置具有一个或多个处理器1102、被耦合到(一个或多个)处理器1102中的至少一个的控制模块(芯片组)1104、被耦合到控制模块1104的存储器1106、被耦合到控制模块1104的非易失性存储器(nvm)/存储设备1108、被耦合到控制模块1104的一个或多个输入/输出设备1110,以及被耦合到控制模块1104的网络接口1112。
[0281]
处理器1102可包括一个或多个单核或多核处理器,处理器1102可包括通用处理器或专用处理器(例如图形处理器、应用处理器、基频处理器等)的任意组合。在一些实施例中,装置1100能够作为本技术实施例中所述终端设备、服务器(集群)等设备。
[0282]
在一些实施例中,装置1100可包括具有指令1114的一个或多个计算机可读介质(例如,存储器1106或nvm/存储设备1108)以及与该一个或多个计算机可读介质相合并被配置为执行指令1114以实现模块从而执行本公开中所述的动作的一个或多个处理器1102。
[0283]
对于一个实施例,控制模块1104可包括任意适当的接口控制器,以向(一个或多个)处理器1102中的至少一个和/或与控制模块1104通信的任意适当的设备或组件提供任意适当的接口。
[0284]
控制模块1104可包括存储器控制器模块,以向存储器1106提供接口。存储器控制器模块可以是硬件模块、软件模块和/或固件模块。
[0285]
存储器1106可被用于例如为装置1100加载和存储数据和/或指令1114。对于一个实施例,存储器1106可包括任意适当的易失性存储器,例如,适当的dram。在一些实施例中,存储器1106可包括双倍数据速率类型四同步动态随机存取存储器(ddr4sdram)。
[0286]
对于一个实施例,控制模块1104可包括一个或多个输入/输出控制器,以向nvm/存储设备1108及(一个或多个)输入/输出设备1110提供接口。
[0287]
例如,nvm/存储设备1108可被用于存储数据和/或指令1114。nvm/存储设备1108可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(hdd)、一个或多个光盘(cd)驱动器和/或一个或多个数字通用光盘(dvd)驱动器)。
[0288]
nvm/存储设备1108可包括在物理上作为装置1100被安装在其上的设备的一部分的存储资源,或者其可被该设备访问可不必作为该设备的一部分。例如,nvm/存储设备1108可通过网络经由(一个或多个)输入/输出设备1110进行访问。
[0289]
(一个或多个)输入/输出设备1110可为装置1100提供接口以与任意其他适当的设备通信,输入/输出设备1110可以包括通信组件、音频组件、传感器组件等。网络接口1112可为装置1100提供接口以通过一个或多个网络通信,装置1100可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信,例如接入基于通信标准的无线网络,如wifi、2g、3g、4g、5g等,或它们的组合进行无线通信。
[0290]
对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器(例如,存储器控制器模块)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑封装在一起以形成系统级封装(sip)。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器1102中的至少一个可与控制模块1104的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(soc)。
[0291]
在各个实施例中,装置1100可以但不限于是:服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备。在各个实施例中,装置1100可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,装置1100包括一个或多个摄像机、键盘、液晶显示器(lcd)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(asic)和扬声器。
[0292]
其中,检测装置中可采用主控芯片作为处理器或控制模块,传感器数据、位置信息等存储到存储器或nvm/存储设备中,传感器组可作为输入/输出设备,通信接口可包括网络接口。
[0293]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0294]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0295]
本技术实施例是参照根据本技术实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0296]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0297]
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0298]
尽管已描述了本技术实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术实施例范围的所有变更和修改。
[0299]
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语”包括”、”包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句”包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0300]
以上对本技术所提供的一种媒体文件播放方法和装置,一种媒体文件缓存方法和装置,一种电子设备和一种存储介质,进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种媒体文件播放方法,其特征在于,所述方法包括:接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间;播放所述素材数据。2.根据权利要求1所述的媒体文件播放方法,其特征在于,所述确定待播放的目标媒体文件,包括:根据所述目标数据格式中每个数据位置对应的预设数据类型,解析所述磁盘空间中的媒体文件,得到所述素材参数标识以及所述素材数据。3.根据权利要求1所述的媒体文件播放方法,其特征在于,每个所述素材参数标识对应一素材参数;所述素材参数包括素材标识,以及素材子标识、点击落地页统一资源定位标志url、图片url以及所述目标媒体文件描述中的至少一种。4.根据权利要求1所述的媒体文件播放方法,其特征在于,所述目标数据格式还包括配置参数;所述配置参数包括长度校验位、优先级参数、所述目标媒体文件的媒体文件标识、生效时间戳、失效时间戳、资源校验位中的至少一种。5.根据权利要求4所述的媒体文件播放方法,其特征在于,所述根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间,包括:对所述配置参数进行校验;若校验成功,根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间。6.根据权利要求5所述的媒体文件播放方法,其特征在于,若所述配置参数包括所述长度校验位、所述生效时间戳、所述失效时间戳以及所述资源校验位,所述对所述配置参数进行校验,包括:对所述长度校验位以及所述资源校验位进行校验;以及获取所述媒体播放操作的接收时间,根据所述生效时间戳以及所述失效时间戳对所述接收时间进行校验。7.根据权利要求1至6中任一项所述的媒体文件播放方法,其特征在于,所述方法包括:接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间。8.一种媒体文件缓存方法,其特征在于,所述方法包括:接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间;其中,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。9.根据权利要求8所述的媒体文件缓存方法,其特征在于,每个所述素材参数标识对应
一素材参数;所述素材参数包括素材标识,以及素材子标识、点击落地页统一资源定位标志url、图片url以及所述目标媒体文件描述中的至少一种。10.根据权利要求8所述的媒体文件缓存方法,其特征在于,所述目标数据格式还包括配置参数;所述配置参数包括长度校验位、优先级参数、所述目标媒体文件的媒体文件标识、生效时间戳、失效时间戳、资源校验位中的至少一种。11.一种媒体文件播放方法,其特征在于,所述方法包括:接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;将所述目标媒体文件中的素材数据从电子设备的磁盘空间,复制至所述目标应用程序的用户空间;播放所述素材数据。12.一种媒体文件播放方法,应用于电子设备,其特征在于,所述方法包括:接收启动所述电子设备的启动操作,确定与所述启动操作的目标媒体文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述电子设备的用户空间;播放所述素材数据。13.一种媒体文件播放装置,其特征在于,所述装置包括:操作接收模块,用于接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;数据复制模块,用于根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间;第一播放模块,用于播放所述素材数据。14.一种媒体文件缓存装置,其特征在于,所述装置包括:存储模块,用于接收对媒体文件的缓存操作,将所述媒体文件以目标数据格式存储至电子设备的磁盘空间;其中,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数。15.一种媒体文件播放装置,其特征在于,所述装置包括:文件确定模块,用于接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;素材复制模块,用于将所述目标媒体文件中的素材数据从电子设备的磁盘空间,复制至所述目标应用程序的用户空间;第二播放模块,用于播放所述素材数据。16.一种媒体文件播放装置,应用于电子设备,其特征在于,所述装置包括:启动模块,用于接收启动所述电子设备的启动操作,确定与所述启动操作的目标媒体
文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;文件复制模块,用于根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述电子设备的用户空间;第三播放模块,用于播放所述素材数据。17.一种电子设备,其特征在于,包括:处理器;和存储器,其上存储有可执行代码,当所述可执行代码被执行时,使得所述处理器执行如权利要求1至12中一个或多个所述的方法。18.一个或多个机器可读存储介质,其上存储有可执行代码,其特征在于,当所述可执行代码被执行时,使得处理器执行如权利要求1至12中一个或多个所述的方法。

技术总结
本申请实施例提供了一种媒体文件播放方法、装置、设备和存储介质,以解决现有技术中,应用程序在读取所缓存的媒体文件时,耗时较长的问题。所述方法包括:接收在目标应用程序内的媒体播放操作,确定待播放的目标媒体文件;其中,所述目标媒体文件在电子设备的磁盘空间以目标数据格式存储,所述目标数据格式包括素材参数标识以及素材数据,所述素材参数标识为整数;根据与所述素材数据对应的目标素材参数标识,将所述目标媒体文件中的素材数据从所述磁盘空间复制至所述目标应用程序的用户空间;播放所述素材数据。基于目标数据格式存储的目标媒体文件,加快了文件读取速度,降低读取文件耗时,提升目标应用程序播放目标媒体文件的流畅度。流畅度。流畅度。


技术研发人员:屈天爽
受保护的技术使用者:阿里巴巴集团控股有限公司
技术研发日:2020.09.08
技术公布日:2022/3/7

最新回复(0)