一种视频播放方法、装置、电子设备和存储介质与流程

文档序号:29086713发布日期:2022-03-02 01:34阅读:69来源:国知局
一种视频播放方法、装置、电子设备和存储介质与流程

1.本技术涉及通讯技术领域,具体涉及一种视频播放方法、装置、电子设备和存储介质。


背景技术:

2.目前视频相关的需求越来越多,众所周知,视频文件一般都比较大,在移动端播放会耗费很大的流量。为了保证视频播放流畅,部分用户会在播放视频的同时下载视频。通过对现有技术的实践,本技术的发明人发现现有的边下边播技术存在可靠性较低的问题。


技术实现要素:

3.本技术实施例提出了一种视频播放方法、装置、电子设备和存储介质,可以提高在播放视频的同时对视频进行下载的可靠性。
4.本技术实施例提供了一种视频播放方法,包括:
5.接收针对播放视频的下载指令,基于所述下载指令下载所述播放视频;
6.接收针对所述播放视频的播放进度调整指令,基于所述播放进度调整指令获取所述播放视频的播放进度调整信息;
7.基于所述播放进度调整信息确定所述播放视频的播放进度调整类型;
8.基于所述播放进度调整类型,确定所述播放视频的下载策略;
9.根据所述下载策略对所述播放视频进行下载调整处理。
10.相应的,本技术实施例还提供了一种视频播放装置,包括:
11.接收单元,用于接收针对播放视频的下载指令,基于所述下载指令下载所述播放视频;
12.获取单元,用于接收针对所述播放视频的播放进度调整指令,基于所述播放进度调整指令获取所述播放视频的播放进度调整信息;
13.类型确定单元,用于基于所述播放进度调整信息确定所述播放视频的播放进度调整类型;
14.测量确定单元,用于基于所述播放进度调整类型,确定所述播放视频的下载策略;
15.下载调整单元,用于根据所述下载策略对所述播放视频进行下载调整处理。
16.在一实施例中,所述获取单元,包括:
17.第一识别子单元,用于基于所述下载指令对所述播放视频进行识别,得到所述播放视频的视频格式;
18.格式判别子单元,用于对所述视频格式进行判别,得到判别结果;
19.第一下载子单元,用于基于所述判别结果下载所述播放视频。
20.在一实施例中,所述下载子单元,包括:
21.链接提取模块,用于基于所述判别结果提取所述播放视频的播放链接;
22.链接转换模块,用于将所述播放链接进行转换处理,得到转换后播放链接;
23.下载模块,用于基于所述转换后播放链接下载所述播放视频。
24.在一实施例中,所述链接转换模块,包括:
25.链接识别子模块,用于对所述播放链接进行识别,得到所述播放链接的转换位置符和转换标志符;
26.添加子模块,用于基于所述转换位置符为所述播放链接添加预设补充信息,得到添加后播放链接;
27.替换子模块,用于将所述添加后播放链接的转换标志符替换为预设标志符,得到所述转换后播放链接。
28.在一实施例中,所述格式判别子单元,包括:
29.第一匹配模块,用于将所述视频格式和预设常规视频格式进行匹配;
30.第二匹配模块,用于当所述视频格式和预设常规视频格式不相匹配时,将所述视频格式和预设目标视频格式进行匹配;
31.识别模块,用于当所述视频格式和所述目标视频格式不相匹配时,对所述播放视频进行识别,得到所述播放视频的格式字段;
32.第三匹配模块,用于将所述格式字段和预设格式字段进行匹配,得到所述判别结果。
33.在一实施例中,所述类型确定单元,包括:
34.第二识别子单元,用于对所述播放视频进行识别,得到所述播放视频的下载信息;
35.比较子单元,用于将所述播放进度调整信息和所述下载信息进行比较,得到比较结果;
36.确定子单元,用于基于所述比较结果确定所述播放视频的进度调整类型。
37.在一实施例中,所述下载调整单元,包括:
38.解析子单元,用于对所述下载策略进行解析,得到更新下载时间点;
39.定位子单元,用于在所述播放视频中定位到和所述更新下载时间点对应的目标下载时间点;
40.第二下载子单元,用于基于所述目标下载时间点下载所述播放视频。
41.在一实施例中,本技术实施例提出的视频播放装置,还包括:
42.指令接收单元,用于接收视频播放结束指令,基于所述视频播放结束指令获取所述播放视频的下载数据;
43.衡量单元,用于基于所述下载数据衡量所述播放视频的下载完成度;
44.完善单元,用于基于所述下载完成度完善所述下载数据,得到所述播放视频的目标下载数据。
45.相应的,本技术实施例还提供一种电子设备,所述电子设备包括存储器和处理器;所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行本技术实施例任一提供的视频播放方法。
46.相应的,本技术实施例还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本技术实施例任一提供的视频播放方法。
47.本技术实施例可以接收针对播放视频的下载指令,基于下载指令下载播放视频;接收针对播放视频的播放进度调整指令,基于播放进度调整指令获取播放视频的播放进度
调整信息;基于播放进度调整信息确定播放视频的播放进度调整类型;基于播放进度调整类型,确定播放视频的下载策略;根据下载策略对播放视频进行下载调整处理。
附图说明
48.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1是本技术实施例提供的视频播放方法的场景示意图;
50.图2是本技术实施例提供的视频播放方法的流程示意图;
51.图3是本技术实施例提供的视频播放方法的又一流程示意图;
52.图4是本技术实施例提供的现有的边下边播模型的示意图;
53.图5是本技术实施例提供的优化后边下边播模型的示意图;
54.图6是本技术实施例提供的视频播放方法的又一流程示意图;
55.图7是本技术实施例提供的视频播放方法的又一流程示意图;
56.图8是本技术实施例提供的视频播放装置的结构示意图;
57.图9是本技术实施例提供的电子设备的结构示意图。
具体实施方式
58.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,然而,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
59.本技术实施例提出了一种视频播放方法,该视频播放方法可以由视频播放装置执行,该视频播放装置可以集成在电子设备中。其中,该电子设备可以包括终端以及服务器等中的至少一个。即该视频播放方法可以由终端执行,也可以由服务器执行。
60.其中,该终端可以包括个人电脑、平板电脑、智能电视、智能手机、智能家居、可穿戴电子设备、vr/ar设备、车载计算机等等。
61.其中,服务器可以为多个异构系统之间的互通服务器或者后台服务器,还可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云计算服务的云服务器等等。
62.在一实施例中,如图1所示,视频播放装置可以集成在终端或服务器等电子设备上,以实施本技术实施例提出的视频播放方法。具体地,电子设备可以接收针对播放视频的下载指令,基于下载指令下载播放视频;接收针对播放视频的播放进度调整指令,基于播放进度调整指令获取所述播放视频的播放进度调整信息;基于播放进度调整信息确定播放视频的播放进度调整类型;基于播放进度调整类型,确定播放视频的下载策略;根据下载策略对播放视频进行下载调整处理。
63.以下分别进行详细说明,需要说明的是,以下实施例的描述顺序不作为对实施例
优选顺序的限定。
64.本技术实施例将从视频播放装置集成在电子设备的角度进行本技术实施例提出的视频播放方法进行描述。
65.如图2所示,提供了一种视频播放方法,具体流程包括:
66.101、接收针对播放视频的下载指令,基于下载指令下载播放视频。
67.其中,播放视频可以包括用户通过视频播放装置正在播放的视频。
68.在一实施例中,当用户通过视频播放装置观看播放视频时,可能想下载播放视频。而当用户在观看播放视频的同时触发了下载指令时,视频播放装置便会接收到针对播放视频的下载指令。然后,视频播放装置便会基于下载指令下载播放视频。
69.102、接收针对播放视频的播放进度调整指令,基于播放进度调整指令获取播放视频的播放进度调整信息。
70.在一实施例中,当用户在观看正在下载的播放视频时,有可能会对播放视频的播放进度进行调整。例如,用户可能会拖动播放视频的进度条,从而更改播放视频的播放进度。又例如,用户可能会修改播放视频的播放速率,从而改变播放视频的播放进度,等等。此时,视频播放装置便会接收到针对播放视频的播放进度调整指令,并基于播放进度调整指令获取播放视频的播放进度调整信息。
71.其中,播放进度调整信息可以包括说明用户对播放视频进行了哪些调整的信息。
72.例如,当用户拖动了播放视频的进度条时,播放进度调整信息可以为进度条被调整后所处的位置。譬如,播放视频播放当了1分20秒,然后用户拖动了播放视频的进度条,从而使得播放视频的播放进度变为了2分40秒,则播放进度调整信息可以包括播放视频的播放进度从1分20秒调整为了2分40秒。
73.又例如,当用户修改播放视频的播放速率,从而改变播放视频的播放进度时,播放进度调整信息可以包括播放视频修改后的播放速率以及对播放视频下载进度的影响。例如,播放视频的原始播放速率为0.5倍速,然后用户将播放视频的播放速率调整为了2倍速,则播放进度调整信息可以包括当前播放速率调整为了2倍速,以及播放倍速调整后对播放视频下载进度的影响。
74.103、基于播放进度调整信息确定播放视频的播放进度调整类型。
75.在一实施例中,由于视频播放装置正在下载播放视频,而当用户对播放视频的播放进度进行调整时可能会影响播放视频的下载进程。因此,视频播放装置可以基于播放进度调整信息确定播放视频的播放进度调整类型。然后基于播放进度调整类型确定播放视频的下载策略,并基于该下载策略对播放视频进行调整处理。
76.其中,根据播放进度调整信息,可以将播放视频划分出若干种播放进度调整类型。
77.在一实施例中,当播放进度调整信息为进度条被调整后所处的位置时,可以将播放进度调整信息和播放视频的下载信息进行比较,并通过比较结果确定播放进度调整类型。其中,播放视频的下载信息包括可以说明播放视频下载情况的信息。例如,下载信息可以包括播放视频的下载量、下载起始时间点和下载结束时间点,等等。通过下载信息,可以知道播放视频下载了多少以及下载到了哪里。
78.譬如,当播放进度调整信息超过播放视频的下载结束时间点时,可以作为播放视频的一种播放进度调整类型。而当播放进度调整信息未超过播放视频的下载起始时间点
时,可以作为播放视频的另一种进度调整类型,等等。
79.在一实施例中,当播放进度调整信息为播放视频修改后的播放速率时,视频播放装置可以计算播放视频在修改播放速率后的播放进度,并将计算得到的播放进度和下载信息进行比较,从而得到播放视频的播放进度调整类型。
80.104、基于播放进度调整类型,确定播放视频的下载策略。
81.在一实施例中,播放视频不同的播放进度调整类型会具有不同的下载策略,因此在确定了播放视频的播放进度调整类型之后,可以确定播放视频的下载策略。
82.其中,播放视频的下载策略包括在下载播放视频时需要遵循的规则。通过下载策略,视频播放装置便会知道在播放视频的播放进度被调整的情况下,该采取什么样的方法继续下载播放视频,从而降低对播放视频的影响以及提高用户观看播放视频的体验。
83.在一实施例中,有多种方式可以基于播放进度调整类型确定播放视频的下载策略。例如,可以将播放进度调整类型和其对应的下载策略添加上相同的标识,则视频播放装置便可也基于播放进度调整类型的标识确定播放视频的下载策略,等等。
84.105、根据下载策略对播放视频进行下载调整处理。
85.在一实施例中,在确定了播放进度调整类型对应的下载策略之后,可以根据下载策略对播放视频进行下载调整处理。
86.例如,播放进度调整信息为进度条被调整后所处的位置,当播放进度调整信息超过播放视频的下载结束时间点时,可以从播放视频被调整后进度条所处的位置继续下载播放视频。又例如,当播放进度调整信息未超过播放视频的下载起始时间点时,可以从下载起始时间点之前下载播放视频,从而避免重复下载已经下载过的视频。
87.本技术实施例提出了一个视频播放方法,该方法可以接收针对播放视频的下载指令,基于下载指令下载播放视频;接收针对播放视频的播放进度调整指令,基于播放进度调整指令获取所述播放视频的播放进度调整信息;基于播放进度调整信息确定播放视频的播放进度调整类型;基于播放进度调整类型,确定播放视频的下载策略;根据下载策略对播放视频进行下载调整处理。通过本技术实施例提出的视频播放方法,可以根据播放视频不同的播放进度调整类型,采取不同的下载策略对播放视频进行下载调整,从而降低了播放进度调整对下载播放视频的影响以及避免了重复下载,从而可以实现下载过程的高效稳定,提高了视频播放过程的可靠性。
88.根据上面实施例所描述的方法,以下将举例作进一步详细说明。
89.本技术实施例将以视频播放方法集成在终端上为例来介绍本技术实施例方法。具体的,如图3所示,本技术实施例提出的视频播放方法的流程可以包括:
90.201、终端接收针对播放视频的下载指令,基于下载指令下载播放视频。
91.在一实施例中,目前很多终端都支持视频边下边播的功能,即视频在播放的同时下载视频。现有的边下边播模型一般如图4所示。其中,模型包括了播放器、本地代理服务器和视频资源服务器。其中,视频资源服务器用于存储视频资源。本地代理服务器用于从视频资源服务器中获取视频的链接和下载视频,并将获取得到的链接转换后提供给播放器进行播放,实现边下边播的功能。
92.但是,现有的边下边播模型一般仅支持视频链接为完整的视频流,而不能兼容同时下载和播放各种多媒体资源链接。此外,现有的边下边播模型在用户对播放视频的播放
进度调整之后,并不能适应性地对播放视频的下载也进行调整,而当网络带宽不足时,会导致播放视频卡顿以及不能继续下载的问题。
93.因此,本技术实施例对现有的边下边播模型进行了优化,例如,如图5所示为优化后边下边播模型。通过图5可以得到优化后边下边播模型可以包括应用层、本地代理层和播放器层。
94.其中,应用层可以向视频资源服务器申请资源,并为本地代理层提供视频链接(例如,url链接)以及播放视频。
95.其中,本地代理层在原有的本地代理器进行扩展。具体的,本地代理层可以包括视频格式解析与判断模块、文件转换模块和下载模块。视频格式解析与判断模块用于识别以及判断播放视频的视频格式。文件转换类型用于将无法被播放器层进行识别的链接转换为可以被播放器层识别的链接,并提供下载保存路径。下载模块可以对视频进行下载。此外,下载模块还存储有下载策略,可以在下载进程中调整下载方式以及存储维护。
96.其中,播放器层可以从本地代理层获取视频链接或者已下载的视频进行播放,并输出解码后的数据至应用层显示。
97.通过优化后边下边播模型,可以使得本技术实施例提出的视频播放方法可以支持各种多媒体资源链接的同时下载和播放。此外,当播放视频在下载时,若用户对播放视频的播放进度进行了调整,本技术实施例还可以适应性地对播放视频的下载进行调整,从而避免播放视频卡顿以及不能继续播放的问题,从而提高了视频播放过程和下载过程的可靠性。
98.在一实施例中,本技术实施例提出的视频播放装置可以包括优化后边下边摸模型,因此集成了视频播放装置的终端可以利用优化后边下边播模型执行本技术实施例提出的视频播放方法。具体的,当终端接收到针对播放视频的下载指令时,可以基于下载指令下载播放视频。
99.其中,由于本技术实施例可以支持各种多媒体资源链接的同时下载和播放,因此,在终端基于下载指令下载播放视频时,终端可以对播放视频的视频格式进行识别,并基于播放视频的视频格式对播放视频进行下载。具体的,步骤“接收针对播放视频的下载指令,基于下载指令下载播放视频”,可以包括:
100.基于下载指令对播放视频进行识别,得到播放视频的视频格式;
101.对视频格式进行判别,得到判别结果;
102.基于所述判别结果下载所述播放视频。
103.其中,视频格式包括保持视频的一种格式。例如,视频格式可以包括avi(audio video interactive)、wmv(windows media video)、mpeg(moving picture experts group)、m3u8、mp4、flv(flash video)和avi(audio video interleaved),等等。
104.在一实施例中,由于某些视频格式的视频在播放器层无法进行下载,因此本地代理层需要针对这些在播放器层无法下载的视频进行格式转换,以使得这些视频可以在播放的同时进行下载。所以,终端在接收到下载指令之后,可以基于下载指令对播放视频进行识别,得到播放视频的视频格式。然后对视频格式进行判别处理,从而判断是否需要对视频格式进行转换。当视频格式需要进行转换时,则对视频格式进行转换后再下载。而当视频格式不需要转换时,则可以直接下载视频。
105.在一实施例中,终端有多种方式可以对播放视频进行识别,得到播放视频的视频格式。
106.例如,终端可以通过优化后边下边播模型获取播放视频的播放链接,通过对播放视频的播放链接进行解析从而得到播放视频的视频格式。
107.其中,播放视频的播放链接可以包括传递播放视频信息的参数和控制命令。例如,播放视频的播放链接可以包括统一资源定位符(uniform resource locator,url),等等。
108.例如,终端可以获取播放视频的url,然后通过对url进行解析从而得到播放视频的视频格式。例如,终端可以通过安卓系统接口uri.getlastpathsegment获取到播放视频的url中的filename,即’?’与

/’之间的字符串。然后,终端可以提取出filename,从而得到播放视频的视频格式。
109.此外,还可以在优化后边下边播模型中嵌入格式识别工具,从而使得终端可以依据格式识别工具得到播放视频的视频格式,等等。
110.在一实施例中,终端获取得到视频格式之后,可以对视频格式进行判别,从而判断是否需要对视频格式进行转换。具体的,步骤“对视频格式进行判别,得到判别结果”,可以包括:
111.将视频格式和预设常规视频格式进行匹配;
112.当视频格式和预设常规视频格式不相匹配时,将视频格式和预设目标视频格式进行匹配;
113.当视频格式和目标视频格式不相匹配时,对播放视频进行识别,得到播放视频的格式字段;
114.将格式字段和预设格式字段进行匹配,得到判别结果。
115.其中,预设常规视频格式可以包括常见的,播放器一般都支持下载的视频格式。例如,预设常规视频格式可以包括mp4、flv和avi等视频格式。
116.其中,目标视频格式可以包括不常见的,可能部分播放器不支持下载的视频格式。例如,目标视频格式可以包括m3u8等视频格式。
117.其中,m3u8是基于http的自适应码率流媒体传输协议(http live streaming,hls)对应的索引文件。hls协议实现了码率自适应,不同带宽的终端可以自动切换到最适合自己码率的视频播放。hls可以将一段视频切成无数个小段,然后为每段视频文件都添加上一个索引文件后进行播放。通过将视频切成无数个小段,从而使得每个小段的视频都可以快速地基于带宽调整自己的播放速率,从而实现了码率自适应。其中,该索引文件变为m3u8文件。
118.在一实施例中,如图6所示,终端在获取得到播放视频的视频格式之后,可以首先将视频格式和预设常规视频格式进行匹配。例如,将视频格式和mp4、flv和avi等预设常规视频进行匹配。当视频格式和预设常规视频相匹配时,说明不需要对视频格式进行转换,因此可以对播放视频进行下载。
119.在一实施例中,当视频格式和预设常规视频不相匹配时,可以将视频格式和预设目标视频格式相匹配。例如,如图6所示,可以将视频格式和m3u8格式进行匹配。当视频格式和m3u8格式相匹配时,说明需要对播放视频的视频格式进行转换,从而使得本地代理层可以对播放视频进行下载。
120.在一实施例中,当视频格式和目标视频格式也不相匹配时,说明终端可能没有正确地识别出播放视频的视频格式。此时,终端可以对播放视频进行识别,得到播放视频的格式字段。然后通过播放视频的格式字段判断播放视频的视频格式。
121.例如,终端可以根据httpurlconnection类中getcontenttype获取到contenttype,其中,contenttype可以为播放视频的格式字段。
122.在得到播放视频的格式字段之后,终端可以将格式字段和预设格式字段进行匹配,从而判断播放视频的视频格式是否是预设常规视频格式或者目标视频格式。其中,预设格式字段可以是预设设置好的,用来判断播放视频的视频格式的字段。例如,预设格式字段可以包括mine type,等等。
123.例如,如图6所述,终端可以将contenttype和mine type进行匹配,从而判断播放视频是否是预设常规视频格式或者目标视频格式。
124.例如,当通过格式字段和预设格式字段进行匹配,得到播放视频的视频格式为预设常规视频格式时,说明可以对播放视频进行下载。又例如,当通过格式字段和预设格式字段进行匹配,得到播放视频的视频格式为目标视频格式时,说明需要对播放视频的视频格式进行转换后才将视频格式进行下载。
125.在一实施例中,当播放视频的格式字段和预设格式字段也不相匹配时,说明播放视频的视频格式可能是异常视频格式。此时,终端将不支持播放视频的下载。
126.在一实施例中,当播放视频为目标视频格式时,说明需要对播放视频进行格式转换后再进行下载。其中,可以通过对播放视频的播放链接进行转换,从而视频对播放视频的格式进行转换。具体的,步骤“基于所述判别结果下载所述播放视频”,可以包括:
127.基于判别结果提取播放视频的播放链接;
128.将播放链接进行转换处理,得到转换后播放链接;
129.基于转换后播放链接下载播放视频。
130.例如,当播放视频的视频格式为m3u8格式时,说明需要对播放视频进行格式转换后再下载播放视频。此时,终端可以提取播放视频的播放链接,对播放链接进行转换处理,得到转换后播放链接。
131.在一实施例中,步骤“将播放链接进行转换处理,得到转换后播放链接”,可以包括:
132.对播放链接进行识别,得到播放链接的转换位置符和转换标志符;
133.基于转换位置符为播放链接添加预设补充信息,得到添加后播放链接;
134.将添加后播放链接中的转换标志符替换为预设标志符,得到转换后播放链接。
135.其中,转换位置符包括对播放链接进行信息添加或者删除操作起标识的符号。即通过转换位置符,终端可以知道在播放链接的那个位置添加信息或者删除信息。例如,转换位置符可以包括播放链接中的#extinf字段,等等。
136.其中,转换标志符包括对播放链接的内容进行更改操作时起标识作用的符号。即通过转换标志符,终端可以知道对播放链接中的哪些内容进行更改。例如,转换标志符可以包括播放链接中的“:”和“/”符号,等等。
137.其中,预设补充信息可以包括预先设置好的添加到播放链接中的信息。例如,预设补充信息可以包括使得本地代理层的下载模块可以对播放视频进行下载的信息。
138.其中,预设标志符可以包括预先设置好的添加到播放链接中的信息。例如,预设标志符可以包括使得本地代理层的下载模块可以对播放视频进行下载的符号。
139.在一实施例中,终端在得到播放链接的转换位置符和转换标识符之后,终端可以基于转换位置符为播放链接添加预设补充信息,得到添加后播放链接。例如,终端可以找到播放链接中的#extinf字段和其后的链接。譬如,当终端找到播放链接的#extinf字段之后,可以在#extinf字段的后面添加上预设补充信息。又譬如,当终端找到播放链接的#extinf字段和其后的链接之后,可以在其后添加上预设播出信息,得到添加后播放链接。
140.在一实施例中,终端在得到添加后播放链接之后,可以将添加后播放链接的转换标志符替换为预设标志符,得到转换后播放链接。例如,终端可以将添加后播放链接中数据原播放链接的转换标志符替换为预设标志符。例如,终端可以将原播放链接中的“:”和“/”符号替换为“%3a”和“%2f”。
141.在一实施例中,终端还可以首先将播放链接中的转换标志符替换为预设标志符,然后再基于转换位置符为播放链接添加预设补充信息。
142.在一实施例中,通过对播放视频的播放链接进行转换,可以实现播放视频的视频类型转换,从而可以使得本地代理层的下载模块可以识别播放视频的转换后播放链接,并基于转换后播放链接对播放视频进行下载。
143.在一实施例中,在得到转换后播放链接之后,可以将转换后播放链接添加到播放视频的存储目录中,从而使得下载模块下载播放视频时可以到存储目录中获取转换后播放链接,并基于播放后转换链接下载播放视频。
144.202、终端接收针对播放视频的播放进度调整指令,基于播放进度调整指令获取播放视频的播放进度调整信息。
145.在一实施例中,在终端下载播放视频之后,若用户对播放视频进行了调整,为了可以基于用户的调整对播放视频的下载过程进行调整,终端可以基于播放进度调整指令获取播放视频的播放进度调整信息。
146.203、终端基于播放进度调整信息确定播放视频的播放进度调整类型。
147.在一实施例中,当终端获取到进度调整信息之后,可以基于播放进度调整信息确定播放视频的播放进度调整类型。具体的,步骤“基于播放进度调整信息确定播放视频的播放进度调整类型”,可以包括:
148.对播放视频进行识别,得到播放视频的下载信息;
149.将播放进度调整信息和下载信息进行比较,得到比较结果;
150.基于比较结果确定播放视频的进度调整类型。
151.其中,下载信息可以包括说明播放视频下载进度的信息。
152.在一实施例中,本技术实施例构建了一种数据结构用于表示播放视频的下载信息。其中,该数据结构可以表示为linkedhashmap《long,videorange》。其中,linkedhashmap《long,videorange》中的long为播放视频的视频起始位置,videorange为播放视频当前已下载的范围。videorange中包含rangestart和rangeend,分别为已下载范围的下载起始时间点与下载结束时间点。
153.在一实施例中,可以通过对播放视频进行识别,得到播放视频的下载信息。然后将播放进度调整信息和下载信息进行比较从而确定播放视频的进度调整类型。具体的,步骤“将播放进度调整信息和下载信息进行比较,得到比较结果”,可以包括:
154.将播放进度调整时间点和下载起始时间点以及下载结束时间点进行比较,得到比较结果。
155.例如,可以利用seekposition表示用户拖动进度条的seek点位置。然后,可以将seekposition分别和rangestart以及rangeend进行比较,得到比较结果,并根据比较结果确定播放视频的进度调整类型。
156.具体的,步骤“基于比较结果确定播放视频的进度调整类型”,可以包括:
157.当播放进度调整时间点大于下载结束时间点时,确定进度调整类型为第一进度调整类型;
158.当播放进度调整时间点小于下载起始时间点时,确定进度调整类型为第二进度调整类型;
159.当播放进度调整时间点大于下载起始时间点且小于下载结束时间点时,确定进度调整类型为第三进度调整类型。
160.其中,播放进度调整时间点可以包括用户对播放视频进度进行调整后对应的视频点。例如,用户将视频的播放进度从1分20秒调整到2分30秒,则播放进度调整时间点可以为2分30秒。
161.其中,可以令播放进度调整时间点表示为seekposition。
162.例如,当seekposition》rangeend时,则确定播放视频的进度调整类型为第一进度调整类型。又例如,当seekposition《rangestart时,则确定播放视频的进度调整类型为第二进度调整类型。又例如,当rangestart《seekposition以及rangeend》seekposition时,则确定播放视频的进度调整类型为第三进度调整类型。
163.204、终端基于播放进度调整类型,确定播放视频的下载策略。
164.在一实施例中,终端确定了播放视频的播放进度调整类型之后,可以基于播放进度调整类型,确定播放视频的下载策略。
165.例如,可以预先建立一个类型和策略之间的映射关系,然后通过类型和策略之间的映射关系确定播放视频的下载策略。
166.205、终端根据下载策略对播放视频进行下载调整处理。
167.在一实施例中,当终端确定了播放视频对应的下载策略之后,便可以根据下载策略对播放视频进行下载调整处理。具体的,步骤“根据下载策略对播放视频进行下载调整处理”,可以包括:
168.对下载策略进行解析,得到更新下载时间点;
169.在播放视频中定位到和更新下载时间点对应的目标下载时间点;
170.基于目标下载时间点下载播放视频。
171.其中,更新下载时间点可以包括对播放视频的下载进度进行调整的依据。例如,更新下载时间点可以包括应该调整的下载起始时间点和/或应该调整的下载结束时间点,等等。
172.在一实施例中,通过对下载策略进行解析,得到更新下载时间点之后,可以在播放视频中定位到和更新下载时间点对应的目标下载时间点。然后,基于目标下载时间点下载播放视频。
173.例如,播放视频的原始下载起始时间点为k1。终端通过对下载策略进行解析,得到调整下起始时间点为k2。则,终端可以将播放视频的下载起始时间点从k1调整到k2,然后在k2处继续下载播放视频。
174.在一实施例中,由于不同的视频进度调整类型具有不同的下载策略,所以不同的视频进度调整类型会对应不同的更新下载时间点。
175.例如,可以令播放视频需要更新的下载范围表示为currentrange,需要更新的下载起始时间点和下载结束时间点表示为currentstart和currentend。
176.例如,如图7中的(a)所示,当seekposition》rangeend时,则可以令currentstart=seekposition。即当用户调整视频的位置大于原始的下载结束时间点时,可以令播放视频从原始的下载结束时间点调整到用户调整视频的位置进行下载。
177.例如,如图7中的(b)所示,当seekposition《rangestart,则可以令currentend=rangestart。即当用户调整视频的位置小于原始的下载起始时间点时,可以令播放视频原始的下载起始时间点作为更新下载结束时间点,从而避免重复下载已经下载过的播放视频,节约资源。
178.例如,如图7中的(c)所示,当rangestart《seekposition以及rangeend》seekposition时,说明用户的播放进度调整时间点在已有的下载范围内,所以可以令currentstart=rangeend。即令播放视频从原始的下载结束时间点进行下载。
179.在一实施例中,当播放视频播放完成或者用户退出视频播放的进程时,可以对播放视频的下载数据进行验证,从而判断播放视频的下载数据是否下载完整。具体的,本技术实施例提出的视频播放方法还包括:
180.接收视频播放结束指令,基于视频播放结束指令获取播放视频的下载数据;
181.基于下载数据衡量播放视频的下载完成度;
182.基于下载完成度完善下载数据,得到播放视频的目标下载数据。
183.在一实施例中,由于用户对播放视频的播放进度进行了调整,所以,播放视频的下载数据可能会包括多个下载片段。例如,用户对播放视频的播放进度进行了2次调整,则下载数据可能包括3个下载片段。其中,该3个下载片段可以包括原始的下载片段、用户第一调整后对应的下载片段和用户第二次调整后对应的下载片段。
184.在一实施例中,当播放视频播放完成,或者用户退出视频播放的进程时,终端便会接收到视频播放结束指令,并基于视频播放结束指令获取播放视频的下载数据。
185.其中,当终端接收到视频播放结束指令,终端首先获取到的是播放视频的多个下载片段,然后将下载片段进行整合,得到下载数据。
186.然后,终端可以基于下载数据衡量播放视频的下载完成度。例如,终端可以获取播放视频的完整数据长度。然后,终端可以将下载数据的数据长度和完整数据长度进行匹配,从而根据匹配结果衡量播放视频的下载完整度。
187.例如,当下载数据的数据长度和完整数据长度相匹配时,说明播放视频的下载数据已经下载完整,则可以存储下载数据。
188.而当下载数据的数据长度和完整数据长度不相匹配时,说明播放视频的下载数据并未下载完成,所以基于下载视频的下载完整度完善下载数据,得到播放视频的目标下载数据。
189.例如,当用户一直往后调整播放视频的播放进度调整时间点,则会导致播放视频中间部分数据无法下载,导致视频分片不连续,则可以将下载的数据删除并重新下载播放视频。
190.又例如,当用户一直往前调整播放视频的播放进度调整时间点,则可以从播放进度调整时间点处往后继续下载播放视频,填补中间数据,从而得到完整的视频下载数据。
191.本技术实施例可以接收针对播放视频的下载指令,基于下载指令下载播放视频;接收针对播放视频的播放进度调整指令,基于播放进度调整指令获取所述播放视频的播放进度调整信息;基于播放进度调整信息确定播放视频的播放进度调整类型;基于播放进度调整类型,确定播放视频的下载策略;根据下载策略对播放视频进行下载调整处理。通过本技术实施例提出的视频播放方法,可以根据播放视频不同的播放进度调整类型,采取不同的下载策略对播放视频进行下载调整,从而降低了播放进度调整对下载播放视频的影响以及避免了重复下载,从而可以实现下载过程的高效稳定,提高了视频播放过程的可靠性。
192.此外,在对播放视频进行下载时,还可以对目标格式的播放视频进行转换。例如,可以将m3u8格式的播放视频进行转换,从而使得可以对m3u8格式的视频进行下载。
193.为了更好地实施本技术实施例提供的视频播放方法,在一实施例中还提供了一种视频播放装置,该视频播放装置可以集成于电子设备中。其中名词的含义与上述视频播放方法中相同,具体实现细节可以参考方法实施例中的说明。
194.在一实施例中,提供了一种视频播放装置,该视频播放装置具体可以集成在电子设备,如图8所示,该视频播放装置包括:接收单元301、获取单元302、类型确定单元303、测量确定单元304和下载调整单元305,具体如下:
195.接收单元301,用于接收针对播放视频的下载指令,基于所述下载指令下载所述播放视频;
196.获取单元302,用于接收针对所述播放视频的播放进度调整指令,基于所述播放进度调整指令获取所述播放视频的播放进度调整信息;
197.类型确定单元303,用于基于所述播放进度调整信息确定所述播放视频的播放进度调整类型;
198.测量确定单元304,用于基于所述播放进度调整类型,确定所述播放视频的下载策略;
199.下载调整单元305,用于根据所述下载策略对所述播放视频进行下载调整处理。
200.在一实施例中,所述获取单元302,包括:
201.第一识别子单元,用于基于所述下载指令对所述播放视频进行识别,得到所述播放视频的视频格式;
202.格式判别子单元,用于对所述视频格式进行判别,得到判别结果;
203.第一下载子单元,用于基于所述判别结果下载所述播放视频。
204.在一实施例中,所述下载子单元,包括:
205.链接提取模块,用于基于所述判别结果提取所述播放视频的播放链接;
206.链接转换模块,用于将所述播放链接进行转换处理,得到转换后播放链接;
207.下载模块,用于基于所述转换后播放链接下载所述播放视频。
208.在一实施例中,所述链接转换模块,包括:
209.链接识别子模块,用于对所述播放链接进行识别,得到所述播放链接的转换位置符和转换标志符;
210.添加子模块,用于基于所述转换位置符为所述播放链接添加预设补充信息,得到添加后播放链接;
211.替换子模块,用于将所述添加后播放链接的转换标志符替换为预设标志符,得到所述转换后播放链接。
212.在一实施例中,所述格式判别子单元,包括:
213.第一匹配模块,用于将所述视频格式和预设常规视频格式进行匹配;
214.第二匹配模块,用于当所述视频格式和预设常规视频格式不相匹配时,将所述视频格式和预设目标视频格式进行匹配;
215.识别模块,用于当所述视频格式和所述目标视频格式不相匹配时,对所述播放视频进行识别,得到所述播放视频的格式字段;
216.第三匹配模块,用于将所述格式字段和预设格式字段进行匹配,得到所述判别结果。
217.在一实施例中,所述类型确定单元303,包括:
218.第二识别子单元,用于对所述播放视频进行识别,得到所述播放视频的下载信息;
219.比较子单元,用于将所述播放进度调整信息和所述下载信息进行比较,得到比较结果;
220.确定子单元,用于基于所述比较结果确定所述播放视频的进度调整类型。
221.在一实施例中,所述下载调整单元305,包括:
222.解析子单元,用于对所述下载策略进行解析,得到更新下载时间点;
223.定位子单元,用于在所述播放视频中定位到和所述更新下载时间点对应的目标下载时间点;
224.第二下载子单元,用于基于所述目标下载时间点下载所述播放视频。
225.在一实施例中,本技术实施例提出的视频播放装置,还包括:
226.指令接收单元,用于接收视频播放结束指令,基于所述视频播放结束指令获取所述播放视频的下载数据;
227.衡量单元,用于基于所述下载数据衡量所述播放视频的下载完成度;
228.完善单元,用于基于所述下载完成度完善所述下载数据,得到所述播放视频的目标下载数据。
229.具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
230.通过上述的测试检验装置可以实现可以对微观粒度上的测试反馈数据进行检验,提高了应用验证测试中的测试反馈数据的可靠性,从而提高了应用验证测试中的测试结果的准确性。
231.本技术实施例还提供一种电子设备,该电子设备可以包括终端或服务器;比如电子设备可以为服务器,如视频播放服务器等。如图9所示,其示出了本技术实施例所涉及的终端的结构示意图,具体来讲:
232.该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图9中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
233.处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户页面和应用程序等,调制解调处理器主要处理无线通讯。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
234.存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
235.电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
236.该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
237.尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
238.接收针对播放视频的下载指令,基于所述下载指令下载所述播放视频;
239.接收针对所述播放视频的播放进度调整指令,基于所述播放进度调整指令获取所述播放视频的播放进度调整信息;
240.基于所述播放进度调整信息确定所述播放视频的播放进度调整类型;
241.基于所述播放进度调整类型,确定所述播放视频的下载策略;
242.根据所述下载策略对所述播放视频进行下载调整处理。
243.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
244.根据本技术的一个方面,提供了一种计算机程序应用或计算机程序,该计算机程序应用或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使
得该计算机设备执行上述实施例中各种可选实现方式中提供的方法。
245.本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过计算机程序来完成,或通过计算机程序控制相关的硬件来完成,该计算机程序可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
246.为此,本技术实施例还提供一种存储介质,其中存储有计算机程序,该计算机程序能够被处理器进行加载,以执行本技术实施例所提供的任一种视频播放方法中的步骤。例如,该计算机程序可以执行如下步骤:
247.接收针对播放视频的下载指令,基于所述下载指令下载所述播放视频;
248.接收针对所述播放视频的播放进度调整指令,基于所述播放进度调整指令获取所述播放视频的播放进度调整信息;
249.基于所述播放进度调整信息确定所述播放视频的播放进度调整类型;
250.基于所述播放进度调整类型,确定所述播放视频的下载策略;
251.根据所述下载策略对所述播放视频进行下载调整处理。
252.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
253.由于该存储介质中所存储的计算机程序,可以执行本技术实施例所提供的任一种视频播放方法中的步骤,因此,可以实现本技术实施例所提供的任一种视频播放方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
254.以上对本技术实施例所提供的一种视频播放方法、装置、电子设备和存储介质进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本技术的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1