一种云存视频播放方法和播放器技术

技术编号:39068023 阅读:16 留言:0更新日期:2023-10-12 20:00
本发明专利技术提供的一种云存视频播放方法和播放器主要的有益效果包括:云存视频播放方法包括以下步骤:APP触发云存播放;所述APP向SDK请求创建播放器;所述播放器将从向后端请求到的云存视频数据中解析出M3U8地址;所述播放器根据所述M3U8地址下载ts文件;所述播放器将所述ts文件设置到所述播放器的播放缓冲队列中并启动线程进行轮询机制检测播放文件接口状态;当可设置ts文件状态接口为可设置时,正常播放。本发明专利技术播放器支持精准定位播放到某个M3U8视频某个时间点,同时支持了本地录制视频和截图功能。当ts文件视频时长超过2小时的时候,播放器将删除最先下载的ts文件,避免了缓存过大引起设备磁盘空间占满的情况。引起设备磁盘空间占满的情况。引起设备磁盘空间占满的情况。

【技术实现步骤摘要】
一种云存视频播放方法和播放器


[0001]本专利技术涉及云存视频
,具体涉及一种云存视频播放方法和播放器。

技术介绍

[0002]云存储是一种网上在线存储的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管公司运营大型的数据中心,需要数据存储托管的人,则通过向其购买或租赁存储空间的方式,来满足数据存储的需求。数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池的方式提供,客户便可自行使用此存储资源池来存放文件或对象。
[0003]M3U8文件是指UTF

8编码格式的M3U8文件,M3U8是一种索引文件,通常一个音视频文件会被分割成若干小文件,然后通过M3U8记录每个文件的地址与播放顺序。在实际播放网页视频的时候,实际上是通过它来解析放在服务器上的各分块音视频网络地址,从而实现在线播放。使用M3U8格式文件主要因为它可以实现多码率视频的适配,视频网站可以根据用户的网络带宽情况,自动为客户端匹配一个合适的码率文件进行播放,从而保证视频的流畅度。M3U8是一种常见的流媒体格式,主要以文件列表的形式存在,既支持直播又支持点播,尤其在Android(安卓)、iOS(移动操作系统)等平台最为常用。
[0004]现有技术大多依赖第三方M3U8播放器框架,完成支持M3U8格式播放后,通过请求后端接口获取云存视频数据,返回的数据里解析出某片段的M3U8地址,并且把播放地址设置到M3U8播放器,完成云存视频的播放。在同一时间内之只能加载单个M3U8地址,在播放时并不能定位到播放点进行播放相关的视频数据。

技术实现思路

[0005]本专利技术针对现有技术中的上述不足,提供了一种云存视频播放方法和播放器,以解决上述技术问题中的至少一个。
[0006]具体的,一种云存视频播放方法,包括以下步骤:
[0007](Ⅰ)通过APP触发云存播放
[0008](Ⅱ)通过所述APP向SDK请求创建播放器;
[0009](Ⅲ)通过所述播放器将从向后端请求到的云存视频数据中解析出M3U8地址;
[0010](Ⅳ)通过所述播放器根据所述M3U8地址下载ts文件;
[0011](

)通过所述播放器将所述ts文件设置到所述播放器的播放缓冲队列中并启动线程进行轮询机制检测播放文件接口状态;
[0012](

)当可设置ts文件状态接口为可设置时,正常播放。
[0013]上述技术方案中,优选的,所述播放文件接口设置到ts文件缓冲队列后,将向上层开放三个状态接口,所述状态接口包括:所述可设置ts文件状态接口、加载状态接口以及播放状态接口。
[0014]上述技术方案中,优选的,当所述可设置ts文件状态接口为可设置时,在线程中读
取上层的所述播放缓冲队列的ts文件,设置到底层播放中,所述底层播放根据所述ts文件缓冲队列进行正常播放。
[0015]上述技术方案中,优选的,在所述正常播放状态下,播放状态接口返回当前播放数据,所述播放数据包括播放时间戳。
[0016]上述技术方案中,优选的,当所述ts文件缓冲队列没有数据,则会在所述加载状态接口返回正在加载的状态值。
[0017]上述技术方案中,优选的,所述根据所述M3U8地址下载ts文件包括以下步骤:
[0018](S1)根据所述M3U8地址请求到流媒体数据;
[0019](S2)根据所述流媒体数据中的ts文件下载地址下载所述ts文件。
[0020]上述技术方案中,优选的,所述ts文件下载到本设备的磁盘中,当所述ts文件视频时长超过2小时的时候,所述播放器将删除最先下载的ts文件。
[0021]上述技术方案中,优选的,所述播放器设置有本地录制视频功能和截图功能,所述截图功能包括读取所述云存视频帧数据并保存到设备磁盘。
[0022]所述云存视频数据设置有视频数据接口,所述视频接口用于开放原始视频数据。
[0023]本专利技术还提供了一种云存视频播放器,包括:
[0024]触发模块,用于通过APP触发云存播放
[0025]请求模块,用于通过所述APP向SDK请求创建播放器;
[0026]解析模块,用于通过所述播放器将从向后端请求到的云存视频数据中解析出M3U8地址;
[0027]下载模块,用于通过所述播放器根据所述M3U8地址下载ts文件;
[0028]设置模块,用于所述播放器将所述ts文件设置到所述播放器的播放缓冲队列中并启动线程进行轮询机制检测播放文件接口状态;
[0029]播放模块,用于当可设置ts文件状态接口为可设置时,正常播放。
[0030]本专利技术提供的一种云存视频播放方法和播放器主要的有益效果包括:云存视频播放方法包括以下步骤:(Ⅰ)APP触发云存播放;(Ⅱ)所述APP向SDK请求创建播放器;(Ⅲ)所述播放器将从向后端请求到的云存视频数据中解析出M3U8地址;(Ⅳ)所述播放器根据所述M3U8地址下载ts文件;(

)所述播放器将所述ts文件设置到所述播放器的播放缓冲队列中并启动线程进行轮询机制检测播放文件接口状态;(

)当可设置ts文件状态接口为可设置时,正常播放。
[0031]进一步地,播放文件接口设置到ts文件缓冲队列后,将向上层开放三个状态接口,状态接口包括:可设置ts文件状态接口、加载状态接口以及播放状态接口。当可设置ts文件状态接口为可设置时,在线程中读取上层的播放缓冲队列的ts文件,设置到底层播放中,底层播放根据ts文件缓冲队列进行正常播放。在正常播放状态下,播放状态接口返回当前播放数据,播放数据包括播放时间戳。
[0032]本专利技术支持同时加载多个M3U8视频地址,并且支持精准定位播放到某个M3U8视频某个时间点,同时支持了本地录制视频和截图功能。当ts文件视频时长超过2小时的时候,播放器将删除最先下载的ts文件,避免了缓存过大引起设备磁盘空间占满的情况。
附图说明
[0033]下面结合附图和实施例对本专利技术进一步说明。
[0034]图1是本专利技术一种云存视频播放方法的步骤图;
[0035]图2是本专利技术一种云存视频播放方法的流程图;
[0036]图3是本专利技术一种云存视频播放器的结构示意图。
具体实施方式
[0037]以下将结合实施例和附图对本专利技术的构思、具体结构及产生的技术效果进行清楚、完整地描述,以充分地理解本专利技术的目的、特征和效果。
[0038]在下文中,将更全面地描述本专利技术的各种实施例。本专利技术可具有各种实施例,并且可在其中做出调整和改变。然而,应理解:不存在将本专利技术的各种实施例限于在此公开的特定实施例的意图,而是应将本专利技术理解为涵盖落入本专利技术的各种实施例的精神和范围内的所有调整、等同物和/或可选方案。
[0039]在下文中,可在本专利技术的各种实施例中使用的术语“包括”或“可包括”本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云存视频播放方法,其特征在于,包括以下步骤:(Ⅰ)通过APP触发云存播放(Ⅱ)通过所述APP向SDK请求创建播放器;(Ⅲ)通过所述播放器将从向后端请求到的云存视频数据中解析出M3U8地址;(Ⅳ)通过所述播放器根据所述M3U8地址下载ts文件;(

)通过所述播放器将所述ts文件设置到所述播放器的播放缓冲队列中并启动线程进行轮询机制检测播放文件接口状态;(

)当可设置ts文件状态接口为可设置时,正常播放。2.根据权利要求1所述的一种云存视频播放方法,其特征在于,所述播放文件接口设置到ts文件缓冲队列后,将向上层开放三个状态接口,所述状态接口包括:所述可设置ts文件状态接口、加载状态接口以及播放状态接口。3.根据权利要求2所述的一种云存视频播放方法,其特征在于,当所述可设置ts文件状态接口为可设置时,在线程中读取上层的所述播放缓冲队列的ts文件,设置到底层播放中,所述底层播放根据所述ts文件缓冲队列进行正常播放。4.根据权利要求3所述的一种云存视频播放方法,其特征在于,在所述正常播放状态下,所述播放状态接口返回当前播放数据,所述播放数据包括播放时间戳。5.根据权利要求3所述的一种云存视频播放方法,其特征在于,当所述ts文件缓冲队列没有数据,则会在所述加载状态接口返回正在加...

【专利技术属性】
技术研发人员:陆思廷尹继圣刘大照朱正伟
申请(专利权)人:深圳感臻智能股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1