CN113497976A - 一种多媒体数据的下载方法及电子设备 - Google Patents
一种多媒体数据的下载方法及电子设备 Download PDFInfo
- Publication number
- CN113497976A CN113497976A CN202010197563.XA CN202010197563A CN113497976A CN 113497976 A CN113497976 A CN 113497976A CN 202010197563 A CN202010197563 A CN 202010197563A CN 113497976 A CN113497976 A CN 113497976A
- Authority
- CN
- China
- Prior art keywords
- electronic device
- operating system
- data
- video
- application
- 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 114
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010438 heat treatment Methods 0.000 abstract description 5
- 238000007726 management method Methods 0.000 description 76
- 230000006870 function Effects 0.000 description 37
- 238000013461 design Methods 0.000 description 31
- 238000004891 communication Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000020169 heat generation Effects 0.000 description 11
- 238000010295 mobile communication Methods 0.000 description 11
- 210000000988 bone and bone Anatomy 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 8
- 230000005236 sound signal Effects 0.000 description 8
- 101000959883 Solanum tuberosum Aspartic protease inhibitor 3 Proteins 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- SPBWHPXCWJLQRU-FITJORAGSA-N 4-amino-8-[(2r,3r,4s,5r)-3,4-dihydroxy-5-(hydroxymethyl)oxolan-2-yl]-5-oxopyrido[2,3-d]pyrimidine-6-carboxamide Chemical compound C12=NC=NC(N)=C2C(=O)C(C(=O)N)=CN1[C@@H]1O[C@H](CO)[C@@H](O)[C@H]1O SPBWHPXCWJLQRU-FITJORAGSA-N 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000036772 blood pressure Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000008093 supporting effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000010009 beating Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 238000013021 overheating Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 238000005057 refrigeration Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 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/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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
-
- 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/239—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
- H04N21/2393—Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
-
- 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/41—Structure of client; Structure of client peripherals
- H04N21/426—Internal components of the client ; Characteristics thereof
-
- 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/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
-
- 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/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- 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/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例公开了一种多媒体数据的下载方法及电子设备,涉及电子设备领域,避免对不需要的数据进行下载,也就避免了由于下载不需要数据导致的额外的功耗以及发热的问题。具体方案为:该电子设备接收用户的第一操作,该第一操作用于触发该电子设备通过第一应用进行多媒体数据的播放。该电子设备由该操作系统确定响应于该第一操作音视频播放器被调用。该电子设备由该操作系统发送第一下载请求,该第一下载请求用于从服务器下载该多媒体数据的第一数据段,该第一下载请求至少包括:该第一数据段的起始字节和终止字节,该第一数据段的起始字节与该多媒体数据的起始字节相同,该第一数据段的数据量小于该多媒体数据的数据量。
Description
技术领域
本申请实施例涉及电子设备领域,尤其涉及一种多媒体数据的下载方法及电子设备。
背景技术
电子设备可以向用户提供多种服务,其中包括从网络获取文件并通过本地的应用程序(Application,APP,本申请中,应用程序也可简称为应用)展示给用户。例如,以从网络获取文件为网络视频为例。电子设备可以从网络下载该网络视频,并通过电子设备中的音视频类应用对该网络视频进行加载并播放,实现将该网络视频展示给用户的目的。由此,电子设备也就向用户提供了网络视频播放服务。
在需要从网络获取的文件较大时,电子设备可以在向用户展示该文件前,预先将该文件的数据下载(或称为缓存)到本地的存储空间中。以便电子设备在向用户展示该文件时,可以从存储有缓存该文件的数据的存储空间,获取该文件的数据,并进行快速的展示。这样,就可以避免实时地从网络获取文件的数据并展示时,可能出现的由于网络质量下降等原因造成数据获取出现延迟,进而影响电子设备向用户展示该文件效率的情况发生。
示例性的,以需要向用户展示的文件为网络视频为例。电子设备可以在接收到用户输入的触发播放某一网络视频的操作时,对该网络视频的所有视频数据进行缓存。电子设备可以通过对应的音视频类应用加载并播放缓存的网络视频。由此实现该网络视频的顺畅播放。
但是,用户在输入触发电子设备播放某一网络视频的操作后,可能会完整地看完该网络视频,也可能只看很少一部分,就停止或退出该网络视频的播放。因此,如果电子设备在接收到该操作后,对该网络视频的所有视频数据进行缓存,则当用户不会完整地看完该网络视频时,就会出现被缓存的视频数据不被使用的情况。也就使得电子设备的视频数据缓存的处理变得没有意义,由此降低电子设备的工作效率。另外,在对不被使用的视频数据进行的缓存过程中,也会使得电子设备产生额外的功耗以及发热,这也是需要避免的。
发明内容
本申请实施例提供一种多媒体数据的下载方法及电子设备。能够有效地避免对不需要的数据进行下载,也就避免了由于下载不需要数据导致的额外的功耗以及发热的问题。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种多媒体数据的下载方法,应用于电子设备,该方法包括:电子设备接收用户的第一操作,该第一操作用于触发该电子设备通过第一应用进行多媒体数据的播放。该电子设备由该操作系统确定响应于该第一操作音视频播放器被调用。该电子设备由该操作系统发送第一下载请求,该第一下载请求用于从服务器下载该多媒体数据的第一数据段,该第一下载请求至少包括:该第一数据段的起始字节和终止字节,该第一数据段的起始字节与该多媒体数据的起始字节相同,该第一数据段的数据量小于该多媒体数据的数据量。基于该方案,电子设备可以通过音视频播放器被调用确定即将进行网络视频的播放,由此触发分段下载策略。示例性的,电子设备可以通过发送第一下载请求,用于请求对网络视频中的一部分视频数据进行下载,以此避免全量下载时产生的不必要的数据以及该过程中带来的额外的功耗以及发热。
在一些可能的设计中,在该电子设备由该操作系统发送第一下载请求之前,该方法还包括:该电子设备由该操作系统确定该第一应用的类型是音视频类应用。基于该方案,电子设备通过确定启动的第一应用为音视频类应用,能够更加准确地确定即将进入视频播放场景。
在一些可能的设计中,该操作系统包括:系统管理模块和事件管理模块。在该电子设备由该操作系统确定响应于该第一操作音视频播放器被调用之前,该方法还包括:在该音视频播放器被调用时,该电子设备由该事件管理模块生成第一事件,该第一事件用于指示该音视频播放器被调用。该电子设备由该操作系统确定响应于该第一操作音视频播放器被调用,包括:该电子设备由该系统管理模块根据该第一事件,确定响应于该第一操作该音视频播放器被调用。基于该方案,电子设备可以通过监测音视频播放器的调用,并生成对应的事件。可以理解的是,当电子设备要进行视频播放时,一般都会调用音视频播放器,以便对对网络视频进行解码播放。因此,通过确定调用音视频播放器对应的事件的生成,实现APP层对于当前即将进入视频播放场景的准确判断。
在一些可能的设计中,该操作系统包括:系统管理模块和事件管理模块。在该电子设备由该操作系统确定该第一应用的类型是音视频类应用之前,该方法还包括:在该第一应用启动时,该电子设备由该事件管理模块生成第二事件,该第二事件用于指示该第一应用被启动。该电子设备由该操作系统确定该第一应用的类型是音视频类应用,包括:该电子设备由该系统管理模块根据该第二事件,确定该第一应用的类型是该音视频类应用。基于该方案,电子设备可以通过监测第一应用被启动,并生成对应的事件。可以理解的是,当电子设备中的一个音视频类应用被启动时,则具有较大可能即将进行网络视频的播放。因此,电子设备通过确定第一应用为音视频类应用,可以实现APP层对于当前即将进入视频播放场景的准确判断。
在一些可能的设计中,在该电子设备由该操作系统发送第一下载请求之前,该方法还包括:该电子设备由该操作系统确定该多媒体数据需进行分段下载。基于该方案,电子设备可以在进行分段下载前,进一步确认是否需要对网络视频进行分段下载,由此能够准确地对需要进行分段下载的网络视频进行分段下载。
在一些可能的设计中,在该电子设备由该操作系统确定该多媒体数据需进行分段下载之前,还包括:该电子设备由该电子设备的操作系统获取该多媒体数据的播放参数,该播放参数包括该多媒体数据的数据量。该电子设备由该操作系统确定该多媒体数据需进行分段下载,包括:当该数据量大于第一阈值时,该电子设备由该操作系统确定该多媒体数据需进行分段下载。基于该方案,电子设备可以筛选数据量较大的网络视频进行分段下载,以避免对小数量视频的分段下载影响用户观看的情况出现。
在一些可能的设计中,在该电子设备由该操作系统确定该多媒体数据需进行分段下载之前,还包括:该电子设备由该电子设备的操作系统获取该多媒体数据的播放参数,该播放参数包括该多媒体数据的播放时长。该电子设备由该操作系统确定该多媒体数据需进行分段下载,包括:当该播放时长大于第二阈值时,该电子设备由该操作系统确定该多媒体数据需进行分段下载。基于该方案,电子设备可以筛选播放时长较大的网络视频进行分段下载,以避免对播放时长较小的视频的分段下载影响用户观看的情况出现。
在一些可能的设计中,在该电子设备由该操作系统确定该多媒体数据需进行分段下载,包括:该电子设备由该操作系统确定当前下载速度大于预设下载速度。基于该方案,电子设备可以在高速网络中进行准确的分段下载,避免全量下载在高速网络场景下的额外功耗以及发热。
在一些可能的设计中,在该电子设备由该操作系统发送第一下载请求之后,该方法还包括:该电子设备由该操作系统接收该第一数据段。该电子设备由该操作系统加载并播放该第一数据段。当该第一数据段的播放时长大于第三阈值,或,已播放的该第一数据段的数据量大于第四阈值时,该电子设备由该操作系统发送第二下载请求,该第二下载请求用于请求从该服务器下载该多媒体数据的第二数据段,该第二数据段的起始字节与该第一数据段的终止字节相同。基于该方案,电子设备可以在第一数据段被观看完成时,即确定用户可能会对该网络视频进行长时间观看时,对剩余的网络视频进行下载,以便使得用户对余下内容的观看不会受到网络环境的影响。
第二方面,提供一种多媒体数据的下载装置,应用于电子设备,该装置包括:接收单元,用于接收用户的第一操作,该第一操作用于触发该电子设备通过第一应用进行多媒体数据的播放。确定单元,用于确定响应于该第一操作音视频播放器被调用。发送单元,用于发送第一下载请求,该第一下载请求用于从服务器下载该多媒体数据的第一数据段,该第一下载请求至少包括:该第一数据段的起始字节和终止字节,该第一数据段的起始字节与该多媒体数据的起始字节相同,该第一数据段的数据量小于该多媒体数据的数据量。
在一些可能的设计中,确定单元,还用于发送第一下载请求之前,确定该第一应用的类型是音视频类应用。
在一些可能的设计中,该电子设备还包括:生成单元。该生成单元,用于在确定响应于该第一操作音视频播放器被调用之前,在该音视频播放器被调用时,生成第一事件。该第一事件用于指示该音视频播放器被调用。该确定单元,用于确定响应于该第一操作该音视频播放器被调用。
在一些可能的设计中,该电子设备还包括:生成单元。该生成单元,用于在确定该第一应用的类型是音视频类应用之前,在该第一应用启动时,生成第二事件。该第二事件用于指示该第一应用被启动。该确定单元,用于根据该第二事件,确定该第一应用的类型是该音视频类应用。
在一些可能的设计中,该确定单元,还用于在发送第一下载请求之前,确定该多媒体数据需进行分段下载。
在一些可能的设计中,该电子设备还包括,获取单元。该获取单元,用于在确定该多媒体数据需进行分段下载之前,获取该多媒体数据的播放参数,该播放参数包括该多媒体数据的数据量。该确定单元,还用于当该数据量大于第一阈值时,确定该多媒体数据需进行分段下载。
在一些可能的设计中,该电子设备还包括,获取单元。该获取单元,用于在确定该多媒体数据需进行分段下载之前,获取该多媒体数据的播放参数,该播放参数包括该多媒体数据的播放时长。该确定单元,还用于当该播放时长大于第二阈值时,确定该多媒体数据需进行分段下载。
在一些可能的设计中,该确定单元,还用于确定当前下载速度大于预设下载速度。
在一些可能的设计中,该接收单元,还用于在发送第一下载请求之后,接收该第一数据段。在该示例中,电子设备还可以包括播放单元,用于加载并播放该第一数据段。该发送单元,还用于当该第一数据段的播放时长大于第三阈值,或,已播放的该第一数据段的数据量大于第四阈值时,发送第二下载请求,该第二下载请求用于请求从该服务器下载该多媒体数据的第二数据段,该第二数据段的起始字节与该第一数据段的终止字节相同。
第三方面,提供一种电子设备,该电子设备包括:一个或多个处理器以及存储器。其中该存储器用于存储一个或多个程序。该一个或多个处理器用于运行该一个或多个程序,以使得该电子设备执行如第一方面及其可能的设计所述的多媒体数据的下载方法。
第四方面,提供一种计算机可读存储介质,包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如第一方面及其可能的设计所述的多媒体数据的下载方法。
第五方面,提供一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行第一方面及其可能的设计所述的多媒体数据的下载方法。
第六方面,提供一种芯片系统,包括:处理电路和接口,该处理电路用于从存储介质中调用并运行该存储介质中存储的计算机程序,以执行如第一方面及其可能的设计所述的多媒体数据的下载方法。
第七方面,提供一种处理器,该处理器与存储器耦合,当该处理器执行该存储器中的计算机程序或指令时,以执行如第一方面及其可能的设计所述的多媒体数据的下载方法。
应当理解的是,上述第二方面至第七方面提供的下载装置,电子设备,计算机可读存储介质,计算机程序产品以及处理器的有益效果均可以对应参考上文对应方面提供的方法实施例的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种电子设备的结构示意图;
图2为本申请实施例提供的一种电子设备的软件结构示意图;
图3为本申请实施例提供的一种多媒体数据的下载方法的流程示意图;
图4为本申请实施例提供的一种播放网络视频的界面示意图;
图5为本申请实施例提供的又一种播放网络视频的界面示意图;
图6为本申请实施例提供的又一种多媒体数据的下载方法的流程示意图;
图7为本申请实施例提供的一种下载装置的组成示意图;
图8为本申请实施例提供的一种电子设备的逻辑组成示意图;
图9为本申请实施例提供的一种芯片系统的组成示意图。
具体实施方式
在用户通过电子设备中的应用浏览网络上的大文件(如网络视频,或高清音频)时,电子设备可以将该大文件的所有数据从网络上全部缓存到本地的存储空间中(本申请实施例中,该方法也可称为对该大文件的全量缓存),以避免在用户浏览该大文件的过程中,由于网络的原因(如网络质量差等)导致的浏览卡顿等问题。为了能够更加清楚地对本申请的具体实施方式进行说明,本申请实施例中,以该大文件为网络视频为例进行说明。
可以看到,电子设备可以对用户想要观看的网络视频进行全量缓存,以避免该网络视频在线播放过程中的卡顿。然而,这种处理方法会引起一些的问题。例如,用户在输入触发播放该网络视频的操作后,往往会先试看几分钟。如果对试看的内容感兴趣,则用户会继续对该网络视频进行观看,直到播放完成。而如果对试看的内容不感兴趣,则用户会停止对该网络视频的观看。此时,如果电子设备已经对该网络视频完成全量缓存,那么就会出现使用大量资源下载了大量的数据,但这些数据不会被使用的情况。
可以理解的是,在电子设备进行大量数据的下载时,会占用大量的下载资源,同时引发处理器的长时间高负荷工作,由此带来较大的功耗和明显的发热。在上述情况下,被下载的数据不会被使用,就导致在下载该数据的过程中占用的下载资源,产生的功耗以及发热变得不必要。
另外,随着用户对网络音视频等媒体体验的诉求越来越高,电子设备需要在能够快速、稳定地进行高流量传输的同时,具备较高的续航能力。因此,尽量减少不必要的功耗以及发热,变得比以往更加重要。
因此,为了保证电子设备的正常工作,就需要避免上述不必要的下载处理。
为了避免上述问题,部分应用提供了基于应用本身的分段下载策略,能够实现在该应用运行过程中,避免对音视频文件的全量下载,转而对其进行分段下载,以避免全量下载导致的电子设备的性能下降。示例性的,以视频类应用A具有上述分段下载策略为例,对其实现分段下载的过程进行示例性说明。在用户输入触发该应用A进行网络视频A的播放时,该应用A可以向服务器发送下载请求,用于请求服务器向当前电子设备发送视频流A。该视频流A可以是网络视频A的全部网络视频中的一部分。响应于该下载请求,服务器就可以向该电子设备发送视频流A。从结果上看,就实现了只缓存该网络视频A的一部分网络视频的目的。
然而,由于该策略是基于应用本身的,也就是说,只有当用户指示电子设备使用该应用A进行网络视频的播放时,才会触发分段下载。而当其他不具有该策略的应用在进行网络视频的播放时,则依然会对网络视频进行全量下载,因此,依然无法避免用户在观看网络视频过程中,产生额外的功耗以及发热等问题的发生。另外,由于该策略是与应用绑定的,因此,在不同的电子设备上,该分段下载的执行方法相同。这样就会导致对于一些运行资源本就比较紧张的电子设备而言,这种归一化的分段下载方式依然不能解决上述问题。例如,该分段下载策略中规定,每次缓存的网络视频的数据量为a,而对于当前电子设备而言,所缓存的网络视频在数据量小于a时就会使得电子设备出现存储空间不足等问题。这样,对于当前电子设备而言,该分段下载策略就是不适合的。
因此,为了解决上述问题,本申请实施例提供一种多媒体数据的下载方法,在电子设备的操作系统层面,能够通过识别多媒体数据播放场景引发的缓存需求,并对该多媒体数据进行分段下载,避免对不需要的数据进行下载,也就避免了由于下载不需要数据导致的问题。同时,由于本申请实施例提供的方法是基于操作系统层面的处理,对于所有符合分段下载条件的不同应用均适用,因此能够从根本上解决不必要的缓存对电子设备带来的不必要的功耗及发热的问题。
示例性的,本申请实施例中的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、媒体播放器等设备,本申请实施例对该设备的具体形态不作特殊限制。
以下结合附图,对本申请实施例进行详细说明。
需要说明的是,本实施例中所述的多媒体数据可以是网络视频,音频等。以下示例中,均以多媒体数据为网络视频为例进行说明。在另一些实施例中,该方法也可以被应用于处理其他需要提前从网络中进行缓存的大文件数据的场景。其具体的执行方法类似,本申请实施例对此不作限制。
请参考图1,为本申请实施例提供的一种电子设备100的结构示意图,如图1所示,该电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
可以理解的是,本实施例示意的结构并不构成对电子设备100的具体限定。在另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
作为一种示例性的说明,本申请实施例中,处理器110可以用于根据用户输入的触发播放网络视频的第一操作,获取该网络视频的播放参数。处理器110还可用于确定响应于所述第一操作,音视频播放器被调用,并据此确定电子设备100进入音视频播放场景。处理器110还可用于生成第一下载请求和/或第二下载请求,用于对该网络视频进行分段下载。以此避免下载不必要数据,进而避免由此带来的不必要的功耗以及发热。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现电子设备100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备100供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
在一些实施例中,电子设备100可以通过天线1和/或天线2与服务器进行数据交互。示例性的,电子设备100可以通过该天线1和/或天线2向服务器发送第一下载请求和/或第二下载请求。电子设备100还可以该通过天线1和/或天线2接收服务器发送的第一数据段和/或第二数据段。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
在本申请实施例中,内部存储器121可以用于存储缓存的网络视频。当然,在一些实施方式中,该网络视频也可存储在通过外部存储器接口120连接的外部存储介质中。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息或需要通过语音助手触发电子设备100执行某些功能时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备100平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of theUSA,CTIA)标准接口。
触摸传感器,也称“触控面板”。触摸传感器可以设置于显示屏194,由触摸传感器与显示屏194组成触摸屏,也称“触控屏”。触摸传感器用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。在一些实施例中,可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
压力传感器用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器可以设置于显示屏194。压力传感器的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器检测所述触摸操作强度。电子设备100也可以根据压力传感器的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
陀螺仪传感器可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器还可以用于导航,体感游戏场景。
气压传感器用于测量气压。在一些实施例中,电子设备100通过气压传感器测得的气压值计算海拔高度,辅助定位和导航。
磁传感器包括霍尔传感器。电子设备100可以利用磁传感器检测翻盖皮套的开合。在一些实施例中,当电子设备100是翻盖机时,电子设备100可以根据磁传感器检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。
加速度传感器可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备100姿态,应用于横竖屏切换,计步器等应用。
距离传感器,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器测距以实现快速对焦。
接近光传感器可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。电子设备100通过发光二极管向外发射红外光。电子设备100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定电子设备100附近有物体。当检测到不充分的反射光时,电子设备100可以确定电子设备100附近没有物体。电子设备100可以利用接近光传感器检测用户手持电子设备100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器也可用于拍照时自动调节白平衡。环境光传感器还可以与接近光传感器配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器用于采集指纹。电子设备100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器用于检测温度。在一些实施例中,电子设备100利用温度传感器检测的温度,执行温度处理策略。例如,当温度传感器上报的温度超过阈值,电子设备100执行降低位于温度传感器附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,电子设备100对电池142加热,以避免低温导致电子设备100异常关机。在其他一些实施例中,当温度低于又一阈值时,电子设备100对电池142的输出电压执行升压,以避免低温导致的异常关机。
骨传导传感器可以获取振动信号。在一些实施例中,骨传导传感器可以获取人体声部振动骨块的振动信号。骨传导传感器也可以接触人体脉搏,接收血压跳动信号。在一些实施例中,骨传导传感器也可以设置于耳机中,结合成骨传导耳机。音频模块170可以基于所述骨传导传感器获取的声部振动骨块的振动信号,解析出语音信号,实现语音功能。应用处理器可以基于所述骨传导传感器获取的血压跳动信号解析心率信息,实现心率检测功能。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。
SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和电子设备100的接触和分离。电子设备100可以支持1个或N个SIM卡接口,N为大于1的正整数。SIM卡接口195可以支持Nano SIM卡,Micro SIM卡,SIM卡等。同一个SIM卡接口195可以同时插入多张卡。所述多张卡的类型可以相同,也可以不同。SIM卡接口195也可以兼容不同类型的SIM卡。SIM卡接口195也可以兼容外部存储卡。电子设备100通过SIM卡和网络交互,实现通话以及数据通信等功能。在一些实施例中,电子设备100采用eSIM,即:嵌入式SIM卡。eSIM卡可以嵌在电子设备100中,不能和电子设备100分离。
以上是从硬件组成的角度对本申请实施例提供的电子设备100进行的示例性说明。在一些实施例中,该电子设备100还可以从软件的角度进行逻辑划分。示例性的,请参考图2,为本申请实施例提供的一种电子设备200的软件结构示意图。
如图2所示,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,可以将电子设备200中的操作系统(如Android操作系统,又如IOS操作系统)分为四层,从上至下分别为应用程序层(APP层)210,应用程序框架层(framework层)220,硬件抽象(hardware abstract layer,HAL)层230以及协议层240。本申请实施例中,APP层201,framework层220,HAL层230以及协议层240可以构成电子设备200的操作系统。在电子设备200中可以安装有应用程序。操作系统可以用于支持应用程序的正常运行,进而使得电子设备200能够提供不同的功能与服务。
在一些实施例中,APP层210可以包括一系列应用程序包。如图2所示,应用程序包可以包括具备网络视频播放功能的应用,如视频播放应用A,视频播放应用B等应用程序。此外,应用程序包还可以包括不具备网络视频播放功能的应用,如设置,计算器,指南针,录音机,相机,通话,短信息等应用程序。
在本申请实施例中,如图2所示,APP层210还可以包括:系统管理模块211。系统管理模块211是APP层210中的系统级模块。该系统管理模块211可以用于对电子设备200进行功耗以及发热管理,以避免电子设备200的功耗或发热过高,影响其正常工作。例如,当电子设备200确定需要进行功耗控制时,可以通过该系统管理模块211,执行应用管理,电池低电管理,背光管理,冷冻管理,温控管理,CPU管理,外设开关管理,通知管理和/或传输管理等管理动作,以便对当前电子设备200中执行的任务进行管理和调整,实现控制功耗以及减小发热的目的。示例性的,系统管理模块211可以通过执行传输管理,实现对网络视频的分段下载管理。
Framework层220为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。Framework层220是电子设备200的运行框架底座。在本实施例中,framework层220中可以设置有事件管理模块221,用于根据API的调用生成对应的事件。示例性的,framework层220中可以设置有一个或多个监测器,用于监测电子设备调用的API,并通过事件管理模块221生成相应的事件。示例性的,当framework层220监测到音频播放器(Audio player)和/或视频播放器(Video player)对应的API被调用时,则事件管理模块221可以生成媒体框架(media framework)事件(即第一事件)。当framework层220监测到启动第一应用对应的API被调用时,则事件管理模块221可以生成激活管理(activity manager)事件(即第二事件)。
APP层210中的系统管理模块211可以监测media framework事件和/或activitymanager事件的生成,并根据对应事件的生成,确定进入视频播放场景。由此通过执行传输管理,发起分段下载请求(如第一下载请求和/或第二下载请求),电子设备200可以在服务器的配合下,实现对网络视频的分段下载。
另外,framework层220还可负责提供应用间的通信机制。需要说明的是,本申请实施例中,视频播放器也可指视频编解码器。
HAL层230中可以包括多个接口,实现对APP层210发起的请求的转发。其中,可以包括针对具有Java以及C++语言格式的数据转发的JNI层231。示例性的,如图2所示,该JNI层231中可以包括冷冻接口,powerlogd,背光接口,Perf-hub,Cgroup(Freezer),温控接口,kernel sys node adapter以及网优管理等。其中,网优管理,可以用于对系统管理模块211下发的分段下载请求进行转发,以便通过协议层240将该分段下载请求发出。另外,冷冻接口(Cgroup(Freezer))可以用于转发用于指示应用退到后台后禁用处理器的相关信息。Powerlogd可以转发事件收集过程中的相关信息,如前台应用信息,调用音视频播放器的应用信息等。背光接口可以用于转发调节显示屏亮度过程中的相关信息。Perf-hub以及kernel sys node adapter可以用于转发处理器频率调节相关的信息。温控接口可以用于转发放置手机过热相关策略的信息。需要说明的是,该协议层240也可以为TPC/IP协议层。
在一些实施例中,上述APP层210,framework层220,HAL层230以及协议层240的相关功能,均可通过如图1所示的处理器110实现。
以下实施例中的方法均可以在具有上述如图1所示的硬件结构的电子设备100中实现,也可以在具有如图2所示的软件结构的电子设备200中实现。
请参考图3,为本申请实施例提供的一种多媒体数据的下载方法的流程示意图。其中以电子设备具有如图2所示的软件结构为例进行说明。如图3所示,该方法包括S301-S303。
S301、电子设备接收用户的第一操作,该第一操作用于触发该电子设备通过第一应用进行网络视频的播放。
示例性的,当用户想要在电子设备上通过第一应用观看网络视频时,可以输入对应的操作,以触发电子设备对该网络视频进行播放。在本实施例中,可以将用于触发电子设备通过第一应用播放网络视频的操作称为第一操作。
在一些实施例中,第一操作可以是用户对开始播放按钮的操作。例如,以第一应用为视频播放应用A,电子设备显示有如图4的界面为例。如图4所示,在电子设备显示的界面上可以包括信息栏401。在该信息栏401中,包括当前应用的名称以及将要播放的网络视频的信息。如当前应用的名称为“视频播放应用A”,将要播放的视频为“1.mp4”。当用户想要观看该视频“1.mp4”时,可以点击界面上的开始播放按钮402,以触发电子设备播放该视频“1.mp4”。即,第一操作即为用户对开始播放按钮402的点击操作。当然,用户还可以通过双击,滑动等操作,实现触发电子设备播放对应的视频的目的。
可以理解的是,用户在输入该第一操作之前,还可以输入第二操作,该第二操作可以为用于触发启动第一应用的操作。例如,以第一应用为视频播放应用A为例。电子设备显示有如图5中的(a)所示的界面。其中,可以包括多个应用的名称以及图标,例如,包括名称为“视频播放应用A”的应用的图标501。用户可以通过输入第二操作,触发电子设备启动该视频播放应用A。例如,用户可以点击图标501,以触发电子设备启动该视频播放应用A。即,第二操作为用户对图标501的点击操作。当然,用户还可以通过双击,滑动等操作,实现触发电子设备启动对应应用的目的。
可以理解的是,在用户输入上述第二操作后,电子设备可以显示如图4所示的界面,则用户可以通过输入上述第一操作,以触发电子设备播放对当前界面对应的视频。在另一些实施例中,在用户输入上述第二操作后,电子设备可以显示如图5中的(b)所示的界面。如图5中的(b)所示,该界面上包括多个视频的预览信息。例如,其中可以包括名称为“1.mp4”的视频的预览图像502。如图5中的(b)所示,该界面上还可以包括名称为“2.rmvb”的视频的预览图像,名称为“3.rmvb”的视频的预览图像,名称为“4.mp4”的视频的预览图像,名称为“5.mp4”的视频的预览图像以及名称为“6.mp4”的视频的预览图像。当用户想要观看该名称为“1.mp4”的网络视频时,可以通过输入第三操作,以触发电子设备显示播放该“1.mp4”的网络视频对应的界面(如图4所示的界面)。示例性的,用户可以点击名称为“1.mp4”的网络视频的预览图像502,以触发电子设备进入播放该“1.mp4”的网络视频对应的界面,即第三操作为对名称为“1.mp4”的视频的预览图像502的点击操作。当然,用户还可以通过双击,滑动等操作,实现触发电子设备播放进入对应的界面的目的。
S302、电子设备由该操作系统确定响应于该第一操作音视频播放器被调用。
由于在对网络视频进行缓存之前,电子设备一般都会进入视频播放场景。因此,本申请实施例中,电子设备可以根据用户输入的操作,确定是否进入视频播放场景,进而确定如何对网络视频进行缓存。
示例性的,电子设备可以通过音视频播放器是否被调用,确定是否进入视频播放场景。其中,音视频播放器可以包括音频播放器和/或视频播放器。
例如,结合图2,电子设备的系统管理模块211,可以确定响应于用户的第一操作,是否有音视频播放器被调用,进而确定是否进入视频播放场景。其中,系统管理模块211可以通过监测framework层220中生成了与调用音视频播放器对应的事件(如mediaframework事件),确定音视频播放器被调用。
S303、电子设备由其操作系统发送第一下载请求。
其中,该第一下载请求用于从该服务器下载该网络视频的第一数据段,该第一下载请求至少包括:该第一数据段的起始字节和终止字节,该第一数据段的起始字节与该网络视频的起始字节相同,该第一数据段的数据量小于该网络视频的数据量。
可以理解的是,当电子设备确定进入视频播放场景时,也就是说存在对网络视频进行分段缓存的需求时,则电子设备可以通过其操作系统,生成并发送第一下载请求,用于对视频中的第一数据段进行缓存。示例性的,该第一下载请求中,可以包括该第一数据段的起始以及终止字节,以便服务器能够明确需要被下载的数据。
需要说明的是,当电子设备开始对网络视频进行分段下载时,其缓存的第一数据段一般为该网络视频的开始部分,因此,第一数据段的起始字节可以与网络视频的起始字节相同。当然,在另一些实施例中,当第一数据段并非网络视频的开始部分时,则该第一数据段的起始字节也可以是根据实际情况灵活设置的。
另外,对于第一数据段的大小的设置,可以是预先配置好的数据量,也可以是预先配置好预设播放时长,也可以是根据全量下载的网络视频的大小灵活配置的,还可以是结合电子设备当前存储空间的占用情况灵活配置的。本申请实施例对此不作限制。
这样,电子设备通过其操作系统,根据用户输入的操作以及电子设备自身的响应,确定进入视频播放场景,进而发出对应的分段下载请求。以解决全量下载造成的对不需要的数据进行下载的问题,避免了由于下载不需要数据导致的功耗以及发热的问题。
另外,现有技术中,也有一部分应用可以根据自身内建策略,实现对视频的分段下载。然而,这种基于内建策略的方法必须依托于对应的应用程序。而本申请实施例提供的方法,是基于操作系统的方法,能够适用于所有的应用程序,特别是针对没有上述内建策略的应用程序,也能够实现对相关文件的分段下载。此外,对于具有上述内建策略的应用程序,在执行分段下载时,无法根据电子设备自身的情况灵活配置,而本申请实施例提供的下载方法,能够根据电子设备当前的状态,灵活配置分段下载的第一数据的数据量,因此能够更好起到优化数据缓存的作用。
请参考图6,为本申请实施例提供的又一种多媒体数据的下载方法。为了能够更加清楚地对本申请实施例进行详细说明,以下继续以电子设备包括如图2所示的软件组成,多媒体数据为网络视频为例。如图6所示,该方法可以包括S601-S608。
S601、电子设备接收用户输入的第一操作。
其中,该第一操作可以是用户输入的用于触发电子设备通过第一应用进行网络视频的播放的操作。
此步骤的具体执行方法与如图3所示的S301类似,具体过程可参考上述S301中的说明,此处不再赘述。
S602、电子设备生成事件1和事件2,并据此确定进入视频播放场景。
如图3中的S301的说明,用户为了能够顺利的在电子设备上观看网络视频,一般需要输入用于触发启动应用(如第一应用)的第二操作,以及用于触发电子设备对网络视频进行播放的第一操作。
作为对用户输入的操作的响应,电子设备可以调用对应的API,以实现对应的功能。
示例性的,当电子设备接收到用户输入的第二操作时,可以启动第一应用。对应的API(如称为API-1)会被调用,用于实现启动第一应用。当电子设备接收到用户输入的第一操作时,该第一应用可以调用视频播放器对应的API(如称为API-2),以实现调用视频播放器进行网络视频的解码播放。另外,第一应用还可以调用音频播放器对应的API(如称为API-3),以实现调用音频播放器进行视频中的音频数据的解码播放。
其中,在本申请实施例中,音视频播放器可以包括视频播放器和/或音频播放器。
示例性的,在一些实现方式中,当本申请实施例所提供的方法用于对网络视频进行分段下载,且该网络视频的播放过程中会同时调用音频播放器和视频播放器时,该音视频播放器可以同时包括音频播放器和视频播放器。即电子设备可以通过确定响应于该第一操作,音频播放器和视频播放器均被调用,由此确定进入视频播放场景。在另一些实现方式中,当本申请实施例所提供的方法用于对网络视频进行分段下载,且该网络视频的播放过程中只会调用视频播放器时,该音视频播放器可以只包括视频播放器。即电子设备可以通过确定响应于该第一操作,视频播放器被调用,由此确定进入视频播放场景。在另一些实现方式中,当本申请实施例所提供的方法用于对具有较大数据量的音频进行分段下载,即该音频的播放过程中只会调用音频播放器时,该音视频播放器可以只包括音频播放器。即电子设备可以通过确定响应于该第一操作,音频播放器被调用,由此确定进入视频播放场景。
另外,如上述说明,本申请实施例提供的方法是以对网络视频进行分段缓存为例进行说明的。当本申请实施例提供的方法应用于其他大文件的分段下载场景时,该音视频播放器也可以是其他的在展示该大文件时被调用的模块。本申请实施例对此不作限制。
由于本申请实施例提供的方法为操作系统层面的方法,因此,电子设备需要在执行分段下载的策略之前,定是否进入视频播放场景。
示例性的,本申请实施例中,电子设备的操作系统可以通过调用API生成的对应的事件,以确是否进入视频播放场景。
可以理解的是,一般而言,电子设备在进行网络视频的播放时,需要调用音视频播放器以实现其播放功能。也就是说,当电子设备调用了音视频播放器时,就有很大可能进行视频播放,此时也就可能需要对网络视频进行分段下载。另外,电子设备在进行视频播放时,一般都需要在这之前打开对应的音视频类应用程序。因此,当电子设备启动了一个音视频类应用程序时,就有可能即将进行视频播放。
例如,结合图2,本申请实施例中,电子设备中的framework层220中可以设置监测器,对调用音视频播放器的API进行监测,并由framework层220中的事件管理模块221生成对应的事件,以便APP层210根据事件的生成,确定电子设备是否要进入视频播放场景。电子设备还可以在framework层210中可以设置监测器,对启动第一应用对应的API进行监测,并由framework层210中的事件管理模块221生成对应的事件,以根据该被启动的第一应用是否属于音视频类应用,进一步确定电子设备是否要进入视频播放场景。
作为一种示例,电子设备的framework层220中可以设置有针对上述不同API的监测器。例如,其中可以包括用于监测API-1是否被调用的监测器1,用于监测API-2是否被调用的监测器2,用于监测API-3是否被调用的监测器3。当然,上述监测器1,监测器2以及监测器3的功能也可通过一个监测器或多个监测器实现。以下以framework层220中分别包括上述监测器1,监测器2以及监测器3为例进行说明。
当监测器监测到对应的API被调用时,就可以生成对应的事件。示例性的,当监测器1监测到API-1被调用时,事件管理模块221就可以生成事件1(即上述第二事件),本申请实施例中,该事件1也可称为事件activity manager。当监测器2以及监测器3监测到API-2和API-3分别被调用时,事件管理模块221就可以生成事件2(即上述第一事件),本申请实施例中,该事件1也可称为事件media framework。
需要说明的是,上述示例中,是以API-2和API-3同时被调用时生成事件2为例进行说明的,在另一些实施例中,该事件2也可是API-2或API-3中任一个被调用时即生成的。另外,在具体执行过程中,framework层220中的监测器也可对API-1,API-2或API-3中的任一个或任意两个进行监测,并由事件管理模块221生成对应的事件。本申请实施例对此不做限制。
在framework层220生成不同事件的同时,APP层210中的系统管理模块211可以监测这些事件的生成,并据此确定电子设备是否进入视频播放场景。可以理解的是,当电子设备进入视频播放场景时,就可能会需要对网络视频进行分段下载。
示例性的,在一些实施例中,系统管理模块211可以监测上述事件1的出现,并确定电子设备是否进入视频播放场景。例如,当事件1出现时,则系统管理模块211可以根据该事件1确定被启动的应用程序为第一应用。接着系统管理模块211可以从应用市场中查询该第一应用的特征标签,以根据该特征标签确定该第一应用是否为音视频类应用。其中,该特征标签可以是应用市场通过分析,为该第一应用打上的标签。当系统管理模块211确定该事件1指示的第一应用为音视频类应用时,则可以确定电子设备是否进入视频播放场景。本申请实施例中,这种根据第一应用的特征标签确定是否进入视频播放场景的方法也可称为静态识别。
需要说明的是,上述示例是以系统管理模块211在应用市场中实时地对第一应用的特征标签进行查询为例进行说明的,在另一些实现方式中,当电子设备从应用市场下载并安装该第一应用时,即获取并存储了该第一应用的特征标签。此时,系统管理模块211根据事件1确定被启动的应用为第一应用时,即可根据该第一应用的特征标签确定该第一应用是否为音视频类应用。
在另一些实施例中,系统管理模块211还可以监测上述事件2的出现,当事件2出现时,则系统管理模块可以根据该事件2确定音视频播放器已被调用,并据此确定电子设备进入视频播放场景。
在另一些实施例中,为了减少系统负荷,系统管理模块可以仅对事件1或事件2进行监测,并据此确定电子设备是否进入了视频播放场景。其监测和确定方法与上述方法类似,此处不再赘述。在具体的执行过程中,可以根据需求对上述方法灵活取舍,本申请实施例对此不作限制。
S603、电子设备判断是否需要进行分段下载。
当不需要进行分段下载时,执行以下S604。当需要进行分段下载时,执行以下S605-S608。
可以理解的是,结合上述说明,当将要播放的网络视频较大时,对其进行全量缓存会对电子设备造成较大的问题,例如功耗,发热等。但是当将要播放的网络视频较小时,则不会引起上述问题,或造成的额外的功耗以及发热在可接受的范围内。此时对该网络视频进行分段下载反而会影响到对应网络视频的播放。因此,在电子设备由其操作系统确定进入视频播放场景后,可以对将要播放的网络视频进行判断,确定是否需要对该网络视频进行分段下载。
本申请实施例中,可以通过以下多种方法,确定是否需要对该网络视频进行分段下载。
方法1:电子设备可以由该电子设备的操作系统获取该网络视频的播放参数,用于判断是否需要对该网络视频进行分段下载。
示例性的,在电子设备接收到用户输入的上述第一操作后,可以获取播放该网络视频的播放参数。示例性的,当该网络视频被存储在网络中的服务器中时,电子设备可以通过与该服务器的交互,获取该播放参数。
示例性的,结合图2,操作系统中的APP层210中的系统管理模块211可以通过HAL层230以及协议层240向服务器发送握手信息,该握手信息用于请求上述网络视频的播放参数。响应于该握手信息,服务器就可以将对应的播放参数携带在反馈信息中,发送给电子设备。电子设备的操作系统可以通过协议层240以及HAL层230的转发,将该播放参数发送给APP层210中的系统管理模块211。需要说明的是,上述握手信息还可以用于请求其他一些与该网络视频相关的其他信息。例如该网络视频在服务器中的存储位置,存储名称等特征。
其中,该播放参数可以包括该网络视频的数据量和/或播放时长。以下以播放参数包括该网络视频的数据量为例。
在获取播放参数后,系统管理模块211可以根据该播放参数中的数据量,确定是否需要对该网络视频进行分段下载。
示例性的,当该数据量大于第一阈值时,则表明该网络视频的全量缓存会占用较多资源,同时会产生较大的功耗以及发热。此时系统管理模块211就可以确定该网络视频需要进行分段下载。对应的,当该数据量小于第一阈值时,则表明该网络视频的全量缓存不会占用较多资源,也就不会产生较大的功耗以及发热。此时系统管理模块211就可以确定该网络视频不需要进行分段下载。
可以理解的是,当播放参数中包括播放时长时,系统管理模块211可以根据该播放时长与预设的时长之间的大小关系,确定是否需要对该网络视频进行分段下载。示例性的,当所述播放时长大于第二阈值时,则电子设备由操作系统确定该挽留过视频需进行分段下载。
方法2:电子设备可以由其操作系统确定当前的下载网络是否是高速网络。当电子设备处于高速网络时,则确定对网络视频进行分段下载。
可以理解的是,当电子设备当前的可用下载速度较高时,则对网络视频的全量缓存会进一步加剧上述功耗以及发热的问题。因此,在该方案中,电子设备可以由其操作系统确定当前下载速度与预设下载速度的大小关系确定是否要对该网络视频进行分段下载。
示例性的,当当前下载速度大于预设的下载速度时,则确定需要对该网络视频进行分段下载。对应的,当当前下载速度小于预设的下载速度时,则确定不需要对该网络视频进行分段下载。
方法3:电子设备的操作系统可以通过播放该网络视频的第一应用的特征,确定是否需要对该网络视频进行分段下载。
可以理解的是,音视频类应用中,存在一些应用,其功能主要以播放数据量较小的小视频为主。因此,本申请实施例中,电子设备可以由其操作系统,根据播放网络视频的第一应用的特征,确定该网络视频是否需要分段下载。例如,当该第一应用为用于播放小视频的应用时,则电子设备可以确定不需要对对应的网络视频进行分段下载。
需要说明的是,本示例中提供的3中判断方法均可以用于判断网络视频是否需要进行分段下载。在一些实施方式中,可以采用上述3中方法中的任意一种方法进行是否进行分段下载的确定。在另一些实施例方式中,也可以采用上述3中方法中的任意两种或三种方法同时确定是否需要对网络视频进行分段下载。本申请实施例对此不做限制。
S604、电子设备对网络视频进行全量缓存。
当电子设备确定不需要对网络视频进行分段下载时,则可以对其进行全量缓存,以便电子设备在将该网络视频展示给用户时,不会由于网络问题产生播放卡顿的问题。
S605、电子设备发送第一下载请求。
当电子设备的操作系统确定需要对网络视频进行分段下载时,可以生成对应的下载请求(如第一下载请求),用于请求对网络视频中的一部分数据(如第一数据段)进行下载。其中,第一下载请求可以包括用于在指示该第一数据段的起始位置和终止位置等信息,以便服务器可以根据接收到的第一下载请求将对应的第一数据段发送给电子设备。
示例性的,电子设备可以根据第一数据段在网络视频中的位置,确定上述起始字节以及终止字节。例如,以第一数据段的数据量为100兆字节(Megabytes,MB)为例。则该第一数据段的起始字节可以被标记为0MB,其终止字节可以被标记为100MB。又如,以第一数据段的时长为10分钟为例。则该第一数据段的起始字节可以被标记为0分钟,其终止字节可以被标记为10分钟。当然,在其他一些实现方式中,第一下载请求对应第一数据段的终止字节也可以根据预设的所占视频文件的百分比确定。例如,第一数据段可以被设置为大小为网络视频的10%,则其终止字节可以被设置为网络视频全量下载时从起始向后播放10%的数据量/播放时长对应的字节位置。以下以通过数据量标识起始字节以及终止字节为例进行说明。
例如,结合图2,以采用超文本传输协议(Hyper Text Transfer Protocol,HTTP协议)进行分段下载,对应的第一下载请求为HTTP请求1为例。当电子设备200的操作系统中的系统管理模块211确定需要进行分段下载时,可以在HTTP请求1中添加对应的分段下载指示。在一些实施例中,该分段下载指示可以通过在HTTP请求1的报头(Header)中添加Range字段实现。例如,该Range字段可以包括第一数据段的第一个字节的位置和最后一个字节的位置。
作为一种示例,Range字段的格式可以为:Range:(unit=first byte pos)-[lastbyte pos]。其中,first byte pos用于指示第一数据段的第一个字节的位置,last bytepos用于指示第一数据段的最后一个字节的位置。
在生成该HTTP请求1之后,电子设备可以将该HTTP请求1发送给服务器。例如,系统管理模块211可以通过HAL层230执行网优管理,将其分发到协议层230中,并转发给服务器。
作为对该HTTP请求1的响应,服务器可以向电子设备返回对应的第一数据段。在一些实施方式中,服务器还可以在返回包括第一数据段的反馈信息中,添加Content-Range字段。该Content-Range字段可以用于指示响应于HTTP请求1中Range字段的接受范围,以及当反馈信息中包括的数据段(即第一数据段)的大小。作为一种示例,Content-Range字段的格式可以为:Content-Range:bytes(unit first byte pos)-[last byte pos]/[entitylegth]。其中,bytes(unit first byte pos)-[last byte pos]用于指示HTTP请求1中Range字段的接受范围,entity legth用于指示当反馈信息中包括的数据段(即第一数据段)的数据量。
这样,服务器就可以响应于电子设备发送的第一下载请求,将对应的第一数据段发送给电子设备。接着该电子设备可以执行以下S606。
S606、电子设备接收第一数据段并播放。
电子设备可以接收服务器发送的第一数据段。示例性的,电子设备的协议层230可以接收服务器发送的包括该第一数据段的反馈信息,协议层230可以将该反馈信息转发给HAL层230。APP层210就可以通过HAL层230获取该第一数据段。则电子设备就完成了对用户输入第一操作对应想要观看的网络视频的第一次分段下载。一般的,该第一次分段下载获取的第一数据就能够满足用户短时间内的浏览。
当电子设备确定用户会长时间地对该网络视频进行浏览时,则电子设备可以由其操作系统继续对其他的未被下载的网络视频中的部分或全部数据进行下载,即执行以下S607。
示例性的,电子设备可以根据用户对第一数据段的浏览情况,确定是否要继续对其他数据段进行下载。例如,当该第一数据段的播放时长大于第三阈值,或,被播放的该第一数据段的数据量大于第四阈值时,则表明用户可能会长时间地对该网络视频进行浏览。此时电子设备就可以通过其操作系统,生成第二下载请求,用于请求对第二数据段进行下载。其中,该第二下载请求的生成方法及其中与第二数据段对应的字段的设置方法,与第一下载请求类似,此处不再赘述。
可以理解的是,该第二数据段可以是与第一数据段连续的网络视频中的数据段。因此,在一些实施例中,在该第二下载请求中用于指示第二数据段的起始字节可以与第一数据段的终止字节相同。
S607、电子设备发送第二下载请求。
S608、电子设备接收第二数据段。
上述S607-S608的具体执行方式与上述第一下载请求的对应执行方法类似,此处不再赘述。
需要说明的是,本申请实施例中,下载请求,如上述第一下载请求或第二下载请求中还可以使用If-Range、Last-Modified和Etag等字段,以便当网络视频发生变化时,电子设备可以根据这些标识确定是从本地获取所需的数据,还是从网络侧更新对应的数据。
其中,ETag字段为资源的特定版本的标识符。使用Etag可以让缓存更高效,并节省带宽,因为如果内容没有改变,Web服务器不需要发送完整的响应。而如果内容发生了变化,使用ETag有助于防止资源的同时更新相互覆盖(“空中碰撞”)。
If-Range字段为用于标示使得Range头字段在一定条件下起作。如当字段值中的条件得到满足时,Range头字段才会起作用,同时服务器回复206部分内容状态码,以及Range头字段请求的相应部分;如果字段值中的条件没有得到满足,服务器将会返回200OK状态码,并返回完整的请求资源。
Last-Modified字段是一个响应首部,其中包含源头服务器认定的资源做出修改的日期及时间。它通常被用作一个验证器来判断接收到的或者存储的资源是否彼此一致。
示例性的,以下载请求为HTTP请求为例。在一些实施例中,在电子设备和服务器进行针对一个网络视频的第一次数据下载的交互时,服务器可以在反馈信息中增加状态码为200的Etag字段。
在另一些实施例中,在电子设备和服务器进行针对一个网络视频的第二次或其他数据下载的交互时,电子设备可以由其操作系统在发送的HTTP请求中增加If Range字段和/或Last-Modified字段,以及上次接收到数据时对应的Etag字段。服务器在接收到该HTTP请求后,可以通过该HTTP请求中的If Range字段和/或Last-Modified字段以及Etag字段确定进行对应的反馈。例如,当符合If Range字段的要求,可以将接收到的Etag与当前服务器上存储的Etag是否匹配。当Etag匹配时,则在反馈信息中增加状态码为206的Etag字段,并在反馈信息中发送该HTTP请求请求下载的数据段。对应的,当Etag不匹配时,则在反馈信息中增加状态码为200的Etag字段。
这样,电子设备由其操作系统,通过对其应用的运行(如第一应用的启动,和/或音视频播放器的调用)情况的监测,生成对应事件,并根据生成的判断是否需要进行分段下载。电子设备可以由其操作系统生成并发送对应的下载请求,以便从服务器获取完整网络视频中的一部分数据,以支持用户在短时间内的浏览。由此,通过提供操作系统层面的分段下载方法,使得电子设备可以不受单个应用程序的内建策略的限制,为所有的大文件的缓存场景提供分段下载的可能。进而保证对任何大文件的缓存中,都不会出现大量的不会被使用的数据,进而避免过多的不必要的功耗和发热。进一步的,当满足一定条件时,电子设备还可以通过其操作系统生成并发送其他下载请求,以便能够支持用户对该网络视频的长时间观看。
上述主要从电子设备的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参考图7,为本申请实施例提供的一种下载装置700的示意性框图。该下载装置700可以设置于电子设备中,用于执行本申请实施例提供的任意一种多媒体数据的下载方法。
如图7所示,该下载装置700可以包括接收单元701,确定单元702,发送单元703,生成单元704,获取单元705以及播放单元706。
其中,接收单元701,用于接收用户的第一操作,该第一操作用于触发该电子设备通过第一应用进行多媒体数据的播放。示例性的,该接收单元701,可以用于执行如图3所示的S301,和/或如图6所示的S601。
确定单元702,用于确定响应于该第一操作音视频播放器被调用。示例性的,该确定单元702,可以用于执行如图3所示的S302,和/或如图6所示的S602。
发送单元703,用于发送第一下载请求,该第一下载请求用于从服务器下载该多媒体数据的第一数据段,该第一下载请求至少包括:该第一数据段的起始字节和终止字节,该第一数据段的起始字节与该多媒体数据的起始字节相同,该第一数据段的数据量小于该多媒体数据的数据量。示例性的,发送单元703,可以用于执行如图3所示的S303,和/或如图6所示的S605。
在一些可能的设计中,确定单元702,还用于发送第一下载请求之前,确定该第一应用的类型是音视频类应用。
在一些可能的设计中,该生成单元704,用于在确定响应于该第一操作音视频播放器被调用之前,在该音视频播放器被调用时,生成第一事件。该第一事件用于指示该音视频播放器被调用。
该确定单元702,用于确定响应于该第一操作该音视频播放器被调用。
在一些可能的设计中,该生成单元704,用于在确定该第一应用的类型是音视频类应用之前,在该第一应用启动时,生成第二事件。该第二事件用于指示该第一应用被启动。该确定单元702,用于根据该第二事件,确定该第一应用的类型是该音视频类应用。
在一些可能的设计中,该确定单元702,还用于在发送第一下载请求之前,确定该多媒体数据需进行分段下载。
在一些可能的设计中,该获取单元705,用于在确定该多媒体数据需进行分段下载之前,获取该多媒体数据的播放参数,该播放参数包括该多媒体数据的数据量。
该确定单元702,还用于当该数据量大于第一阈值时,确定该多媒体数据需进行分段下载。
在一些可能的设计中,该获取单元705,用于在确定该多媒体数据需进行分段下载之前,获取该多媒体数据的播放参数,该播放参数包括该多媒体数据的播放时长。
该确定单元702,还用于当该播放时长大于第二阈值时,确定该多媒体数据需进行分段下载。
在一些可能的设计中,该确定单元702,还用于确定当前下载速度大于预设下载速度。
在一些可能的设计中,该接收单元701,还用于在发送第一下载请求之后,接收该第一数据段。在该示例中,播放单元706,用于加载并播放该第一数据段。该发送单元703,还用于当该第一数据段的播放时长大于第三阈值,或,已播放的该第一数据段的数据量大于第四阈值时,发送第二下载请求,该第二下载请求用于请求从该服务器下载该多媒体数据的第二数据段,该第二数据段的起始字节与该第一数据段的终止字节相同。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。本申请实施例提供的下载装置700,可以被设置与电子设备中,用于执行电子设备中的操作系统所对应的多媒体数据的下载方法,因此可以达到与上述多媒体数据的下载方法相同的效果。示例性的,该下载装置700可以设置在如图1所示的电子设备100中。其中,该下载装置700的功能也可由其中的处理器110实现。在另一些示例中,该下载装置700可以设置在如图2所示的电子设备200中。其中,该下载装置700的功能也可由其中的操作系统实现。作为可选而不是必须,必要时,本申请实施例提供的下载装置700还可以包括用于支持上述接收单元701和/或确定单元702和/或发送单元703和/或生成单元704和/或获取单元705和/或播放单元706完成相应功能的处理模块或者控制模块。
请参考图8,示出了的一种电子设备800的组成示意图。该电子设备800可以包括:处理器801和存储器802。该存储器802用于存储计算机执行指令。示例性的,在一些实施例中,当该处理器801执行该存储器802存储的指令时,使得该电子设备800执行如图3所示的S301-S303中一个或多个步骤,或者,执行如图6所示的S601-S608中一个或多个步骤,以及电子设备需要执行的其他操作。在一些实施例中,该电子设备800可以为如图1所示的电子设备100。示例性的,处理器801的功能可以通过处理器110实现。存储器802的相关功能可以通过内部存储器121和/或通过外部存储器接口120连接的外部存储器所提供的具有存储功能的器件实现。需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
请参考图9,示出了一种芯片系统900的组成示意图。该芯片系统900包括处理器901和通信接口902,用于支持实现上述装置实施例中所涉及的功能。在一种可能的设计中,芯片系统还包括存储器,用于保存装置必要的程序指令和数据。需要说明的是,该芯片系统900,可以由芯片构成,也可以包含芯片和其他分立器件。需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本申请实施例还提供一种处理器,该处理器与存储器耦合,使得当该处理器执行该存储器中的计算机程序或指令时,以执行上述实施例中的提供的任一种多媒体数据的下载方法。需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在上述实施例中的功能或动作或操作或步骤等,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可以用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (12)
1.一种多媒体数据的下载方法,其特征在于,应用于电子设备,所述方法包括:
所述电子设备接收用户的第一操作,所述第一操作用于触发所述电子设备通过第一应用进行多媒体数据的播放;
所述电子设备由所述操作系统确定响应于所述第一操作音视频播放器被调用;
所述电子设备由所述操作系统发送第一下载请求,所述第一下载请求用于从服务器下载所述多媒体数据的第一数据段,所述第一下载请求至少包括:所述第一数据段的起始字节和终止字节,所述第一数据段的起始字节与所述多媒体数据的起始字节相同,所述第一数据段的数据量小于所述多媒体数据的数据量。
2.根据权利要求1所述的方法,其特征在于,在所述电子设备由所述操作系统发送第一下载请求之前,所述方法还包括:
所述电子设备由所述操作系统确定所述第一应用的类型是音视频类应用。
3.根据权利要求1或2所述的方法,其特征在于,所述操作系统包括:系统管理模块和事件管理模块;
在所述电子设备由所述操作系统确定响应于所述第一操作音视频播放器被调用之前,所述方法还包括:
在所述音视频播放器被调用时,所述电子设备由所述事件管理模块生成第一事件,所述第一事件用于指示所述音视频播放器被调用;
所述电子设备由所述操作系统确定响应于所述第一操作音视频播放器被调用,包括:
所述电子设备由所述系统管理模块根据所述第一事件,确定响应于所述第一操作所述音视频播放器被调用。
4.根据权利要求2所述的方法,其特征在于,所述操作系统包括:系统管理模块和事件管理模块;
在所述电子设备由所述操作系统确定所述第一应用的类型是音视频类应用之前,所述方法还包括:
在所述第一应用启动时,所述电子设备由所述件管理模块生成第二事件,所述第二事件用于指示所述第一应用被启动;
所述电子设备由所述操作系统确定所述第一应用的类型是音视频类应用,包括:
所述电子设备由所系统管理模块根据所述第二事件,确定所述第一应用的类型是所述音视频类应用。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述电子设备由所述操作系统发送第一下载请求之前,所述方法还包括:
所述电子设备由所述操作系统确定所述多媒体数据需进行分段下载。
6.根据权利要求5所述的方法,其特征在于,在所述电子设备由所述操作系统确定所述多媒体数据需进行分段下载之前,还包括:
所述电子设备由所述电子设备的操作系统获取所述多媒体数据的播放参数,所述播放参数包括所述多媒体数据的数据量;
所述电子设备由所述操作系统确定所述多媒体数据需进行分段下载,包括:
当所述数据量大于第一阈值时,所述电子设备由所述操作系统确定所述多媒体数据需进行分段下载。
7.根据权利要求5所述的方法,其特征在于,在所述电子设备由所述操作系统确定所述多媒体数据需进行分段下载之前,还包括:
所述电子设备由所述电子设备的操作系统获取所述多媒体数据的播放参数,所述播放参数包括所述多媒体数据的播放时长;
所述电子设备由所述操作系统确定所述多媒体数据需进行分段下载,包括:
当所述播放时长大于第二阈值时,所述电子设备由所述操作系统确定所述多媒体数据需进行分段下载。
8.根据权利要求5-7中任一项所述的方法,其特征在于,在所述电子设备由所述操作系统确定所述多媒体数据需进行分段下载,包括:
所述电子设备由所述操作系统确定当前下载速度大于预设下载速度。
9.根据权利要求1-8中任一项所述的方法,其特征在于,在所述电子设备由所述操作系统发送第一下载请求之后,所述方法还包括:
所述电子设备由所述操作系统接收所述第一数据段;
所述电子设备由所述操作系统加载并播放所述第一数据段;
当所述第一数据段的播放时长大于第三阈值,或,已播放的所述第一数据段的数据量大于第四阈值时,所述电子设备由所述操作系统发送第二下载请求,所述第二下载请求用于请求从所述服务器下载所述多媒体数据的第二数据段,所述第二数据段的起始字节与所述第一数据段的终止字节相同。
10.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器以及存储器;
其中所述存储器用于存储一个或多个程序;所述一个或多个处理器用于运行所述一个或多个程序,以使得所述电子设备执行如权利要求1-9中任一项所述的多媒体数据的下载方法。
11.一种计算机存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的多媒体数据的下载方法。
12.一种计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1-9中任一项所述的多媒体数据的下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010197563.XA CN113497976A (zh) | 2020-03-19 | 2020-03-19 | 一种多媒体数据的下载方法及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010197563.XA CN113497976A (zh) | 2020-03-19 | 2020-03-19 | 一种多媒体数据的下载方法及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113497976A true CN113497976A (zh) | 2021-10-12 |
Family
ID=77993506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010197563.XA Pending CN113497976A (zh) | 2020-03-19 | 2020-03-19 | 一种多媒体数据的下载方法及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113497976A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394475A (zh) * | 2014-11-28 | 2015-03-04 | 乐视致新电子科技(天津)有限公司 | 一种流媒体文件的播放方法及媒体播放器 |
CN105704505A (zh) * | 2016-02-03 | 2016-06-22 | 国家新闻出版广电总局广播科学研究院 | 一种在智能电视操作系统中支持全媒体播放的方法及智能电视终端 |
WO2017049612A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Smart tracking video recorder |
CN107889160A (zh) * | 2017-11-15 | 2018-04-06 | 北京邮电大学 | 一种考虑用户时延的小小区网络边缘部分缓存方法 |
US20180192164A1 (en) * | 2016-12-31 | 2018-07-05 | Turner Broadcasting System, Inc. | Dynamic scheduling and channel creation based on real-time or near-real-time content context analysis |
CN108769787A (zh) * | 2018-05-28 | 2018-11-06 | 努比亚技术有限公司 | 一种视频自动缓存方法、终端及计算机可读存储介质 |
CN109348280A (zh) * | 2018-10-23 | 2019-02-15 | 深圳Tcl新技术有限公司 | 网络电视节目切换方法、智能电视及计算机可读存储介质 |
CN110139123A (zh) * | 2018-02-02 | 2019-08-16 | 腾讯科技(深圳)有限公司 | 流媒体文件的播放、发送、处理方法和装置 |
CN110324680A (zh) * | 2018-03-30 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 一种视频推送方法、装置及服务器、客户端、存储介质 |
-
2020
- 2020-03-19 CN CN202010197563.XA patent/CN113497976A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104394475A (zh) * | 2014-11-28 | 2015-03-04 | 乐视致新电子科技(天津)有限公司 | 一种流媒体文件的播放方法及媒体播放器 |
WO2017049612A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Smart tracking video recorder |
CN105704505A (zh) * | 2016-02-03 | 2016-06-22 | 国家新闻出版广电总局广播科学研究院 | 一种在智能电视操作系统中支持全媒体播放的方法及智能电视终端 |
US20180192164A1 (en) * | 2016-12-31 | 2018-07-05 | Turner Broadcasting System, Inc. | Dynamic scheduling and channel creation based on real-time or near-real-time content context analysis |
CN107889160A (zh) * | 2017-11-15 | 2018-04-06 | 北京邮电大学 | 一种考虑用户时延的小小区网络边缘部分缓存方法 |
CN110139123A (zh) * | 2018-02-02 | 2019-08-16 | 腾讯科技(深圳)有限公司 | 流媒体文件的播放、发送、处理方法和装置 |
CN110324680A (zh) * | 2018-03-30 | 2019-10-11 | 腾讯科技(深圳)有限公司 | 一种视频推送方法、装置及服务器、客户端、存储介质 |
CN108769787A (zh) * | 2018-05-28 | 2018-11-06 | 努比亚技术有限公司 | 一种视频自动缓存方法、终端及计算机可读存储介质 |
CN109348280A (zh) * | 2018-10-23 | 2019-02-15 | 深圳Tcl新技术有限公司 | 网络电视节目切换方法、智能电视及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113542839B (zh) | 电子设备的投屏方法和电子设备 | |
JP7235871B2 (ja) | データ伝送方法と電子デバイス | |
WO2020014880A1 (zh) | 一种多屏互动方法及设备 | |
CN113923230B (zh) | 数据同步方法、电子设备和计算机可读存储介质 | |
CN111628916B (zh) | 一种智能音箱与电子设备协作的方法及电子设备 | |
WO2021159746A1 (zh) | 文件共享方法、系统及相关设备 | |
WO2021043046A1 (zh) | 一种资源管控方法及设备 | |
WO2021052139A1 (zh) | 手势输入方法及电子设备 | |
WO2021190314A1 (zh) | 触控屏的滑动响应控制方法及装置、电子设备 | |
WO2020056684A1 (zh) | 通过转发模式连接的多tws耳机实现自动翻译的方法及装置 | |
WO2021031865A1 (zh) | 通话方法及装置 | |
CN111316604B (zh) | 一种数据传输方法及电子设备 | |
CN111343326A (zh) | 获取测试日志的方法及相关装置 | |
WO2022037725A1 (zh) | 一种系统服务恢复方法、装置和电子设备 | |
WO2021052388A1 (zh) | 一种视频通信方法及视频通信装置 | |
CN114528581A (zh) | 一种安全显示方法及电子设备 | |
CN113590346B (zh) | 处理业务请求的方法和电子设备 | |
WO2022170854A1 (zh) | 视频通话的方法与相关设备 | |
WO2021110117A1 (zh) | 事件订阅方法及电子设备 | |
CN115248693A (zh) | 一种应用的管理方法和电子设备 | |
CN113497976A (zh) | 一种多媒体数据的下载方法及电子设备 | |
CN114827098A (zh) | 合拍的方法、装置、电子设备和可读存储介质 | |
CN116723384B (zh) | 进程的控制方法、电子设备及可读存储介质 | |
CN115460445B (zh) | 电子设备的投屏方法和电子设备 | |
WO2022247678A1 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211012 |