实现HLS频道时移播放的方法及系统技术方案

技术编号:9571980 阅读:546 留言:0更新日期:2014-01-16 04:40
本发明专利技术公开了一种实现HLS频道时移播放的方法及系统,涉及互联网多媒体领域,该方法为:服务器保留时移范围内的分片;客户进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,生成一个新的URL发到服务器;服务器解析出时间差,算出应播放的分片,组织新的m3u8文件发给客户端;客户端依次请求分片播放,快播放完所有分片时,再用前面的URL来请求新的m3u8文件;服务器解析出时间差,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端;客户端收到新的m3u8文件后,计算应播放哪个分片,再依次请求播放;客户端周期性请求新的m3u8文件。本发明专利技术能实现HLS频道的时移播放,提升用户体验。

【技术实现步骤摘要】
实现HLS频道时移播放的方法及系统
本专利技术涉及互联网多媒体领域,特别是涉及一种实现HLS(HTTPLiveStreaming,苹果公司实现的基于HTTP的流媒体网络传输协议)频道时移播放的方法及系统。
技术介绍
互联网多媒体的应用日益兴旺,HLS的规范在互联网多媒体应用越来越广泛。HLS在互联网的应用主要是VOD(VideoOnDemand,视频点播)播放和频道播放。简单描述一下HLS实现VOD播放的方法,客户端首先请求这个VOD的m3u8(播放列表文件)文件,服务器收到该请求后,生成一个m3u8文件,该m3u8文件里面包含多个分片的信息,每个分片在m3u8文件中都有固定唯一的序号,客户端依次请求播放分片。当需要拖动时,客户端计算出需要播放的分片,直接请求这个分片,并依次请求其后的分片进行播放。下面简单描述一下HLS实现频道播放的流程:客户端首先请求某个频道的m3u8文件,服务器收到请求后,生成一个m3u8文件,该m3u8文件里面包含当前时间之前的若干个分片,并包含TAG(标签)项#EXT-X-MEDIA-SEQUENCE(媒体序号),来表明该m3u8文件的第一个分片的序号,客户端根据m3u8文件中的内容依次请求每个分片的播放,快播放完所有分片时,客户端用相同的URL(Uniform/UniversalResourceLocator,统一资源定位符)再到服务器请求新的m3u8文件,客户端根据新的m3u8文件中的TAG项#EXT-X-MEDIA-SEQUENCE,来决定后边应该请求的分片,然后再请求对该分片进行播放,如此周期性循环,以实现频道直播的播放。目前的HLS频道播放只能实现直播的播放,无法实现频道时移的播放,用户体验受到限制。
技术实现思路
本专利技术的目的是为了克服上述
技术介绍
的不足,提供一种实现HLS频道时移播放的方法及系统,在不修改HLS规范的情况下,能够实现HLS频道的时移播放,提升用户体验。本专利技术提供一种实现HLS频道时移播放的方法,包括以下步骤:S1、客户端和服务器依据苹果公司实现的基于HTTP的流媒体网络传输协议HLS规范实现频道直播流服务,服务器保留所有在时移范围内的分片;S2、客户端正在播放当前频道,服务器根据客户端请求的统一资源定位符URL返回播放列表文件m3u8文件;客户端提供一个用于显示时移范围、客户进行时移操作的时间条;S3、当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;S4、服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;S5、客户端收到新的m3u8文件后,依次请求分片进行播放;S6、客户端在快播放完所有分片时,再次用S3中的新的URL来请求新的m3u8文件,时间差是固定的;S7、服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;S8、客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;S9、重复步骤S3~S8,客户端周期性请求新的m3u8文件,每次请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。在上述技术方案的基础上,步骤S9之后还包括以下步骤:S10、客户端进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL,重新开始播放,客户端新收到的m3u8文件中的分片和原来正在播放的分片是衔接上的。本专利技术还提供一种实现HLS频道时移播放的系统,包括客户端和服务器,所述客户端和服务器依据HLS规范实现频道直播流服务,所述服务器还用于:保留所有在时移范围内的分片;根据客户端请求的URL返回m3u8文件;所述客户端还用于:提供一个用于显示时移范围、客户进行时移操作的时间条;当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;所述服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;所述客户端收到新的m3u8文件后,依次请求分片进行播放;在快播放完所有分片时,再次用新的URL来请求新的m3u8文件,时间差是固定的;所述服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;所述客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;客户端周期性请求新的m3u8文件,每次请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。在上述技术方案的基础上,所述客户端还用于:进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL,重新开始播放,客户端新收到的m3u8文件中的分片和原来正在播放的分片是衔接上的。与现有技术相比,本专利技术的优点如下:本专利技术在不修改HLS规范的情况下,能够实现HLS频道的时移播放,提升用户体验。附图说明图1是本专利技术实施例中实现HLS频道时移播放的方法的流程图。图2是服务器当前保留分片的示意图。图3是客户端正在播放当前频道的示意图。图4是客户端往前时移90秒的示意图。图5是在图2的基础上延时1分钟后服务器保留分片变化的示意图。图6是暂停10秒后重新生成新的URL进行请求的示意图。具体实施方式下面结合附图及具体实施例对本专利技术作进一步的详细描述。参见图1所示,本专利技术实施例提供一种实现HLS频道时移播放的方法,包括以下步骤:S1、客户端和服务器依据HLS规范实现频道直播流服务,参见图2所示,服务器保留所有在时移范围内的分片,假定每个分片是10秒,当前正的生成的分片的序号是1140,假定这个频道的ID是1001;S2、参见图3所示,客户端正在播放当前频道,服务器根据客户端请求的URL返回m3u8文件,客户端请求的URL是http://ip/hls/live/1001.m3u8,服务器返回的m3u8文件中包括三个分片,序号分别是1137、1138、1139;客户端提供一个用于显示时移范围、客户进行时移操作的时间条;S3、当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;例如:参见图4所示,客户进行了往前90秒的时移操作,客户端重新请求,请求的URL是http://ip/hls/live/1001.m3u8?timeshift=90;S4、服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;例如:服务器收到请本文档来自技高网
...
实现HLS频道时移播放的方法及系统

【技术保护点】
一种实现HLS频道时移播放的方法,其特征在于,包括以下步骤:S1、客户端和服务器依据苹果公司实现的基于HTTP的流媒体网络传输协议HLS规范实现频道直播流服务,服务器保留所有在时移范围内的分片;S2、客户端正在播放当前频道,服务器根据客户端请求的统一资源定位符URL返回播放列表文件m3u8文件;客户端提供一个用于显示时移范围、客户进行时移操作的时间条;S3、当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;S4、服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;S5、客户端收到新的m3u8文件后,依次请求分片进行播放;S6、客户端在快播放完所有分片时,再次用前面的URL来请求新的m3u8文件,时间差是固定的;S7、服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;S8、客户端收到新的m3u8文件后,根据标签项媒体序号#EXT?X?MEDIA?SEQUENCE来计算应该播放哪个分片,再依次请求播放;S9、重复步骤S3~S8,客户端周期性请求新的m3u8文件,每次 请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。...

【技术特征摘要】
1.一种实现HLS频道时移播放的方法,其特征在于,包括以下步骤:S1、客户端和服务器依据苹果公司实现的基于HTTP的流媒体网络传输协议HLS规范实现频道直播流服务,服务器保留所有在时移范围内的分片;S2、客户端正在播放当前频道,服务器根据客户端请求的统一资源定位符URL返回播放列表文件m3u8文件;客户端提供一个用于显示时移范围、客户进行时移操作的时间条;S3、当客户在时移范围内进行时移操作时,客户端根据当前时间和时移的时间点算出时间差,然后根据这个时间差生成一个新的URL,发到服务器请求新的m3u8文件;S4、服务器收到该新的URL后,解析出时间差,并根据这个时间差算出应该播放的分片,组织新的m3u8文件发送给客户端;S5、客户端收到新的m3u8文件后,依次请求分片进行播放;S6、客户端在快播放完所有分片时,再次用S3中新的URL来请求新的m3u8文件,时间差是固定的;S7、服务器收到该URL后,解析出时间差,并根据这个时间差和当前保存的内容,算出应该播放的分片的序号,组织新的m3u8文件发送给客户端,服务器生成的新的m3u8文件中的分片是和上次发送的m3u8文件的分片是衔接的;S8、客户端收到新的m3u8文件后,根据标签项媒体序号#EXT-X-MEDIA-SEQUENCE来计算应该播放哪个分片,再依次请求播放;S9、重复步骤S3~S8,客户端周期性请求新的m3u8文件,每次请求都和当前时间有个固定的时间差,实现HLS频道时移的播放。2.如权利要求1所述的实现HLS频道时移播放的方法,其特征在于:步骤S9之后还包括以下步骤:S10、客户端进行暂停操作时,记录下暂停的时间,当继续播放时,客户端重新修正时间差,将时间差再加上暂停的时间,生成一个新的URL...

【专利技术属性】
技术研发人员:杜兵
申请(专利权)人:武汉市烽视威科技有限公司
类型:发明
国别省市:

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

1