CN110868643B - 一种视频下载进度的确定方法和装置 - Google Patents
一种视频下载进度的确定方法和装置 Download PDFInfo
- Publication number
- CN110868643B CN110868643B CN201911147254.5A CN201911147254A CN110868643B CN 110868643 B CN110868643 B CN 110868643B CN 201911147254 A CN201911147254 A CN 201911147254A CN 110868643 B CN110868643 B CN 110868643B
- Authority
- CN
- China
- Prior art keywords
- video
- downloading
- target
- downloaded
- text file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- 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
-
- 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/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- 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
- H04N21/8586—Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种视频下载进度的确定方法和装置,该方法包括:获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;根据所述进度参数,确定所述目标视频的下载进度。这样,由于可以通过与目标视频的多个视频片段的下载进度相关的进度参数,确定目标视频的下载进度,无需根据目标视频的总字节数确定下载进度,因此,可以有效避免在无法确定目标视频的总字节数的情况下,无法确定下载进度的问题。
Description
技术领域
本申请涉及流媒体技术领域,尤其涉及一种视频下载进度的确定方法和装置。
背景技术
m3u8格式的视频(以下简称m3u8视频)是一种流媒体视频,通常是由一个m3u8结尾的文本文件和多个视频片段(TS)组成。其中,m3u8结尾的文本文件中通常包含多个视频片段的下载地址,在下载m3u8视频时,可以根据这些下载地址逐个下载每个视频片段,直至所有的视频片段下载成功,得到m3u8视频。
通常,在视频下载过程中,需要根据已下载的字节数和视频的总字节数确定视频的下载进度,其中,视频的总字节数可以在与服务器建立连接后,由服务器返回。然而,m3u8视频包含多个视频片段,多个视频片段需要逐个下载,且在下载过程中,服务器通常仅返回的一个视频片段的字节数,这样,就会导致无法确定多个视频片段(即m3u8视频)的总字节数,进而无法确定m3u8视频的下载进度。
发明内容
本申请实施例提供一种视频下载进度的确定方法和装置,用于解决在下载m3u8格式的视频的过程中,无法确定视频下载进度的问题。
为了解决上述技术问题,本申请是这样实现的:
本申请实施例提供一种视频下载进度的确定方法,包括:
获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;
根据所述进度参数,确定所述目标视频的下载进度。
本申请实施例提供一种装置,包括:
获取单元,获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
下载单元,解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
进度参数确定单元,在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;
下载进度确定单元,根据所述进度参数,确定所述目标视频的下载进度。
本申请实施例提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;
根据所述进度参数,确定所述目标视频的下载进度。
本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;
根据所述进度参数,确定所述目标视频的下载进度。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
本申请实施例提供的技术方案,在下载m3u8格式的目标视频时,由于可以根据目标视频的多个视频片段的下载地址下载目标视频的多个视频片段,并在下载过程中,通过与多个视频片段的下载进度相关的进度参数,确定目标视频的下载进度,无需根据目标视频的总字节数确定目标视频的下载进度,因此,可以有效避免在无法确定目标视频的总字节数的情况下,无法确定视频的下载进度的问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例视频下载进度的确定方法的流程示意图;
图2是本申请的一个实施例视频下载方法的流程示意图;
图3为本申请实施例提供的一种电子设备的结构示意图;
图4为本申请实施例提供的一种视频下载进度的确定装置的结构示意图。
具体实施方式
通常,在视频的下载过程中,可以根据视频的总字节数和已下载的字节数确定视频的下载进度。具体地,在下载视频时,需要与提供该视频的服务器建立连接,在建立连接的情况下,服务器可以将待下载视频的总字节数等信息返回。这样,在视频下载过程中,可以根据服务器返回的总字节数和已经下载的字节数,确定视频的下载进度。
例如,假设待下载视频的总字节数为A,已下载的字节数为B,则视频的下载进度为(B/A)×100%。
然而,针对m3u8格式的视频而言,m3u8视频通常由多个视频片段组合,在下载m3u8视频时,需要逐个下载多个视频片段。其中,在下载每个视频片段时,基于上述视频下载的具体过程可知,服务器仅返回该一个视频片段的总字节数。这样,就会出现在下载m3u8视频的过程中,仅能确定一个视频片段的总字节数,无法确定m3u8视频的总字节数的问题,进而也就无法确定m3u8视频的下载进度。
为了解决上述技术问题,本申请实施例提供一种视频下载进度的确定方法和装置,该方法包括:获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;根据所述进度参数,确定所述目标视频的下载进度。
本申请实施例提供的技术方案,在下载m3u8格式的目标视频时,由于可以根据目标视频的多个视频片段的下载地址下载目标视频的多个视频片段,并在下载过程中,通过与多个视频片段的下载进度相关的进度参数,确定目标视频的下载进度,无需根据目标视频的总字节数确定目标视频的下载进度,因此,可以有效避免在无法确定目标视频的总字节数的情况下,无法确定视频的下载进度的问题。
下面结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例提供的技术方案,除了可以用于确定m3u8格式的视频的下载进度之外,还可以用于确定其他由多个视频片段组合的视频的下载进度。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请实施例提供的一种视频下载进度的确定方法的流程示意图。本实施例的执行主体可以是进行视频下载的终端。所述方法如下所述。
S102:获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址。
m3u8格式的视频通常由一个m3u8结尾的文本文件和多个视频片段组成,其中,该文本文件中包括该多个视频片段的下载地址。本申请实施例在下载格式为m3u8的目标视频时,可以获取目标视频的文本文件。
在获取目标视频的文本文件时,具体可以包括以下步骤:
第一:获取目标视频的下载地址。
例如,针对目标视频A,可以A.m3u8的下载地址http://www.video/a.m3u8。
第二:根据下载地址与服务器建立网络连接。
服务器可以是提供该目标视频的服务器,根据下载地址与服务器建立网络连接可以理解为访问该下载地址。
需要说明的是,这里的与服务器建立网络连接,是为了确定该下载地址是否合法或有效,即服务器是否允许下载该目标视频。其中,若下载地址合法或有效,则可以成功与服务器建立网络设备,且服务器返回成功类型的HTTP状态码(例如200),若下载地址非法或无效,则无法与服务器建立网络连接,且服务器会返回错误类型的HTTP状态码。
第三:若成功建立网络连接,则在本地下载目录中创建目标文件。
若接收到服务器返回的成功类型的HTTP状态码,则可以确定成功与服务器建立网络连接。在成功与服务器建立网络连接的情况下,可以认为下载地址是合法或有效的,服务器允许下载该目标视频,此时,可以启动对目标视频的下载,并在本地的下载目录中创建目标文件,以便后续将目标视频下载到目标文件中。
可选地,若接收到服务器返回的错误类型的HTTP状态码,则可以确定未成功与服务器建立网络连接。在没有成功与服务器建立网络连接的情况下,可以认为下载地址是非法或无效的,服务器不允许下载目标视频,此时可以无需执行后续步骤。在本申请实施例中,可以以成功与服务器建立网络连接为例进行说明。
第四:再次与服务器建立网络连接,并根据下载地址,将文本文件下载到目标文件中。
在启动对目标视频的下载时,需要再次与服务器建立网络连接。需要说明的是,这里的与服务器建立网络连接的目的是为了下载目标视频,与上述确认下载地址是否合法或有效不同。
在再次成功与服务器建立网络连接的情况下,可以根据下载地址,将文本文件下载至上述目标文件中。其中,该文本文件中包括组成目标视频的多个视频片段的下载地址。
第五:从目标文件中获取文本文件。
在将目标视频的文本文件下载到目标文件中后,在获取该文本文件时,可以从目标文件中进行获取。
S104:解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段。
在获取到目标视频的文本文件后,可以解析该文本文件,得到该文本文件中包括的多个视频片段的下载地址,该多个视频片段即为组成目标视频的多个视频片段。
本申请实施例中,解析目标视频的文本文件,得到多个视频片段的下载地址,具体可以包括:
首先,解析文本文件,得到文本文件中包括的多个关键字段。
文本文件中通常可以包括多个关键字段,一个关键字段中可以包括一个视频片段的相关信息,该相关信息中可以包括视频片段的播放时长和视频片段的下载地址。
在对文本文件进行解析后,可以得到文本文件中包括的多个关键字段。
例如,文本文件中包括的文本内容如下:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:5
#EXTINF:4.064,
http://www.video/a/0.ts
#EXTINF:4.0,
http://www.video/a/1.ts
#EXTINF:4.0,
http://www.video/a/2.ts
#EXTINF:4.0,
http://www.video/a/3.ts
#EXTINF:4.0,
http://www.video/a/4.ts
#EXTINF:4.0,
http://www.video/a/5.ts
#EXTINF:4.0,
http://www.video/a/6.ts
#EXTINF:4.0,
http://www.video/a/7.ts
#EXTINF:4.0,
http://www.video/a/8.ts
#EXTINF:4.0,
http://www.video/a/9.ts
#EXTINF:4.0,
http://www.video/a/10.ts
#EXT-X-ENDLIST。
对该文本文件进行解析后,可以得到如下11个关键字段:
#EXTINF:4.064,http://www.video/a/0.ts
#EXTINF:4.0,http://www.video/a/1.ts
#EXTINF:4.0,http://www.video/a/2.ts
#EXTINF:4.0,http://www.video/a/3.ts
#EXTINF:4.0,http://www.video/a/4.ts
#EXTINF:4.0,http://www.video/a/5.ts
#EXTINF:4.0,http://www.video/a/6.ts
#EXTINF:4.0,http://www.video/a/7.ts
#EXTINF:4.0,http://www.video/a/8.ts
#EXTINF:4.0,http://www.video/a/9.ts
#EXTINF:4.0,http://www.video/a/10.ts
上述11个关键字段对应11个视频片段,以第一个关键字段“#EXTINF:4.064,http://www.video/a/0.ts”为例,该关键字段中的4.064即为该关键字段对应的视频片段的播放时长,http://www.video/a/0.ts即为该关键字段对应的视频片段的下载地址。
其次,根据多个关键字段中包括的视频片段的相关信息,得到下载列表,下载列表中包括多个视频片段的下载地址。
仍以上述11个关键字段为例,根据这11个关键字段中包括的视频片段的相关信息,可以得到如下下载列表,该下载列表中包括11个视频片段的下载地址。
http://www.video/a/0.ts
http://www.video/a/1.ts
http://www.video/a/2.ts
http://www.video/a/3.ts
http://www.video/a/4.ts
http://www.video/a/5.ts
http://www.video/a/6.ts
http://www.video/a/7.ts
http://www.video/a/8.ts
http://www.video/a/9.ts
http://www.video/a/10.ts
在得到组成目标视频的多个视频片段的下载地址后,可以根据这些下载地址下载多个视频片段。
本申请实施例中,在下载多个视频片段时,可以使用一个线程下载,也可以使用多个线程下载,在使用多个线程下载时,假设多个线程的个数为t,视频片段的数量为N,则每个线程需要处理(N/t)个视频下载任务,其中,若(N/t)不是整数,则可以选择其中一个线程(如最后一个线程)处理剩余的下载任务。其中,本申请实施例提供的技术方案可以确定每个线程上下载的多个视频片段的下载进度。为了便于理解,以下可以以使用一个线程下载多个视频片段为例进行说明。
S106:在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数。
本申请实施例中,与多个视频片段的下载进度相关的进度参数至少可以包括:多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数。
其中,多个视频片段的个数等于解析得到的下载地址的个数,已下载的视频片段个数可以由下载终端统计得到,正在下载的视频片段的总字节数可以由提供目标视频的服务器返回,正在下载的视频片段的已下载字节数可以由下载终端确定得到。
S108:根据所述进度参数,确定所述目标视频的下载进度。
本申请实施例中,考虑到在一般情况下,组成目标视频的多个视频片段的播放时长大致相同,在播放时长大致相同的情况下,多个视频片段的大小也大致相同,因此,在进度参数至少包括上述多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数的情况下,可以通过以下公式确定目标视频的下载进度:
例如,假设组成目标视频的视频片段的个数为10,这10个视频由1个线程下载,当前已下载的视频片段的个数为4,正在下载的1个视频片段的总字节数为200kb,已下载字节数为100kb,那么,当前的下载进度为:(100/200+4)/10*100%=45%。
需要说明的是,在组成目标视频的多个视频片段的播放时长的差异小于或等于预设阈值(对应多个视频片段的播放时长的差异小于或等于预设阈值)的情况下,都可以通过上述公式确定目标视频的下载进度。其中,预设阈值可以根据下载进度的准确率人为设定。
还需要说明的是,在个别情况下,多个视频片段的播放时长的差异可能大于预设阈值,相应地,多个视频片段的总字节数的大小差异也大于预设阈值,那么,上述确定下载进度的方法可能不再适用。在这种情况下,为了确定目标视频的下载进度,可以根据多个视频片段的播放时长的大小关系,确定多个视频片段的总字节数之间的大小关系,进而在已知多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数的情况下,确定下载进度。
其中,视频片段的播放时长可以根据上述S104中解析得到的关键字段确定得到,一个关键字段中包括一个视频片段的相关信息,该相关信息中包括视频片段的播放时长。
仍以上述由1个线程下载的10个视频片段为例,假设已下载的4个视频片段为A、B、C和D,正在下载的视频片段为E,未下载的视频片段为F、G、H、I和J,A、B和C的播放时长为E的2倍,D和F的播放时长与E相同,G、H、I和J的播放时长为E的1.5倍,那么,可以认为A、B和C的总字节数为E的2倍,D和F的总字节数与E相同,G、H、I和J的总字节数为E的1.5倍,已知E的总字节数为200kb,已下载的字节数为100kb,那么,当前的下载进度为:[(200×2×3+200+100)/(200×2×3+200×3+200×1.5×3)]×100%=55.6%。
在确定目标视频的下载进度后,可选地,可以在下载界面中展示该下载进度,以便用户可以清楚地了解当前目标视频的下载进度。
可选地,针对每个视频片段,在下载完成该视频片段后,还可以对视频片段命名。在命名时,优选地,可以根据该视频片段在上述S104记载的下载列表中的索引,对视频片段命名。
以上述包括11个视频片段的下载地址下载列表为例,列表中第一个视频片段的下载地址http://www.video/a/0.ts在列表中的位置为0,那么,该第一个视频片段可以命名为0.ts;第二个视频片段的下载地址http://www.video/a/1.ts在列表中的位置为1,那么,该第二个视频片段可以命名为1.ts;……;以此类推,最后一个视频片段可以命名为10.ts。
在对视频片段命名后,可以存储该视频片段。优选地,可以将视频片段存储在上述S102记载的目标文件中。
在基于上述方法命名并存储目标视频的多个视频片段后,还可以对目标视频的文本文件进行更新。
具体地,在存储目标视频的多个视频片段后,可以确定多个视频片段的存储路径,然后将文本文件中包括的多个视频片段的下载地址,替换为多个视频片段的存储路径,从而更新目标视频的文本文件。
以上述包括11个视频片段的下载地址的文本文件为例,假设将命名后的11个视频片段存储在本地SD卡的download文件下的目标文件A中,那么,这11个视频片段的存储路径可以是:
sdcard/download/A/0.ts
sdcard/download/A/1.ts
sdcard/download/A/2.ts
sdcard/download/A/3.ts
sdcard/download/A/4.ts
sdcard/download/A/5.ts
sdcard/download/A/6.ts
sdcard/download/A/7.ts
sdcard/download/A/8.ts
sdcard/download/A/9.ts
sdcard/download/A/10.ts
将文本文件中11个视频片段的下载地址替换为上述11个视频片段的存储路径,可以得到如下更新后的文本文件:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:5
#EXTINF:4.064,
sdcard/download/A/0.ts
#EXTINF:4.0,
sdcard/download/A/1.ts
#EXTINF:4.0,
sdcard/download/A/2.ts
#EXTINF:4.0,
sdcard/download/A/3.ts
#EXTINF:4.0,
sdcard/download/A/4.ts
#EXTINF:4.0,
sdcard/download/A/5.ts
#EXTINF:4.0,
sdcard/download/A/6.ts
#EXTINF:4.0,
sdcard/download/A/7.ts
#EXTINF:4.0,
sdcard/download/A/8.ts
#EXTINF:4.0,
sdcard/download/A/9.ts
#EXTINF:4.0,
sdcard/download/A/10.ts
#EXT-X-ENDLIST
在得到更新后的文本文件后,在播放目标视频时,可以从文本文件中包括的多个视频片段的存储路径中读取多个视频片段,从而实现对目标视频的播放。
本申请实施例提供的技术方案,在下载m3u8格式的目标视频时,由于可以根据目标视频的多个视频片段的下载地址下载目标视频的多个视频片段,并在下载过程中,通过与多个视频片段的下载进度相关的进度参数,确定目标视频的下载进度,无需根据目标视频的总字节数确定目标视频的下载进度,因此,可以有效避免在无法确定目标视频的总字节数的情况下,无法确定视频的下载进度的问题。
为了便于理解下载m3u8格式的目标视频时如何确定下载进度,以及整个下载过程,可以参见图2。图2为本申请的一个实施例视频下载方法的流程示意图,具体可以包括以下步骤:
S201:获取目标视频的下载地址。
S202:根据下载地址与服务器建立网络连接。
服务器可以是提供目标视频的服务器,与服务器建立网络连接可以理解为访问目标视频的下载地址。
S203:是否成功与服务器建立网络连接。
若接收到服务器返回的成功类型的HTTP状态码,则可以确认成功与服务器建立网络连接,此时可以说明目标视频的下载地址是合法有效的,可以执行S204;若接收到服务器返回的错误类型的HTTP状态码,则可以确认没有成功与服务器建立网络连接,此时可以说明目标视频的下载地址是非法无效的,可以执行S215。
S204:在本地下载目录中创建目标文件。
该目标文件可以用于存储目标视频的文本文件和多个视频片段。
S205:再次与服务器建立网络连接,并根据下载地址,将目标视频的文本文件下载到目标文件中。
S206:从目标文件中获取目标视频的文本文件。
S207:解析目标视频的文本文件,得到文本文件中包括的多个关键字段。
一个关键字段中包括一个视频片段的相关信息,该相关信息中可以包括视频片段的播放时长和下载地址。
S208:根据多个关键字段,得到包括多个视频片段的下载地址的下载列表。
S209:根据多个视频片段的下载地址下载多个视频片段。
在下载多个视频片段时,可以使用一个线程下载,也可以使用多个线程下载,后续确定的下载进度可以是每个线程上下载的多个视频片段的下载进度。
S210:在下载多个视频片段的过程中,确定与多个视频片段的下载进度相关的进度参数。
进度参数至少可以包括:多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数。
S211:根据进度参数,确定目标视频的下载进度。
在确定下载进度时,优选地,考虑到在一般情况下,组成目标视频的多个视频片段的播放时长大致相同,在播放时长大致相同的情况下,多个视频片段的大小也大致相同,因此,在多个视频片段的播放时长的差异小于或等于预设阈值(对应多个视频片段的总字节数的差异小于或等于预设阈值)的情况下,可以通过以下公式确定目标视频的下载进度:
可选地,考虑到个别情况下,组成目标视频的多个视频片段的播放时长的差异可能大于预设阈值(对应多个视频片段的总字节数的差异大于预设阈值),此时,可以根据多个视频中正在下载的视频的播放时长与其他视频片段的播放时长的大小关系,确定正在下载的视频的总字节数与其他视频片段的总字节数之间的大小关系,进而确定目标视频的播放时长。具体可以参见上述S108中相应步骤的具体实现,这里不再详细说明。
S212:在下载完成每个视频片段后,根据视频片段的下载地址在下载列表中的索引,对每个视频片段命名。
例如,视频片段在的下载地址在下载列表中的位置为i,那么,该视频片段可以命名为i.ts。
S213:将命名后的多个视频片段存储在目标文件中。
S214:将文本文件中多个视频的下载地址替换为多个视频的存储路径,得到更新后的文本文件。
在得到更新后的文本文件后,在播放目标视频时,可以根据跟新后的文本文件中的存储路径,读取多个视频片段,实现对目标视频的播放。
S215:结束。
图2所示的实施例提供一种视频下载方法,在视频下载过程中,可以通过与多个视频片段的下载进度相关的进度参数确定目标视频的下载进度,无需根据目标视频的总字节数确定视频的下载进度,可以有效避免在无法确定目标视频的总字节数的情况下,无法确定下载进度的问题。此外,在下载得到多个视频片段后,通过对多个视频片段进行命名和存储,并由多个视频片段的存储路径替换目标视频的文本文件中的下载地址,可以在播放目标视频时,方便地基于视频片段的存储路径实现目标视频的播放。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图3是本申请的一个实施例电子设备的结构示意图。请参考图3,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成视频下载进度的确定装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;
根据所述进度参数,确定所述目标视频的下载进度。
上述如本申请图3所示实施例揭示的视频下载进度的确定装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1和图2的方法,并实现视频下载进度的确定装置在图1和图2所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1和图2所示实施例的方法,并具体用于执行以下操作:
获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;
根据所述进度参数,确定所述目标视频的下载进度。
图4为本申请实施例提供的一种视频下载进度的确定装置的结构示意图。具体可以包括:获取单元41、下载单元42、进度参数确定单元43以及下载进度确定单元44,其中:
获取单元41,获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
下载单元42,解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
进度参数确定单元43,在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数;
下载进度确定单元44,根据所述进度参数,确定所述目标视频的下载进度。
可选地,所述进度参数包括所述多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数。
可选地,所述下载进度确定单元44,根据所述进度参数,确定所述目标视频的下载进度,包括:
通过以下公式确定所述目标视频的下载进度:
可选地,所述获取单元41,获取目标视频的文本文件,包括:
获取所述目标视频的下载地址;
根据所述目标视频的下载地址与服务器建立网络连接;
若成功建立所述网络连接,则在本地下载目录中创建目标文件;
再次与所述服务器建立网络连接,并根据所述目标视频的下载地址,将所述文本文件下载到所述目标文件中;
从所述目标文件中获取所述文本文件。
可选地,所述下载单元42,解析所述文本文件,得到所述多个视频片段的下载地址,包括:
解析所述文本文件,得到所述文本文件中包括的多个关键字段,一个关键字段中包括一个视频片段的相关信息;
根据所述多个关键字段中包括的视频片段的相关信息,得到下载列表,所述下载列表中包括所述多个视频片段的下载地址。
可选地,所述视频下载进度的确定装置40还包括存储单元45,其中:
针对每个视频片段,所述存储单元45在所述下载单元42下载完成所述视频片段后,根据所述视频片段的下载地址在所述下载列表中的索引,对所述视频片段命名;
存储所述视频片段。
可选地,所述存储单元45,在存储所述多个视频片段后,确定所述多个视频片段的存储路径;
将所述文本文件中包括的所述多个视频片段的下载地址,替换为所述多个视频片段的存储路径,以更新所述文本文件。
本申请实施例提供的视频下载进度的确定装置40还可执行图1和图2的方法,并实现视频下载进度的确定装置在图1和图2所示实施例的功能,本申请实施例在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
Claims (7)
1.一种视频下载进度的确定方法,其特征在于,包括:
获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数,所述进度参数包括所述多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数;
在所述多个视频片段的大小差异小于或等于预设阈值的情况下,通过以下公式确定所述目标视频的下载进度:
其中,获取目标视频的文本文件,包括:
获取所述目标视频的下载地址;
根据所述目标视频的下载地址与服务器建立网络连接;
若成功建立所述网络连接,则在本地下载目录中创建目标文件;
再次与所述服务器建立网络连接,并根据所述目标视频的下载地址,将所述文本文件下载到所述目标文件中;
从所述目标文件中获取所述文本文件。
2.如权利要求1所述的方法,其特征在于,解析所述文本文件,得到所述多个视频片段的下载地址,包括:
解析所述文本文件,得到所述文本文件中包括的多个关键字段,一个关键字段中包括一个视频片段的相关信息;
根据所述多个关键字段中包括的视频片段的相关信息,得到下载列表,所述下载列表中包括所述多个视频片段的下载地址。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
针对每个视频片段,在下载完成所述视频片段后,根据所述视频片段的下载地址在所述下载列表中的索引,对所述视频片段命名;
存储所述视频片段。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
在存储所述多个视频片段后,确定所述多个视频片段的存储路径;
将所述文本文件中包括的所述多个视频片段的下载地址,替换为所述多个视频片段的存储路径,以更新所述文本文件。
5.一种视频下载进度的确定装置,其特征在于,包括:
获取单元,获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
下载单元,解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
进度参数确定单元,在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数,所述进度参数包括所述多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数;
下载进度确定单元,在所述多个视频片段的大小差异小于或等于预设阈值的情况下,通过以下公式确定所述目标视频的下载进度:
其中,所述获取单元,获取目标视频的文本文件,包括:
获取所述目标视频的下载地址;
根据所述目标视频的下载地址与服务器建立网络连接;
若成功建立所述网络连接,则在本地下载目录中创建目标文件;
再次与所述服务器建立网络连接,并根据所述目标视频的下载地址,将所述文本文件下载到所述目标文件中;
从所述目标文件中获取所述文本文件。
6.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数,所述进度参数包括所述多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数;
在所述多个视频片段的大小差异小于或等于预设阈值的情况下,通过以下公式确定所述目标视频的下载进度:
其中,获取目标视频的文本文件,包括:
获取所述目标视频的下载地址;
根据所述目标视频的下载地址与服务器建立网络连接;
若成功建立所述网络连接,则在本地下载目录中创建目标文件;
再次与所述服务器建立网络连接,并根据所述目标视频的下载地址,将所述文本文件下载到所述目标文件中;
从所述目标文件中获取所述文本文件。
7.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取目标视频的文本文件,所述目标视频的格式为m3u8,所述文本文件中包括所述目标视频的多个视频片段的下载地址;
解析所述文本文件,得到所述多个视频片段的下载地址,并根据所述下载地址下载所述多个视频片段;
在下载所述多个视频片段的过程中,确定与所述多个视频片段的下载进度相关的进度参数,所述进度参数包括所述多个视频片段的个数、已下载的视频片段的个数、正在下载的视频片段的总字节数和已下载字节数;
在所述多个视频片段的大小差异小于或等于预设阈值的情况下,通过以下公式确定所述目标视频的下载进度:
其中,获取目标视频的文本文件,包括:
获取所述目标视频的下载地址;
根据所述目标视频的下载地址与服务器建立网络连接;
若成功建立所述网络连接,则在本地下载目录中创建目标文件;
再次与所述服务器建立网络连接,并根据所述目标视频的下载地址,将所述文本文件下载到所述目标文件中;
从所述目标文件中获取所述文本文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147254.5A CN110868643B (zh) | 2019-11-21 | 2019-11-21 | 一种视频下载进度的确定方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147254.5A CN110868643B (zh) | 2019-11-21 | 2019-11-21 | 一种视频下载进度的确定方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110868643A CN110868643A (zh) | 2020-03-06 |
CN110868643B true CN110868643B (zh) | 2022-04-26 |
Family
ID=69655882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911147254.5A Active CN110868643B (zh) | 2019-11-21 | 2019-11-21 | 一种视频下载进度的确定方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110868643B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113810773B (zh) * | 2021-09-17 | 2024-03-01 | 北京百度网讯科技有限公司 | 视频下载方法及装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104244079A (zh) * | 2013-06-07 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种视频下载方法及装置 |
CN108924630A (zh) * | 2018-05-29 | 2018-11-30 | 武汉斗鱼网络科技有限公司 | 一种显示缓存进度的方法和播放设备 |
JP2019036787A (ja) * | 2017-08-10 | 2019-03-07 | 株式会社ミクシィ | 情報処理装置、動画配信方法、及び動画配信プログラム |
CN109688483A (zh) * | 2018-12-17 | 2019-04-26 | 北京爱奇艺科技有限公司 | 一种获取视频的方法、装置及电子设备 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217638B (zh) * | 2007-12-28 | 2012-10-24 | 深圳市迅雷网络技术有限公司 | 视频文件分段下载的方法、***及装置 |
US20130080267A1 (en) * | 2011-09-26 | 2013-03-28 | Unicorn Media, Inc. | Single-url content delivery |
CN103024456B (zh) * | 2011-09-27 | 2016-02-24 | 腾讯科技(深圳)有限公司 | 一种在线视频播放方法及视频播放服务器 |
CN103648019A (zh) * | 2013-11-29 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种基于hls协议的视频下载方法及其装置 |
CN103826159B (zh) * | 2013-12-04 | 2017-12-19 | Tcl集团股份有限公司 | 一种m3u8格式视频的本地离线播放方法和终端 |
US20170257423A1 (en) * | 2016-03-02 | 2017-09-07 | Le Holdings (Beijing) Co., Ltd. | Method of automatically downloading video based on a user flag and electronic device |
CN106331788A (zh) * | 2016-08-31 | 2017-01-11 | 乐视控股(北京)有限公司 | 一种视频下载方法及装置 |
CN108769830B (zh) * | 2018-05-29 | 2021-05-28 | 武汉斗鱼网络科技有限公司 | 一种缓存视频的方法以及相关设备 |
CN108965910B (zh) * | 2018-08-09 | 2022-05-10 | 网宿科技股份有限公司 | 一种视频缓存方法及播放器 |
-
2019
- 2019-11-21 CN CN201911147254.5A patent/CN110868643B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104244079A (zh) * | 2013-06-07 | 2014-12-24 | 腾讯科技(深圳)有限公司 | 一种视频下载方法及装置 |
JP2019036787A (ja) * | 2017-08-10 | 2019-03-07 | 株式会社ミクシィ | 情報処理装置、動画配信方法、及び動画配信プログラム |
CN108924630A (zh) * | 2018-05-29 | 2018-11-30 | 武汉斗鱼网络科技有限公司 | 一种显示缓存进度的方法和播放设备 |
CN109688483A (zh) * | 2018-12-17 | 2019-04-26 | 北京爱奇艺科技有限公司 | 一种获取视频的方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110868643A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109639636B (zh) | 业务数据转发、业务数据处理方法、装置及电子设备 | |
US11081108B2 (en) | Interaction method and apparatus | |
CN102761623B (zh) | 资源自适配下载方法、***、数据存储服务器、以及通信*** | |
CN111241040B (zh) | 信息获取方法、装置、电子设备及计算机存储介质 | |
CN108228293B (zh) | 一种界面皮肤切换方法及装置 | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
CN107528885B (zh) | 一种业务请求处理方法及装置 | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
CN114064594B (zh) | 数据处理方法和装置 | |
CN109660859A (zh) | 一种动画展示方法和移动终端 | |
CN111225018A (zh) | 一种请求报文处理方法、装置和电子设备 | |
CN110868643B (zh) | 一种视频下载进度的确定方法和装置 | |
CN110891051B (zh) | 流媒体直播播放方法、装置及计算机可读存储介质 | |
CN112286706B (zh) | 安卓应用的应用信息远程快速获取方法及相关设备 | |
CN112218166A (zh) | 一种对点播视频记忆播放的启播方法及相关装置 | |
CN114268538A (zh) | 前端路由的配置方法和装置 | |
CN109345081B (zh) | 一种数据采集方法、装置及电子设备 | |
CN103646054A (zh) | 播放多媒体数据的方法和浏览器装置 | |
CN111031117B (zh) | 一种多媒体文件下载方法及相关装置 | |
CN110334267B (zh) | 一种基于区块链的内容搜索方法、装置及电子设备 | |
CN108446144B (zh) | 一种应用程序启动方法、装置、终端及存储介质 | |
CN111046308A (zh) | 一种页面加载方法及装置 | |
CN116033009A (zh) | 一种应用的推送方法、装置、设备及存储介质 | |
CN111625721B (zh) | 内容推荐方法及装置 | |
CN112463746B (zh) | 一种文件存储、生成方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |