一种视频流下载方法及其设备的制造方法

xiaoxiao2021-2-23  100

一种视频流下载方法及其设备的制造方法
【技术领域】
[0001 ]本发明涉及计算机技术领域,尤其涉及一种视频流下载方法及其设备。
【背景技术】
[0002]随着计算机技术不断的开发和完善,现有的视频网页或视频播放器大多采用HLS(HTTP Live Streaming)技术实现视频直播,由于HLS技术是基于HLS协议将直播视频存储为连续的、短时长的多个视频流文件,并通过M3U8的视频流索引文件实现视频流的有序下载,因而采用HLS技术方便视频终端对视频流进行下载、切换码率等,并适应不同带宽条件下的直播。然而基于HLS技术的视频直播过程中,容易出现网络环境不稳定或者视频服务器不稳定的情况,导致视频流索引文件或视频流无法成功下载,进而导致直播视频无法正常播放,影响了直播视频播放的稳定性。

【发明内容】

[0003]本发明实施例提供一种视频流下载方法及其设备,可以在视频流下载异常的情况下实现视频流索引文件以及视频流的重下载处理,保证直播视频播放的稳定性,提升直播视频播放的效果。
[0004]本发明实施例第一方面提供了一种视频流下载方法,可包括:
[0005]获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址;
[0006]当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理;
[0007]若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时执行根据所述视频流索引信息获取目标视频流对应的视频流地址的步骤。
[0008]本发明实施例第二方面提供了一种视频流下载设备,可包括:
[0009]地址获取单元,用于获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址;
[0010]下载处理单元,用于当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理;
[0011 ]获取处理单元,用于若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时通知所述地址获取单元执行根据所述视频流索引信息获取目标视频流对应的视频流地址。
[0012]在本发明实施例中,通过获取当前直播视频的视频流索引信息,并根据视频流索引信息获取目标视频流对应的视频流地址,在检测到基于视频流地址未成功下载到目标视频流时,可以基于视频流地址对目标视频流进行第一下载处理,若进行第一下载处理的处理结果未满足预设下载结果,则对直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时再次从头执行根据视频流索引信息获取目标视频流对应的视频流地址的步骤。在目标视频流未成功下载时,可以利用当前的视频流地址尝试对目标视频流再次进行下载,若仍未满足预设下载结果,则可以对视频流索引信息进行重获取,并再次利用重获取后的视频流索引信息中包含的视频流地址对目标视频流进行下载,实现了在视频流下载异常的情况下对视频流索引文件以及视频流的重下载处理的过程,提升了视频流下载的成功率,进而保证了直播视频播放的稳定性,提升了直播视频播放的效果。
【附图说明】
[0013]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1是本发明实施例提供的一种视频流下载方法的流程示意图;
[0015]图2是本发明实施例提供的另一种视频流下载方法的流程示意图;
[0016]图3是本发明实施例提供的一种视频流下载设备的结构示意图;
[0017]图4是本发明实施例提供的地址获取单元的结构示意图;
[0018]图5是本发明实施例提供的下载处理单元的结构示意图;
[0019]图6是本发明实施例提供的获取处理单元的结构示意图;
[0020]图7是本发明实施例提供的另一种视频流下载设备的结构示意图;
[0021 ]图8是本发明实施例提供的又一种视频流下载设备的结构示意图。
【具体实施方式】
[0022]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023]本发明实施例提供的视频流下载方法可以应用于基于HLS技术的视频直播的场景,例如:视频流下载设备获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址,当检测到基于所述视频流地址未成功下载到所述目标视频流时,所述视频流下载设备基于所述视频流地址对所述目标视频流进行第一下载处理,若进行第一下载处理的处理结果未满足预设下载结果,则所述视频流下载设备对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时执行根据所述视频流索引信息获取目标视频流对应的视频流地址的步骤的场景等。在目标视频流未成功下载时,可以利用当前的视频流地址尝试对目标视频流再次进行下载,若仍未满足预设下载结果,则可以对视频流索引信息进行重获取,并再次利用重获取后的视频流索引信息中包含的视频流地址对目标视频流进行下载,实现了在视频流下载异常的情况下对视频流索引文件以及视频流的重下载处理的过程,提升了视频流下载的成功率,进而保证了直播视频播放的稳定性,提升了直播视频播放的效果。
[0024]本发明实施例涉及的视频流下载设备可以包括:平板电脑、智能手机、笔记本电脑、掌上电脑、个人计算机以及移动互联网设备(MID)等具备视频流下载以及视频播放等功能在内的终端设备,或者为所述终端设备中的视频流下载模块。
[0025]下面将结合附图1和附图2,对本发明实施例提供的一种视频流下载方法进行详细介绍。
[0026]请参见图1,为本发明实施例提供了一种视频流下载方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S104。
[0027]S101,获取当前直播视频的视频流索引信息;
[0028]具体的,视频流下载设备可以获取当前直播视频的视频流索引信息,优选的,所述视频流下载设备可以采用当前直播视频的地址信息获取所述直播视频的视频流索引信息,所述视频流索引信息为基于HLS协议中的M3U8索引文件,所述视频流索引信息用于记录所述直播视频中各视频流的地址信息、各视频流的时长大小、视频流的加密信息、视频流的码率信息以及各视频流间的视频流下载顺序等。
[0029]S102,根据所述视频流索引信息获取目标视频流对应的视频流地址;
[0030]具体的,所述视频流下载设备解析所述视频流索引信息,以获取所述视频流索引信息中的各视频流的地址信息、各视频流的时长大小、视频流的加密信息、视频流的码率信息以及各视频流间的视频流下载顺序等,所述视频流下载设备可以按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址,所述目标视频流为按照所述视频流下载顺序排列在当前待下载的至少一个视频流中的第一个视频流。所述视频流下载设备可以基于所述视频流地址下载所述目标视频流。
[0031]可以理解的是,对于已下载过的视频流,所述视频流下载设备可以对其设置已下载的标识,以区分已下载的视频流以及待下载的视频流。
[0032]S103,当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理;
[0033]具体的,当检测到基于所述视频流地址未成功下载到所述目标视频流时,所述视频流下载设备可以基于所述视频流地址对所述目标视频流进行第一下载处理,需要说明的是,对所述目标视频流进行第一下载处理与前述下载所述目标视频流均是对目标视频流的下载处理过程,对所述目标视频流进行第一下载处理用于表示在前述下载所述目标视频流不成功的情景下,再次对所述目标视频流进行尝试下载的过程,此处采用第一下载处理的命名方式仅为了与前述下载所述目标视频流的过程进行区分。当进行第一下载处理后仍然未成功下载到所述目标视频流时,所述视频流下载设备可以确定进行第一下载处理的处理结果未满足预设下载结果。
[0034]可以理解的是,由于存在网络环境不稳定或者视频服务器不稳定的因素,因此在下载目标视频流的过程中会出现下载中断或者未获取到对应的视频流的情况,因此,通过对目标视频流进行尝试重下载处理,可以降低不稳定因素的影响,提升了视频流下载的成功率。
[0035]S104,若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理;
[0036]具体的,若进行第一下载处理的处理结果未满足预设下载结果,则所述视频流下载设备可以采用所述直播视频的地址信息对所述视频流索引信息进行第一获取处理,需要说明的是,对所述视频流索引信息进行第一获取处理与前述获取所述视频流索引信息均是对视频流索引信息的获取处理过程,对所述视频流索引信息进行 第一获取处理用于表示在前述进行第一下载处理的处理结果未满足预设下载结果的情景下,再次对所述视频流索引信息进行重新获取的过程,此处采用第一获取处理的命名方式仅为了与前述获取所述视频流索引信息的过程进行区分。当进行第一获取处理后成功获取到所述视频流索引信息时,所述视频流下载设备可以确定进行第一获取处理的处理结果满足预设获取结果,所述视频流下载设备可以转入执行步骤S102,重新执行本发明实施例的步骤S102-S104。
[0037]可以理解的是,由于是视频直播的场景,视频流索引信息为实时更新的信息,每次获取的视频流索引信息中的可能存在不同的内容,容易导致时长切分不稳定的情况,同时由于存在网络环境不稳定或者视频服务器不稳定的因素,容易出现在获取视频流索引信息的过程中会出现获取中断或者未获取到对应的视频流索引信息的情况,因此通过对视频流索引信息进行尝试重获取处理,并重新执行对目标视频流的下载处理过程,可以降低不稳定因素的影响,提升了视频流下载的成功率。
[0038]在本发明实施例中,通过获取当前直播视频的视频流索引信息,并根据视频流索引信息获取目标视频流对应的视频流地址,在检测到基于视频流地址未成功下载到目标视频流时,可以基于视频流地址对目标视频流进行第一下载处理,若进行第一下载处理的处理结果未满足预设下载结果,则对直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时再次从头执行根据视频流索引信息获取目标视频流对应的视频流地址的步骤。在目标视频流未成功下载时,可以利用当前的视频流地址尝试对目标视频流再次进行下载,若仍未满足预设下载结果,则可以对视频流索引信息进行重获取,并再次利用重获取后的视频流索引信息中包含的视频流地址对目标视频流进行下载,实现了在视频流下载异常的情况下对视频流索引文件以及视频流的重下载处理的过程,提升了视频流下载的成功率,进而保证了直播视频播放的稳定性,提升了直播视频播放的效果。
[0039]请参见图2,为本发明实施例提供了另一种视频流下载方法的流程示意图。如图2所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S210。
[0040]S201,创建并初始化视频流缓存;
[0041 ]具体的,当检测到所显示视频播放按钮存在触发信息时,例如:存在点击操作或者触摸选择操作等,视频流下载设备可以创建视频播放进程,所述视频流下载设备进一步创建并初始化视频流缓存,可选的,在直播视频播放前端,所述视频流下载设备还需要创建视频播放界面,并初始化视频流解码器,以对后续所述视频流缓存中的视频流进行解码并播放。
[0042]S202,采用当前直播视频的地址信息获取所述直播视频的视频流索引信息;
[0043]具体的,所述视频流下载设备可以采用当前直播视频的地址信息获取所述直播视频的视频流索引信息,所述视频流索引信息为基于HLS协议中的M3U8索引文件,所述视频流索引信息用于记录所述直播视频中各视频流的地址信息、各视频流的时长大小、视频流的加密信息、视频流的码率信息以及各视频流间的视频流下载顺序等。
[0044]S203,获取所述直播视频的视频流索引信息所指示的视频流下载顺序,并按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址;
[0045]具体的,所述视频流下载设备解析所述视频流索引信息,以获取所述视频流索引信息中的各视频流的地址信息、各视频流的时长大小、视频流的加密信息、视频流的码率信息以及各视频流间的视频流下载顺序等,所述视频流下载设备可以按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址,所述目标视频流为按照所述视频流下载顺序排列在当前待下载的至少一个视频流中的第一个视频流。所述视频流下载设备可以基于所述视频流地址下载所述目标视频流。
[0046]可以理解的是,对于已下载过的视频流,所述视频流下载设备可以对其设置已下载的标识,以区分已下载的视频流以及待下载的视频流。
[0047]S204,当检测到基于所述视频流地址成功下载到所述目标视频流时,获取所述目标视频流;
[0048]具体的,当检测到基于所述视频流地址成功下载到所述目标视频流时,所述视频流下载设备可以获取所述目标视频流,优选的,所述视频流下载设备可以将成功下载的所述目标视频流保存至所述视频流缓存中以等待播放。此时,所述视频流下载设备可以按照所述视频流下载顺序对下一个目标视频流进行下载,可以理解的是,对下一个目标视频流进行下载的过程可以参见本发明实施例提供的实施方式,在此不进行赘述。
[0049]S205,当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址重复对所述目标视频流进行第一下载处理;
[0050]具体的,当检测到基于所述视频流地址未成功下载到所述目标视频流时,所述视频流下载设备可以基于所述视频流地址重复对所述目标视频流进行第一下载处理,同时,所述视频流下载设备可以对进行第一下载处理的下载次数进行统计,例如:采用计数器等。需要说明的是,对所述目标视频流进行第一下载处理与前述下载所述目标视频流均是对目标视频流的下载处理过程,对所述目标视频流进行第一下载处理用于表示在前述下载所述目标视频流不成功的情景下,再次对所述目标视频流进行尝试下载的过程,此处采用第一下载处理的命名方式仅为了与前述下载所述目标视频流的过程进行区分。
[0051]S206,当进行第一下载处理的下载次数小于或等于第一次数阈值且成功下载到所述目标视频流时,获取所述目标视频流;
[0052]具体的,当进行第一下载处理的下载次数小于或等于第一次数阈值且成功下载到所述目标视频流时,所述视频流下载设备可以获取所述目标视频流,优选的,所述视频流下载设备可以将成功下载的所述目标视频流保存至所述视频流缓存中以等待播放。此时,所述视频流下载设备可以按照所述视频流下载顺序对下一个目标视频流进行下载。可以理解的是,对下一个目标视频流进行下载的过程可以参见本发明实施例提供的实施方式,在此不进行赘述。
[0053]S207,当进行第一下载处理的下载次数大于第一次数阈值且未成功下载到所述目标视频流时,确定进行第一下载处理的处理结果未满足预设下载结果;
[0054]具体的,当进行第一下载处理的下载次数大于第一次数阈值且仍然未成功下载到所述目标视频流时,所述视频流下载设备可以确定进行第一下载处理的处理结果未满足预设下载结果,此时,所述视频流下载设备可以将所述下载次数清零。
[0055]可以理解的是,由于存在网络环境不稳定或者视频服务器不稳定的因素,因此在下载目标视频流的过程中会出现下载中断或者未获取到对应的视频流的情况,因此,通过对目标视频流进行若干次的尝试重下载处理,可以降低不稳定因素的影响,进一步提升了视频流下载的成功率。
[0056]S208,若进行第一下载处理的处理结果未满足预设下载结果,则重复采用所述直播视频的地址信息对所述视频流索引信息进行第一获取处理;
[0057]具体的,若进行第一下载处理的处理结果未满足预设下载结果,则所述视频流下载设备可以重复采用所述直播视频的地址信息对所述视频流索引信息进行第一获取处理,同时,所述视频流下载设备可以对进行第一获取处理的获取次数进行统计,例如:采用计数器等。需要说明的是,对所述视频流索引信息进行第一获取处理与前述获取所述视频流索引信息均是对视频流索引信息的获取处理过程,对所述视频流索引信息进行第一获取处理用于表示在前述进行第一下载处理的处理结果未满足预设下载结果的情景下,再次对所述视频流索引信息进行重新获取的过程,此处采用第一获取处理的命名方式仅为了与前述获取所述视频流索引信息的过程进行区分。
[0058]S209,当进行第一获取处理的获取次数大于第二次数阈值且未成功下载到所述目标视频流时,关闭对所述直播视频的播放;
[0059]具体的,当进行第一获取处理的获取次数大于第二次数阈值且仍然未成功下载到所述目标视频流时,所述视频流下载设备可以关闭对所述直播视频的播放,此时,所述视频流下载设备可以将所述获取次数清零。优选的,所述视频流下载设备可以暂停对视频流的下载过程,并在所述视频流缓存中的视频流播放完毕时,停止对所述直播视频的播放。
[0060]S210,当进行第一获取处理的获取次数小于或等于第二次数阈值且成功获取到所述视频流索引信息时,确定进行第一获取处理的处理结果满足预设获取结果;
[0061 ]具体的,当进行第一获取处理的获取次数小于或等于第二次数阈值且成功获取到所述视频流索引信息时,所述视频流下载设备可以确定进行第一获取处理的处理结果满足预设获取结果,并转入执行步骤S202,重新执行本发明实施例的步骤S202-S210。
[0062]可以理解的是,由于是视频直播的场景,视频流索引信息为实时更新的信息,每次获取的视频流索引信息中的可能存在不同的内容,容易导致时长切分不稳定的情况,同时由于存在网络环境不稳定或者视频服务器不稳定的因素,容易出现在获取视频流索引信息的过程中会出现获取中断或者未获取到对应的视频流索引信息的情况,因此通过对视频流索引信息进行若干次的尝试重获取处理,并重新执行对目标视频流的下载处理过程,可以降低不稳定因素的影响,进一步提升了视频流下载的成功率。
[0063]在本发明实施例中,通过获取当前直播视频的视频流索引信息,并根据视频流索引信息获取目标视频流对应的视频流地址,在检测到基于视频流地址未成功下载到目标视频流时,可以基于视频流地址对目标视频流进行第一下载处理,若进行第一下载处理的处 理结果未满足预设下载结果,则对直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时再次从头执行根据视频流索引信息获取目标视频流对应的视频流地址的步骤。在目标视频流未成功下载时,可以利用当前的视频流地址尝试对目标视频流再次进行下载,若仍未满足预设下载结果,则可以对视频流索引信息进行重获取,并再次利用重获取后的视频流索引信息中包含的视频流地址对目标视频流进行下载,实现了在视频流下载异常的情况下对视频流索引文件以及视频流的重下载处理的过程,提升了视频流下载的成功率,进而保证了直播视频播放的稳定性,提升了直播视频播放的效果;通过提供预设次数的视频流索引文件以及视频流的重获取或重下载过程,可以有效降低网络环境不稳定或者视频服务器不稳定的因素影响,进一步提升了视频流下载的成功率;通过采用视频流缓存的方式,可以满足应用于缓存长度较小、实时释放、读取速度要求快的视频直播场景,方便了对视频流的管理。
[0064]下面将结合附图3-附图7,对本发明实施例提供的视频流下载设备进行详细介绍。需要说明的是,附图3-附图7所示的视频流下载设备,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
[0065]请参见图3,为本发明实施例提供了一种视频流下载设备的结构示意图。如图3所示,本发明实施例的所述视频流下载设备1可以包括:地址获取单元11、下载处理单元12和获取处理单元13。
[0066]地址获取单元11,用于获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址;
[0067]具体实现中,所述地址获取单元11可以获取当前直播视频的视频流索引信息,优选的,所述地址获取单元11可以采用当前直播视频的地址信息获取所述直播视频的视频流索引信息,所述视频流索引信息为基于HLS协议中的M3U8索引文件,所述视频流索引信息用于记录所述直播视频中各视频流的地址信息、各视频流的时长大小、视频流的加密信息、视频流的码率信息以及各视频流间的视频流下载顺序等。
[0068]所述地址获取单元11解析所述视频流索引信息,以获取所述视频流索引信息中的各视频流的地址信息、各视频流的时长大小、视频流的加密信息、视频流的码率信息以及各视频流间的视频流下载顺序等,所述地址获取单元11可以按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址,所述目标视频流为按照所述视频流下载顺序排列在当前待下载的至少一个视频流中的第一个视频流。所述视频流下载设备1可以基于所述视频流地址下载所述目标视频流。
[0069]具体的,请一并参见图4,为本发明实施例提供了地址获取单元的结构示意图。如图4所示,所述地址获取单元11可以包括:
[0070]信息获取子单元111,用于采用当前直播视频的地址信息获取所述直播视频的视频流索引ig息;
[0071]具体实现中,所述信息获取子单元111可以采用当前直播视频的地址信息获取所述直播视频的视频流索引信息,所述视频流索引信息为基于HLS协议中的M3U8索引文件,所述视频流索引信息用于记录所述直播视频中各视频流的地址信息、各视频流的时长大小、视频流的加密信息、视频流的码率信息以及各视频流间的视频流下载顺序等。
[0072]地址获取子单元112,用于获取所述直播视频的视频流索引信息所指示的视频流下载顺序,并按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址;
[0073]具体实现中,所述地址获取子单元112解析所述视频流索引信息,以获取所述视频流索引信息中的各视频流的地址信息、各视频流的时长大小、视频流的加密信息、视频流的码率信息以及各视频流间的视频流下载顺序等,所述地址获取子单元112可以按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址,所述目标视频流为按照所述视频流下载顺序排列在当前待下载的至少一个视频流中的第一个视频流。所述视频流下载设备1可以基于所述视频流地址下载所述目标视频流。
[0074]可以理解的是,对于已下载过的视频流,所述视频流下载设备1可以对其设置已下载的标识,以区分已下载的视频流以及待下载的视频流。
[0075]下载处理单元12,用于当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理;
[0076]具体实现中,当检测到基于所述视频流地址未成功下载到所述目标视频流时,所述下载处理单元12可以基于所述视频流地址对所述目标视频流进行第一下载处理,需要说明的是,对所述目标视频流进行第一下载处理与前述下载所述目标视频流均是对目标视频流的下载处理过程,对所述目标视频流进行第一下载处理用于表示在前述下载所述目标视频流不成功的情景下,再次对所述目标视频流进行尝试下载的过程,此处采用第一下载处理的命名方式仅为了与前述下载所述目标视频流的过程进行区分。当进行第一下载处理后仍然未成功下载到所述目标视频流时,所述下载处理单元12可以确定进行第一下载处理的处理结果未满足预设下载结果。
[0077]具体的,请一并参见图5,为本发明实施例提供了下载处理单元的结构示意图。如图5所示,所述下载处理单元12可以包括:
[0078]下载处理子单元121,用于当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址重复对所述目标视频流进行第一下载处理;
[0079]具体实现中,当检测到基于所述视频流地址未成功下载到所述目标视频流时,所述下载处理子单元121可以基于所述视频流地址重复对所述目标视频流进行第一下载处理,同时,所述视频流下载设备1可以对进行第一下载处理的下载次数进行统计,例如:采用计数器等。需要说明的是,对所述目标视频流进行第一下载处理与前述下载所述目标视频流均是对目标视频流的下载处理过程,对所述目标视频流进行第一下载处理用于表示在前述下载所述目标视频流不成功的情景下,再次对所述目标视频流进行尝试下载的过程,此处采用第一下载处理的命名方式仅为了与前述下载所述目标视频流的过程进行区分。
[0080]第一结果确定子单元122,用于当进行第一下载处理的下载次数大于第一次数阈值且未成功下载到所述目标视频流时,确定进行第一下载处理的处理结果未满足预设下载结果;
[0081]具体实现中,当进行第一下载处理的下载次数大于第一次数阈值且仍然未成功下载到所述目标视频流时,所述第一结果确定子单元122可以确定进行第一下载处理的处理结果未满足预设下载结果,此时,所述视频流下载设备1可以将所述下载次数清零。
[0082]视频流获取子单元123,用于当进行第一下载处理的下载次数小于或等于第一次数阈值且成功下载到所述目标视频流时,获取所述目标视频流;
[0083]具体实现中,当进行第一下载处理的下载次数小于或等于第一次数阈值且成功下载到所述目标视频流时,所述视频流获取子单元123可以获取所述目标视频流,优选的,所述视频流获取子单元123可以将成功下载的所述目标视频流保存至预先创建的视频流缓存中以等待播放。此时,所述视频流下载设备1可以按照所述视频流下载顺序对下一个目标视频流进行下载。
[0084]可以理解的是,由于存在网络环境不稳定或者视频服务器不稳定的因素,因此在下载目标视频流的过程中会出现下载中断或者未获取到对应的视频流的情况,因此,通过对目标视频流进行若干次的尝试重下载处理,可以降低不稳定因素的影响,进一步提升了视频流下载的成功率。
[0085]获取处理单元13,用于若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时通知所述地址获取单元11执行根据所述视频流索引信息获取目标视频流对应的视频流地址;
[0086]具体实现中,若进行第一下载处理的处理结果未满足预设下载结果,则所述获取处理单元13可以采用所述直播视频的地址信息对所述视频流索引信息进行第一获取处理,需要说明的是,对所述视频流索引信息进行第一获取处理与前述获取所述视频流索引信息均是对视频流索引信息的获取处理过程,对所述视频流索引信息进行第一获取处理用于表示在前述进行第一下载处理的处理结果未满足预设下载结果的情景下,再次对所述视频流索引信息进行重新获取的过程,此处采用第一获取处理的命名方式仅为了与前述获取所述视频流索引信息的过程进行区分。当进行第一获取处理后成功获取到所述视频流索引信息时,所述获取处理单元13可以确定进行第一获取处理的处理结果满足预设获取结果,所述获取处理单元13可以通知所述地址获取单元11执行根据所述视频流索引信息获取目标视频流对应的视频流地址。
[0087]具体的,请一并参见图6,为本发明实施例提供了获取处理单元的结构示意图。如图6所示,所述获取处理单元13可以包括:
[0088]获取处理子单元131,用于若进行第一下载处理的处理结果未满足预设下载结果,则重复采用所述直播视频的地址信息对所述视频流索引信息进行第一获取处理;
[0089]具体实现中,若进行第一下载处理的处理结果未满足预设下载结果,则所述获取处理子单元131可以重复采用所述直播视频的地址信息对所述视频流索引信息进行第一获取处理,同时,所述视频流下载设备1可以对进行第一获取处理的获取次数进行统计,例如:采用计数器等。需要说明的是,对所述视频流索引信息进行第一获取处理与前述获取所述视频流索引信息均是对视频流索引 信息的获取处理过程,对所述视频流索引信息进行第一获取处理用于表示在前述进行第一下载处理的处理结果未满足预设下载结果的情景下,再次对所述视频流索引信息进行重新获取的过程,此处采用第一获取处理的命名方式仅为了与前述获取所述视频流索引信息的过程进行区分。
[0090]第二结果确定子单元132,用于当进行第一获取处理的获取次数小于或等于第二次数阈值且成功获取到所述视频流索引信息时,确定进行第一获取处理的处理结果满足预设获取结果,并通知所述地址获取单元11执行根据所述视频流索引信息获取目标视频流对应的视频流地址;
[0091 ]具体实现中,当进行第一获取处理的获取次数小于或等于第二次数阈值且成功获取到所述视频流索引信息时,所述第二结果确定子单元132可以确定进行第一获取处理的处理结果满足预设获取结果,并通知所述地址获取单元11执行根据所述视频流索引信息获取目标视频流对应的视频流地址。
[0092]播放关闭子单元133,用于当进行第一获取处理的获取次数大于第二次数阈值且未成功下载到所述目标视频流时,关闭对所述直播视频的播放;
[0093]具体实现中,当进行第一获取处理的获取次数大于第二次数阈值且仍然未成功下载到所述目标视频流时,所述播放关闭子单元133可以关闭对所述直播视频的播放,此时,所述视频流下载设备1可以将所述获取次数清零。优选的,所述播放关闭子单元133可以暂停对视频流的下载过程,并在所述视频流缓存中的视频流播放完毕时,停止对所述直播视频的播放。
[0094]可以理解的是,由于是视频直播的场景,视频流索引信息为实时更新的信息,每次获取的视频流索引信息中的可能存在不同的内容,容易导致时长切分不稳定的情况,同时由于存在网络环境不稳定或者视频服务器不稳定的因素,容易出现在获取视频流索引信息的过程中会出现获取中断或者未获取到对应的视频流索引信息的情况,因此通过对视频流索引信息进行若干次的尝试重获取处理,并重新执行对目标视频流的下载处理过程,可以降低不稳定因素的影响,进一步提升了视频流下载的成功率。
[0095]在本发明实施例中,通过获取当前直播视频的视频流索引信息,并根据视频流索引信息获取目标视频流对应的视频流地址,在检测到基于视频流地址未成功下载到目标视频流时,可以基于视频流地址对目标视频流进行第一下载处理,若进行第一下载处理的处理结果未满足预设下载结果,则对直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时再次从头执行根据视频流索引信息获取目标视频流对应的视频流地址的步骤。在目标视频流未成功下载时,可以利用当前的视频流地址尝试对目标视频流再次进行下载,若仍未满足预设下载结果,则可以对视频流索引信息进行重获取,并再次利用重获取后的视频流索引信息中包含的视频流地址对目标视频流进行下载,实现了在视频流下载异常的情况下对视频流索引文件以及视频流的重下载处理的过程,提升了视频流下载的成功率,进而保证了直播视频播放的稳定性,提升了直播视频播放的效果;通过提供预设次数的视频流索引文件以及视频流的重获取或重下载过程,可以有效降低网络环境不稳定或者视频服务器不稳定的因素影响,进一步提升了视频流下载的成功率。
[0096]请参见图7,为本发明实施例提供了另一种视频流下载设备的结构示意图。如图7所示,本发明实施例的所述视频流下载设备1可以包括:地址获取单元11、下载处理单元12、获取处理单元13、缓存创建单元14和视频流获取单元15;其中,地址获取单元11、下载处理单元12和获取处理单元13的具体结构可以参见图3所示实施例的描述,在此不进行赘述。
[0097]缓存创建单元14,用于创建并初始化视频流缓存;
[0098]具体实现中,当检测到所显示视频播放按钮存在触发信息时,例如:存在点击操作或者触摸选择操作等,所述视频流下载设备1可以创建视频播放进程,所述缓存创建单元14进一步创建并初始化视频流缓存,可选的,在直播视频播放前端,所述视频流下载设备1还需要创建视频播放界面,并初始化视频流解码器,以对后续所述视频流缓存中的视频流进行解码并播放。
[0099]视频流获取单元15,用于当检测到基于所述视频流地址成功下载到所述目标视频流时,获取所述目标视频流;
[0100]具体实现中,当检测到基于所述视频流地址成功下载到所述目标视频流时,所述视频流获取单元15可以获取所述目标视频流,优选的,所述视频流获取单元15可以将成功下载的所述目标视频流保存至所述视频流缓存中以等待播放。此时,所述视频流下载设备1可以按照所述视频流下载顺序对下一个目标视频流进行下载。
[0101]在本发明实施例中,通过获取当前直播视频的视频流索引信息,并根据视频流索引信息获取目标视频流对应的视频流地址,在检测到基于视频流地址未成功下载到目标视频流时,可以基于视频流地址对目标视频流进行第一下载处理,若进行第一下载处理的处理结果未满足预设下载结果,则对直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时再次从头执行根据视频流索引信息获取目标视频流对应的视频流地址的步骤。在目标视频流未成功下载时,可以利用当前的视频流地址尝试对目标视频流再次进行下载,若仍未满足预设下载结果,则可以对视频流索引信息进行重获取,并再次利用重获取后的视频流索引信息中包含的视频流地址对目标视频流进行下载,实现了在视频流下载异常的情况下对视频流索引文件以及视频流的重下载处理的过程,提升了视频流下载的成功率,进而保证了直播视频播放的稳定性,提升了直播视频播放的效果;通过提供预设次数的视频流索引文件以及视频流的重获取或重下载过程,可以有效降低网络环境不稳定或者视频服务器不稳定的因素影响,进一步提升了视频流下载的成功率;通过采用视频流缓存的方式,可以满足应用于缓存长度较小、实时释放、读取速度要求快的视频直播场景,方便了对视频流的管理。
[0102]请参见图8,为本发明实施例提供了又一种视频流下载设备的结构示意图。如图8所示,所述视频流下载设备1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口 1004,用户接口 1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口 1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口 1003还可以包括标准的有线接口、无线接口。网络接口 1004可选的可以包括标准的有线接口、无线接口(如W1-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及视频流下载应用程序。
[0103]在图8所示的视频流下载设备1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;网络接口 1004主要用于与视频服务器相连接,向视频服务器获取视频流索引信息、视频流等数据;而处理器1001可以用于调用存储器1005中存储的视频流下载应用程序,并具体执行以下操作:
[0104]获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址;
[0105]当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理;
[0106]若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时执行根据所述视频流索引信息获取目标视频流对应的视频流地址的步骤。
[0107]在一个实施例中,所述处理器1001在执行获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址时,具体执行以下操作:
[0108]采用当前直播视频的地址信息获取所述直播视频的视频流索引信息;
[0109]获取所述直播视频的视频流索引信息所指示的视频流下载顺序,并按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址;
[0110]其中,所述目标视频流为按照所述视频流下载顺序排列在当前待下载的至少一个视频流中的第一个视频流。
[0111]在一个实施例中,所述处理器1001在执行当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理时,具体执行以下操作:
[0112]当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址重复对所述目标视频流进行第一下载处理;
[0113]当进行第一下载处理的下载次数大于第一次数阈值且未成功下载到所述目标视频流时,确定进行第一下载处理的处理结果未满足预设下载结果;
[0114]当进行第一下载处理的下载次数小于或等于第一次数阈值且成功下载到所述目标视频流时,获取所述目标视频流。
[0115]在一个实施例中,所述处理器1001在执行若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时执行根据所述视频流索引信息获取目标视频流对应的视频流地址的步骤时,具体执行以下操作:
[0116]若进行第一下载处理的处理结果未满足预设下载结果,则重复采用所述 直播视频的地址信息对所述视频流索引信息进行第一获取处理;
[0117]当进行第一获取处理的获取次数小于或等于第二次数阈值且成功获取到所述视频流索引信息时,确定进行第一获取处理的处理结果满足预设获取结果,并执行根据所述视频流索引信息获取目标视频流对应的视频流地址的步骤;
[0118]当进行第一获取处理的获取次数大于第二次数阈值且未成功下载到所述目标视频流时,关闭对所述直播视频的播放。
[0119]在一个实施例中,所述处理器1001还执行以下操作:
[0120]当检测到基于所述视频流地址成功下载到所述目标视频流时,获取所述目标视频流。
[0121]在一个实施例中,所述处理器1001在执行获取当前直播视频的视频流索引信息之前,还执行以下操作:
[0122]创建并初始化视频流缓存;
[0123]所述处理器1001在执行获取所述目标视频流时,具体执行以下操作:
[0124]将所述目标视频流存储于所述缓存中。
[0125]在本发明实施例中,通过获取当前直播视频的视频流索引信息,并根据视频流索引信息获取目标视频流对应的视频流地址,在检测到基于视频流地址未成功下载到目标视频流时,可以基于视频流地址对目标视频流进行第一下载处理,若进行第一下载处理的处理结果未满足预设下载结果,则对直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时再次从头执行根据视频流索引信息获取目标视频流对应的视频流地址的步骤。在目标视频流未成功下载时,可以利用当前的视频流地址尝试对目标视频流再次进行下载,若仍未满足预设下载结果,则可以对视频流索引信息进行重获取,并再次利用重获取后的视频流索引信息中包含的视频流地址对目标视频流进行下载,实现了在视频流下载异常的情况下对视频流索引文件以及视频流的重下载处理的过程,提升了视频流下载的成功率,进而保证了直播视频播放的稳定性,提升了直播视频播放的效果;通过提供预设次数的视频流索引文件以及视频流的重获取或重下载过程,可以有效降低网络环境不稳定或者视频服务器不稳定的因素影响,进一步提升了视频流下载的成功率;通过采用视频流缓存的方式,可以满足应用于缓存长度较小、实时释放、读取速度要求快的视频直播场景,方便了对视频流的管理。
[0126]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
[0127]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1.一种视频流下载方法,其特征在于,包括: 获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址; 当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理; 若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时执行根据所述视频流索引信息获取目标视频流对应的视频流地址的步骤。2.根据权利要求1所述的方法,其特征在于,所述获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址,包括: 采用当前直播视频的地址信息获取所述直播视频的视频流索引信息; 获取所述直播视频的视频流索引信息所指示的视频流下载顺序,并按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址; 其中,所述目标视频流为按照所述视频流下载顺序排列在当前待下载的至少一个视频流中的第一个视频流。3.根据权利要求1所述的方法,其特征在于,所述当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理,包括: 当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址重复对所述目标视频流进行第一下载处理; 当进行第一下载处理的下载次数大于第一次数阈值且未成功下载到所述目标视频流时,确定进行第一下载处理的处理结果未满足预设下载结果; 当进行第一下载处理的下载次数小于或等于第一次数阈值且成功下载到所述目标视频流时,获取所述目标视频流。4.根据权利要求1所述的方法,其特征在于,所述若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时执行根据所述视频流索引信息获取目标视频流对应的视频流地址的步骤,包括: 若进行第一下载处理的处理结果未满足预设下载结果,则重复采用所述直播视频的地址信息对所述视频流索引信息进行第一获取处理; 当进行第一获取处理的获取次数小于或等于第二次数阈值且成功获取到所述视频流索引信息时,确定进行第一获取处理的处理结果满足预设获取结果,并执行根据所述视频流索引信息获取目标视频流对应的视频流地址的步骤; 当进行第一获取处理的获取次数大于第二次数阈值且未成功下载到所述目标视频流时,关闭对所述直播视频的播放。5.根据权利要求1所述的方法,其特征在于,还包括: 当检测到基于所述视频流地址成功下载到所述目标视频流时,获取所述目标视频流。6.根据权利要求3或5所述的方法,其特征在于,所述获取当前直播视频的视频流索引信息之前,还包括: 创建并初始化视频流缓存; 所述获取所述目标视频流,包括: 将所述目标视频流存储于所述缓存中。7.一种视频流下载设备,其特征在于,包括: 地址获取单元,用于获取当前直播视频的视频流索引信息,并根据所述视频流索引信息获取目标视频流对应的视频流地址; 下载处理单元,用于当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址对所述目标视频流进行第一下载处理; 获取处理单元,用于若进行第一下载处理的处理结果未满足预设下载结果,则对所述直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时通知所述地址获取单元执行根据所述视频流索引信息获取目标视频流对应的视频流地址。8.根据权利要求7所述的设备,其特征在于,所述地址获取单元包括: 信息获取子单元,用于采用当前直播视频的地址信息获取所述直播视频的视频流索引信息; 地址获取子单元,用于获取所述直播视频的视频流索引信息所指示的视频流下载顺序,并按照所述视频流下载顺序在所述视频流索引信息中获取目标视频流对应的视频流地址; 其中,所述目标视频流为按照所述视频流下载顺序排列在当前待下载的至少一个视频流中的第一个视频流。9.根据权利要求7所述的设备,其特征在于,所述下载处理单元包括: 下载处理子单元,用于当检测到基于所述视频流地址未成功下载到所述目标视频流时,基于所述视频流地址重复对所述目标视频流进行第一下载处理; 第一结果确定子单元,用于当进行第一下载处理的下载次数大于第一次数阈值且未成功下载到所述目标视频流时,确定进行第一下载处理的处理结果未满足预设下载结果;视频流获取子单元,用于当进行第一下载处理的下载次数小于或等于第一次数阈值且成功下载到所述目标视频流时,获取所述目标视频流。10.根据权利要求7所述的设备,其特征在于,所述获取处理单元包括: 获取处理子单元,用于若进行第一下载处理的处理结果未满足预设下载结果,则重复采用所述直播视频的地址信息对所述视频流索引信息进行第一获取处理; 第二结果确定子单元,用于当进行第一获取处理的获取次数小于或等于第二次数阈值且成功获取到所述视频流索引信息时,确定进行第一获取处理的处理结果满足预设获取结果,并通知所述地址获取单元执行根据所述视频流索引信息获取目标视频流对应的视频流地址; 播放关闭子单元,用于当进行第一获取处理的获取次数大于第二次数阈值且未成功下载到所述目标视频流时,关闭对所述直播视频的播放。11.根据权利要求7所述的设备,其特征在于,还包括: 视频流获取单元,用于当检测到基于所述视频流地址成功下载到所述目标视频流时,获取所述目标视频流。12.根据权利要求7所述的设备,其特征在于,还包括:缓存创建单元,用于创建并初始化视频流缓存。
【专利摘要】本发明实施例公开一种视频流下载方法及其设备,其中方法包括如下步骤:获取当前直播视频的视频流索引信息,并根据视频流索引信息获取目标视频流对应的视频流地址;当检测到基于视频流地址未成功下载到目标视频流时,基于所述视频流地址对目标视频流进行第一下载处理;若进行第一下载处理的处理结果未满足预设下载结果,则对直播视频的视频流索引信息进行第一获取处理,并在进行第一获取处理的处理结果满足预设获取结果时执行根据视频流索引信息获取目标视频流对应的视频流地址的步骤。采用本发明,可以在视频流下载异常的情况下实现视频流索引文件以及视频流的重下载处理,保证直播视频播放的稳定性,提升直播视频播放的效果。
【IPC分类】H04N21/438, H04N21/435, H04N21/2347, H04N21/433, H04N21/4405
【公开号】CN105491400
【申请号】CN201510825081
【发明人】应玉龙
【申请人】腾讯科技(深圳)有限公司
【公开日】2016年4月13日
【申请日】2015年11月24日

最新回复(0)