基于hls流媒体的视频数据加速下载方法及装置的制造方法_3

文档序号:9847229阅读:来源:国知局
数值大于预设的次数阀值时,启动多线程加速下载模式,以从该网络媒体服务器中获取HLS流媒体的分片文件。
[0099]该次数阀值可根据需要设置,如设置为5次。在该步骤中,在该重新获取的计数值的计数值大于预设的次数阀值时,则说明检测到网络媒体客户端发生卡顿后又经过数次循环定时器到时,网络媒体客户端却一直没有接收到分片文件,此时应该启动多线程加载下载模式,以从网络媒体服务器中获取HLS流媒体的分片文件。
[0100]采用上述实施例,在缓存区的数据量为零时,即该终端中未缓存到数据,则根据终端在当前时刻之前的预设时间内发送给网络媒体客户端的分片文件的第一总时长和计数器的计数值(表示网络状态较差的次数)确定是否启动多线程加速下载模式,可更加准确的确定启动多线程加速下载模式的时机,以下载更多的HLS流媒体的分片文件。
[0101]参照图4,图4为本发明基于HLS流媒体的视频数据加速下载装置的第一实施例结构示意图,该装置包括:
[0102]启动模块10,用于在接收到网络媒体客户端发送的HLS流媒体的播放请求时,循环启动定时器;
[0103]第一判断模块11,用于在定时器时间达到时,判断该HLS流媒体的播放请求对应的HLS流媒体是否下载完成;
[0104]第一获取模块12,用于在该HLS流媒体的播放请求对应的HLS流媒体未下载完成时,获取视频数据加速下载装置中的缓存区中的数据量;
[0105]第二判断模块13,用于判断该数据量是否大于或等于第一预设阀值;
[0106]第一控制模块14,用于在该数据量大于或等于第一预设阀值,启动多线程加速下载模式,以从网络媒体服务器中获取HLS流媒体的分片文件。该播放请求中可包括HLS流媒体的播放列表,播放列表中的每一项对应一个分片文件,每个分片有一个唯一的编号,如,其中一个分片的编号为100,各个分片文件按照播放顺序进行排序,先播放的分片文件的编号较小。该播放列表中的每一项对应的分片文件对应一个URL地址,根据该分片文件对应的URL地址可从网络媒体服务器中获取到对应的分片文件。
[0107]该启动模块10循环启动定时器,可根据需要设置一个定时时长,如定时时长5分钟。
[0108]可以理解的是,该网络媒体客户端设置在终端内,可以是终端内部的网络媒体播放器,如系统自带播放器或用户自行安装的播放器等。此处,终端可以是智能移动终端如智能手机、Ipad等或是智能电视等。
[0109]该第一判断模块11判断该HLS流媒体的播放请求对应的HLS流媒体是否下载完成,如果该HLS流媒体的播放请求对应的HLS流媒体下载完成,则不需要通过视频数据加速下载装置启动多线程加速下载模式下载该HLS流媒体对应的分片文件;如果HLS流媒体的播放请求对应的HLS流媒体未下载完成,则需要通过第一获取模块12、第二判断模块13和第一控制模块14确定是否需要通过视频数据加速下载装置启动多线程加速下载模式下载该HLS流媒体对应的分片文件。
[0110]一般的,在视频数据加速下载装置中预置一个分片文件下载列表,在该分片文件下载列表中记录该HLS流媒体的播放请求对应的HLS流媒体已下载的分片文件。该第一判断模块11可通过查看该分片文件下载列表确定该HLS流媒体的播放请求对应的HLS流媒体是否下载完成。
[0111]具体的,该视频数据加速下载装置中的缓存区存储了从网络媒体服务器下载且未发送给网络媒体客户端的HLS流媒体的分片文件。视频数据加速下载装置先将从网络媒体服务器下载的HLS流媒体的分片文件保存到缓存区中,在将缓存区中的HLS流媒体的分片文件分送给网络媒体客户端后,将该已分送的HLS流媒体的分片文件从缓存区中删除。该视频数据加速下载装置连接在网络媒体客户端与网络媒体服务器之间。
[0112]需要说明的是,该缓存区中的数据量是指缓存区中的分片文件的总时长,如当缓存区中分片文件有10个,每个分片文件的播放时长为10s,则该缓存区的数据量为100s。
[0113]具体的,该第一预设阀值可根据需要设置,该第一预设阀值为非零的自然数。可选的,可将该第一预设阀值设置为90s。
[0114]该第二判断模块13判断该缓存区中的数据量是否大于或等于第一预设阀值,如果该缓存区中的数据量大于或等于第一预设阀值,则说明当前网络状态良好,该视频数据加速下载装置已从网络媒体服务器中下载到一定数量的分片文件。
[0115]具体的,该第一控制模块14在该数据量大于或等于第一预设阀值(在该数据量大于或等于第一预设阀值时,说明当前网络状态良好),启动多线程加速下载模式,创建最大允许的任务个数,以从网络媒体服务器中获取HLS流媒体的分片文件。如在一实施例中,最大允许的任务个数为8个任务,则该第一控制模块14启动8个任务同时下载HLS流媒体的分片文件,一个任务对应下载一个分片文件,一个任务下载完一个分片文件后,继续下载另一个分片文件。从网络媒体服务器中获取的HLS流媒体的分片文件将保存在缓存区中。
[0116]该第一控制模块14启动多线程加速下载模式,以下载尽可能多的分片文件,使得在网络媒体客户端在请求分片文件,能及时为网络媒体客户端提供分片文件,避免网络媒体客户端出现播放异常的情况。
[0117]该第一控制模块14,还用于在该第一判断模块11的判断结果为该HLS流媒体的播放请求对应的HLS流媒体下载完成时,关闭定时器。
[0118]可以理解的是,该视频数据加速下载装置设置在终端内部,该网络媒体客户端与该视频数据加速下载装置设置在同一个终端内,当需要播放相应视频时,发送播放请求至该视频数据加速下载装置以获取相应视频数据,该终端通过该视频数据加速下载装置从网络媒体服务器获取视频数据。该视频数据加速下载装置可通过软件及/或硬件实现。
[0119]采用上述实施例,可在网络状态良好时(缓存区中的数据量大于或等于第一预设阀值时),启动多线程加速下载模式,以从网络媒体服务器中获取HLS流媒体的分片文件,缓存区中缓存尽量多的分片文件,减少网络媒体客户端出现播放异常的情况。
[0120]进一步的,如图5所示,该第一控制模块14包括:
[0121 ]第一判断单元141,用于在该数据量大于或等于第一预设阀值时,判断视频数据加速下载装置当前是否通过非加速下载模式下载HLS流媒体的分片文件;
[0122]第一控制单元142,用于在该网络媒体客户端当前未通过非加速下载模式下载HLS流媒体的分片文件时,启动多线程加速下载模式,以从该网络媒体服务器中获取HLS流媒体的分片文件;
[0123]第二控制单元143,用于在该网络媒体客户端当前通过非加速下载模式下载HLS流媒体的分片文件时,则在非加速下载模式下载完成后且接收到该网络媒体客户端发送的分片获取请求时,启动多线程加速下载模式,以从该网络媒体服务器中获取HLS流媒体的分片文件。
[0124]具体的,该视频数据加速下载装置中也可进行非加速下载模式,在非加速下载模式下,该视频数据加速下载装置将从网络媒体服务器中获取的分片文件传输给网络媒体客户端,而不将从网络媒体服务器中获取的分片文件保存到缓存区中,即该视频数据下载装置只是透传网络媒体客户端向网络媒体服务器请求的分片文件。
[0125]在视频数据加速下载装置中,非加速下载模式优先于多线程加速下载模式,该第一判断单元141判断视频数据加速下载装置当前是否通过非加速下载模式下载HLS流媒体的分片文件,如果该视频数据加速下载装置当前正通过非加速下载模式下载HLS流媒体的分片文件,则视频数据加速下载装置不会同时进行多线程加速下载模式。
[0126]如当前未通过非加速下载模式下载HLS流媒体的分片文件,则该第一控制单元142启动多线程加速下载模式,创建最大允许的任务个数,以从该网络媒体服务器中获取HLS流媒体的分片文件。
[0127]该第二控制单元143在该视频数据加速下载装置当前通过非加速下载模式下载HLS流媒体的分片文件时,则让该视频数据加速下载装置继续按照非加速下载模式透传网络媒体客户端向网络媒体服务器请求的分片文件,在非加速下载模式下载完成后,检测是否接收到网络媒体客户端发送的分片获取请求,若接收到网络媒体客户端的分片获取请求,则启动多线程加速下载模式,并根据该分片获取请求向网络媒体客户端返回对应的分片文件。
[0128]采用上述实施例,第一控制模块14先判断当前是否通过非加速下载模式下载HLS流媒体的分片文件,根据判断结果确定何时启动多线程加速下载模式;可使得终端在通过非加速下载模式下载HLS流媒体的分片文件时,继续按照当前下载方式,为网络媒体客户端提供先要播放的数据,在非加速下载模式下载完成后,再启动多线程加速下载模式,以下载更多的HLS流媒体的分片文件。
[0129]参照图6,图6为本发明基于HLS流媒体的视频数据加速下载装置的第二实施例的结构示意图。
[0130]基于上述基于HLS流媒体的视频数据加速下载装置的第一实施例,该装置还包括:
[0131]第三判断模块15,用于在该第二判断模块的判断结果为该数据量小于第一预设阀值时,判断该数据量是否为零;
[0132]第二获取模块16,用于在该数据量为零时,获取该视频数据加速下载装置在当前时刻之前的预设时间内发送给该网络媒体客户端的分片文件的第一总时长;
[0133]第三获取模块17,用于在该第一总时长不为零时,获取该视频数据加速下载装置在当前时刻之前的预设时间内发送第一个分片文件的时刻到当前时刻之间的第二总时长;
[0134]第三控制模块18,用于在该第二总时长大于第一总时长时,启动多线程加速下载模式,以从该网络媒体服务器中获取HLS流媒体的分片文件,并控制计数器将计数值加I;
[0135]第四获取模块19,用于在该第一总时长为零时,获取计数器
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1