一种视频播放方法及装置制造方法及图纸

技术编号:18209051 阅读:70 留言:0更新日期:2018-06-13 08:28
本发明专利技术实施例中公开了一种视频播放方法及装置,解析视频播放请求,获得请求播放的视频的统一资源定位符URL;根据URL判断本地缓存中是否缓存有完整的请求播放的视频;如果是,则直接播放本地缓存中缓存的完整的请求播放的视频;如果否,则确定所述URL所在的服务器,并向所述服务器发送至少一个视频下载请求;将所述服务器返回的至少一个已下载视频段进行播放并保存在临时缓存中;判断所述服务器返回的至少一个已下载视频段是否是完整的所述请求播放的视频,如果是,则将所述临时缓存中保存的所述至少一个已下载视频段缓存至本地缓存。基于上述方法及装置,能够在iOS平台上实现成本低且高效稳定的视频播放。

【技术实现步骤摘要】
一种视频播放方法及装置
本专利技术涉及网络
,具体涉及一种视频播放方法及装置。
技术介绍
随着网络技术的发展,人们越来越依赖于从网络获取信息,比如观看视频。相比传统的视频观看方式,在移动设备上观看视频为人们提供了更多的便捷。由于视频的清晰度的提高,视频文件的大小也随之增大,如果采用传统先下载再播放模式则会增加用户的等待时间,降低产品的体验。因此,要想达到较好的效果,就需要实现对视频文件的流媒体播放。在iOS平台上,现有视频的播放方式通常有以下三种:第一种,iOS系统提供了AVFoundation框架来处理音视频,AVFoundation提供了AVPlayer与AVAsset等类来实现本地或者在线视频的播放。其中AVAsset需要通过待播放视频的URL(UniformResourceLocator,统一资源定位符)初始化一个播放资源AVPlayerItem,然后将AVPlayerItem传给AVPlayer,AVPlayer基于AVPlayerItem播放视频。但是,这种方式是通过iOS系统的接口来实现,整个视频数据的下载过程都由iOS系统自动完成,开发者无法获取下载的数据,因此没办法对视频进行缓存,可控性较差,不利于扩展。第二种,根据待播放视频的URL将视频下载到本地,再由播放器播放本地视频。但是这种方式,当视频较大,或者网络状况较差的时候,下载视频需要耗费的时间过长,严重影响用户的体验,造成用户流失。第三种,创建一个本地代理服务器或者使用第三方库HTTPSever作为本地代理服务器,然后在iOS系统开启LocalServer服务,接着使用播放控件请求本地代理服务,本地代理服务器通过不断请求视频地址获取视频流,同时在请求的过程中把下载到的视频数据缓存到本地。最后将本地的缓存的数据拼接成数据流,交给播放控件,播放控件即可正常播放视频。但是这种方式,开发成本高,且,如果缓存多个视频并互相切换,本地代理服务器提供的数据很不稳定,崩溃概率非常大。因此,如何在iOS平台上实现成本低且高效稳定的视频播放,成为本领域亟待解决的技术问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种视频播放方法及装置,能够在iOS平台上实现成本低且高效稳定的视频播放。为实现上述目的,本专利技术实施例提供如下技术方案:一种视频播放方法,包括:接收视频播放请求;解析所述视频播放请求,获得请求播放的视频的统一资源定位符URL;根据所述URL判断本地缓存中是否缓存有完整的所述请求播放的视频;如果是,则直接播放本地缓存中缓存的完整的所述请求播放的视频;如果否,则确定所述URL所在的服务器,并向所述服务器发送至少一个视频下载请求,以使所述服务器每接收到一个视频下载请求都返回一个已下载视频段;将所述服务器返回的至少一个已下载视频段进行播放并保存在临时缓存中;判断所述服务器返回的至少一个已下载视频段是否是完整的所述请求播放的视频,如果是,则将所述临时缓存中保存的所述至少一个已下载视频段缓存至本地缓存。可选的,所述判断所述服务器返回的至少一个已下载视频是否是完整的所述请求播放的视频,包括:在播放所述至少一个已下载视频段的过程中如果收到停止播放指令,则判断所述服务器返回的所述至少一个已下载视频段不是完整的所述请求播放的视频。可选的,所述停止播放指令包括:与所述服务器之间的连接中断后重新连接。可选的,所述方法还包括:在与所述服务器之间的连接状态正常的情况下,接收到播放进度调整指令,且所述播放进度调整指令指示的待播放视频段还未下载时,显示正在加载的提示信息。可选的,所述视频下载请求中包括偏移量信息,则在向所述服务器发送视频下载请求之前,所述方法还包括:判断所述视频下载请求中包括的偏移量信息指示的偏移量是否大于本地缓存的偏移量,如果是,则向所述服务器发送所述视频下载请求,如果否,则调整所述下载请求中的包括的偏移量信息,使调整后的偏移量信息指示的偏移量大于本地缓存的偏移量。一种视频播放装置,包括:播放器模块,用于接收视频播放请求;请求解析模块,用于解析所述视频播放请求,获得请求播放的视频的统一资源定位符URL;数据缓存模块,用于根据所述URL判断本地缓存中是否缓存有完整的所述请求播放的视频;如果是,则控制所述播放器模块直接播放本地缓存中缓存的完整的所述请求播放的视频;如果否,则确定所述URL所在的服务器,并向所述服务器发送至少一个视频下载请求,以使所述服务器每接收到一个视频下载请求都返回一个已下载视频段;将所述服务器返回的至少一个已下载视频段进行播放并保存在临时缓存中;判断所述服务器返回的至少一个已下载视频段是否是完整的所述请求播放的视频,如果是,则将所述临时缓存中保存的所述至少一个已下载视频段缓存至本地缓存。可选的,所述数据缓存模块具体用于:在播放所述至少一个已下载视频段的过程中如果收到停止播放指令,则判断所述服务器返回的所述至少一个已下载视频段不是完整的所述请求播放的视频。可选的,所述停止播放指令包括:与所述服务器之间的连接中断后重新连接。可选的,所述播放器模块还用于:在与所述服务器之间的连接状态正常的情况下,接收到播放进度调整指令,且所述播放进度调整指令指示的待播放视频段还未下载时,显示正在加载的提示信息。可选的,所述视频下载请求中包括偏移量信息,则所述数据下载模块还用于:在向所述服务器发送视频下载请求之前,判断所述视频下载请求中包括的偏移量信息指示的偏移量是否大于本地缓存的偏移量,如果是,则向所述服务器发送所述视频下载请求,如果否,则调整所述下载请求中的包括的偏移量信息,使调整后的偏移量信息指示的偏移量大于本地缓存的偏移量。基于上述技术方案,本专利技术实施例中公开了一种视频播放方法及装置,接收视频播放请求;解析所述视频播放请求,获得请求播放的视频的统一资源定位符URL;根据所述URL判断本地缓存中是否缓存有完整的所述请求播放的视频;如果是,则直接播放本地缓存中缓存的完整的所述请求播放的视频;如果否,则确定所述URL所在的服务器,并向所述服务器发送至少一个视频下载请求,以使所述服务器每接收到一个视频下载请求都返回一个已下载视频段;将所述服务器返回的至少一个已下载视频段进行播放并保存在临时缓存中;判断所述服务器返回的至少一个已下载视频段是否是完整的所述请求播放的视频,如果是,则将所述临时缓存中保存的所述至少一个已下载视频段缓存至本地缓存。基于上述方法及装置,能够在iOS平台上实现成本低且高效稳定的视频播放。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种视频播放方法的流程示意图;图2为本专利技术实施例提供的又一种视频播放方法的流程示意图;图3为本专利技术实施例提供的再一种视频播放方法的流程示意图;图4为本专利技术实施例公开的一种视频播放装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施本文档来自技高网
...
一种视频播放方法及装置

【技术保护点】
一种视频播放方法,其特征在于,包括:接收视频播放请求;解析所述视频播放请求,获得请求播放的视频的统一资源定位符URL;根据所述URL判断本地缓存中是否缓存有完整的所述请求播放的视频;如果是,则直接播放本地缓存中缓存的完整的所述请求播放的视频;如果否,则确定所述URL所在的服务器,并向所述服务器发送至少一个视频下载请求,以使所述服务器每接收到一个视频下载请求都返回一个已下载视频段;将所述服务器返回的至少一个已下载视频段进行播放并保存在临时缓存中;判断所述服务器返回的至少一个已下载视频段是否是完整的所述请求播放的视频,如果是,则将所述临时缓存中保存的所述至少一个已下载视频段缓存至本地缓存。

【技术特征摘要】
1.一种视频播放方法,其特征在于,包括:接收视频播放请求;解析所述视频播放请求,获得请求播放的视频的统一资源定位符URL;根据所述URL判断本地缓存中是否缓存有完整的所述请求播放的视频;如果是,则直接播放本地缓存中缓存的完整的所述请求播放的视频;如果否,则确定所述URL所在的服务器,并向所述服务器发送至少一个视频下载请求,以使所述服务器每接收到一个视频下载请求都返回一个已下载视频段;将所述服务器返回的至少一个已下载视频段进行播放并保存在临时缓存中;判断所述服务器返回的至少一个已下载视频段是否是完整的所述请求播放的视频,如果是,则将所述临时缓存中保存的所述至少一个已下载视频段缓存至本地缓存。2.根据权利要求1所述的方法,其特征在于,所述判断所述服务器返回的至少一个已下载视频段是否是完整的所述请求播放的视频,包括:在播放所述至少一个已下载视频段的过程中如果收到停止播放指令,则判断所述服务器返回的所述至少一个已下载视频段不是完整的所述请求播放的视频。3.根据权利要求2所述的方法,其特征在于,所述停止播放指令包括:与所述服务器之间的连接中断后重新连接。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在与所述服务器之间的连接状态正常的情况下,接收到播放进度调整指令,且所述播放进度调整指令指示的待播放视频段还未下载时,显示正在加载的提示信息。5.根据权利要求1所述的方法,其特征在于,所述视频下载请求中包括偏移量信息,则在向所述服务器发送视频下载请求之前,所述方法还包括:判断所述视频下载请求中包括的偏移量信息指示的偏移量是否大于本地缓存的偏移量,如果是,则向所述服务器发送所述视频下载请求,如果否,则调整所述下载请求中的包括的偏移量信息,使调整后的偏移量信息指示的偏移量大于本地缓存的偏移量。6.一种视频播...

【专利技术属性】
技术研发人员:孙旭让郑晨
申请(专利权)人:北京搜狐新媒体信息技术有限公司
类型:发明
国别省市:北京,11

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

1