一种实现HLS直播码率个数动态调整的系统及方法,涉及互联网多媒体领域,头端的直播源通过增加或减少至少一个码率的子m3u8文件和ts分片,更新主m3u8文件,实现码率个数增加或减少;服务器定期向直播源请求主m3u8文件,检测到其中码率个数有变化时,对应码率个数增加或减少,新增或减少对应的子m3u8及ts分片,更新服务器主m3u8文件;终端定期向服务器请求主m3u8文件,检测到主m3u8文件中码率个数有变化时,结合当前带宽,实现自身存储码率的动态更新;本发明专利技术在不中断服务器存储和终端播放的前提下,实现HLS直播码率个数的动态调整,不影响该频道播放流畅度,实现磁盘存储的最佳利用率。
【技术实现步骤摘要】
本专利技术涉及互联网多媒体领域,具体来讲是一种实现HLS直播码率个数动态调整的系统及方法。
技术介绍
目前,HLS(HTTPLiveStreaming)直播码率自适应技术已经被各种网络视频播放服务广泛采用。该技术针对同一媒体内容,提供不同质量级别的媒体,用户可以根据设备能力和网络情况,在提供的码率范围内,实时调整请求不同质量级别的媒体分片,实现流畅播放视频的目的。但是,当前HLS直播码率自适应技术存在以下缺陷:在不中断服务器存储和终端播放的前提下,直播码率个数无法实现动态增加、动态减少、以及同时动态增加和减少等情况。会因为节目码率太高导致用户视频播放不够流畅,因为节目码率和带宽相差比较多,而导致不能最大化利用终端带宽资源,磁盘存储利用率不高;无法在带宽利用、磁盘存储和视频质量之间取得最佳的平衡。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种实现HLS直播码率个数动态调整的系统及方法,在不中断服务器存储和终端播放的前提下,实现HLS直播码率个数的动态调整,不影响该频道播放流畅度,最大化利用终端带宽资源,实现磁盘存储的最佳利用率;从而在带宽利用、磁盘存储和视频质量之间取得最佳的平衡。为达到以上目的,本专利技术采取一种实现HLS直播码率个数动态调整的系统,包括头端、服务器和终端,所述头端用于提供动态更新的直播源;所述服务器用于动态存储头端的直播源,并提供各种码率的播放出流服务;所述终端用于接收服务器资源并提供给用户。在上述技术方案的基础上,所述头端、服务器和终端,均包括主m3u8文件、子m3u8文件和ts分片,每个主m3u8文件中包含至少一个子m3u8文件URL,每个子m3u8文件中包含多个ts分片URL。本专利技术还提供一种实现HLS直播码率个数动态调整的方法,包括:头端的直播源通过增加至少一个码率的子m3u8文件和ts分片,更新主m3u8文件,实现码率个数增加;直播源通过减少至少一个码率的子m3u8文件和ts分片,更新主m3u8文件,实现码率个数减少;服务器定期向直播源请求主m3u8文件,当检测到主m3u8文件中码率个数有变化时,对应码率个数增加或减少,新增或减少对应的子m3u8及ts分片,更新服务器主m3u8文件;终端定期向服务器请求主m3u8文件,检测到主m3u8文件中码率个数有变化时,结合当前带宽,实现自身存储码率的动态更新;其中,头端直播源码率个数进行增加或减少的情况,包括单独进行、同时进行或者不分顺序的先后进行。在上述技术方案的基础上,头端的直播源新增码率个数,服务器检测到其请求的主m3u8文件中增加码率时,服务器的主m3u8文件增加对应码率的子m3u8文件URL,服务器在当前时间以存储分片的形式增加对应码率的存储,存储分片是按照固定存储大小划分的分片,一个存储分片包含多个ts码率分片。在上述技术方案的基础上,加入所述码率前终端向服务器请求直播,服务器将当前所有码率的主m3u8文件发送给终端,终端选择小于实际带宽且与实际带宽最接近的码率的ts分片,服务器将最接近的码率对应的、从当前录制点开始向前的至少三个ts分片URL,组成相应的子m3u8文件发给终端;终端选择最后三个ts分片依次播放。在上述技术方案的基础上,终端根据当前网络状况自适应调整带宽,并定期向服务器请求主m3u8文件,当请求的主m3u8文件增加码率,且增加的码率小于此时带宽,则立即切换到所增加码率对应ts分片播放。在上述技术方案的基础上,直播源减少码率个数,服务器检测到其请求的主m3u8文件中减少码率,停止原来对应码率ts分片的存储和录制,从服务器主m3u8文件中去掉对应的子m3u8文件URL,且服务器不删除此前已经存储的ts分片。在上述技术方案的基础上,终端根据当前网络状况自适应调整带宽,随着带宽的高低在不同码率之间切换,当切换到某个带宽,且检测到服务器去掉码率的录制时,则切换到小于当前带宽,且最接近当前带宽的码率的ts分片播放。在上述技术方案的基础上,终端在某一带宽下播放某个码率ts分片,当终端检测正在播放的码率的ts分片被服务器删除时,根据终端更新后的主m3u8文件,终端立即切换到低于该码率,且最接近于当前带宽的ts分片播放。在上述技术方案的基础上,服务器定期向头端的直播源请求主m3u8文件,当检测到直播源在增加一个码率的同时减少另一个码率,则增加直播源增加的码率,同时停止直播源减少的码率录制,并更新服务器主m3u8文件。在上述技术方案的基础上,终端根据当前网络状况自适应调整带宽,并定期向服务器请求主m3u8文件,当检测到其请求的主m3u8文件中在增加码率的同时减少了码率,终端切换到小于当前带宽,且与当前带宽最接近的ts分片进行播放。本专利技术的有益效果在于:1、直播源通过修改主m3u8文件实现增加或减少至少一个码率,服务器通过周期性请求直播源的主m3u8文件,动态更新服务器存储实现增加或减少至少一个码率,终端通过定期请求服务器的主m3u8文件自适应切换当前播放的ts分片。整个系统在不中断服务器存储和终端播放的前提下,实现HLS直播码率个数的动态调整(动态增加或减少的情况,包括单独进行、同时进行或者不分顺序的先后进行),不影响该频道播放流畅度。2、系统可以通过增加直播码率个数,更加高效地实现更宽范围的码率自适应,最大限度地利用终端带宽资源,尽可能地提高用户体验。3、系统可以通过减少直播码率个数,减少不需要的存储,更加有效地使用磁盘存储资源。附图说明图1为本专利技术第一实施例,服务器增加8M码率前后的存储分片示意图;图2为本专利技术第一实施例,增加8M码率后终端自适应切换的系统示意图;图3为本专利技术第二实施例,服务器减少3M码率前后的存储分片示意图;图4为本专利技术第二实施例,减少3M码率后终端自适应切换的系统示意图;图5为本专利技术第二实施例,减少3M码率时正在播放该码率的终端切换系统示意图;图6为本专利技术第三实施例,增加8M码率减少3M码率系统示意图;图7为本专利技术第四实施例,增加8M码率后再减少3M码率系统示意图。具体实施方式本专利技术实现HLS直播码率个数动态调整的系统,包括头端、服务器和终端,所述头端用于提供动态更新的直播源;服务器用于动态存储头端的直播源,并提供各种码率的播放出流服务;所本文档来自技高网...
【技术保护点】
一种实现HLS直播码率个数动态调整的系统,其特征在于,包括头端、服务器和终端,所述头端用于提供动态更新的直播源;所述服务器用于动态存储头端的直播源,并提供各种码率的播放出流服务;所述终端用于接收服务器资源并提供给用户。
【技术特征摘要】
1.一种实现HLS直播码率个数动态调整的系统,其特征在于,
包括头端、服务器和终端,所述头端用于提供动态更新的直播源;所
述服务器用于动态存储头端的直播源,并提供各种码率的播放出流服
务;所述终端用于接收服务器资源并提供给用户。
2.如权利要求1所述实现HLS直播码率个数动态调整的系统,
其特征在于:所述头端、服务器和终端,均包括主m3u8文件、子
m3u8文件和ts分片,每个主m3u8文件中包含至少一个子m3u8文
件URL,每个子m3u8文件中包含多个ts分片URL。
3.一种基于权利要求1所述系统的实现HLS直播码率个数动态
调整的方法,其特征在于,包括:
头端的直播源通过增加至少一个码率的子m3u8文件和ts分片,
更新主m3u8文件,实现码率个数增加;直播源通过减少至少一个码
率的子m3u8文件和ts分片,更新主m3u8文件,实现码率个数减少;
服务器定期向直播源请求主m3u8文件,当检测到主m3u8文件
中码率个数有变化时,对应码率个数增加或减少,新增或减少对应的
子m3u8及ts分片,更新服务器主m3u8文件;
终端定期向服务器请求主m3u8文件,检测到主m3u8文件中码
率个数有变化时,结合当前带宽,实现自身存储码率的动态更新;
其中,头端直播源码率个数进行增加或减少的情况,包括单独进
行、同时进行或者不分顺序的先后进行。
4.如权利要求3所述实现HLS直播码率个数动态调整的方法,
其特征在于:头端的直播源新增码率个数,服务器检测到其请求的主
m3u8文件中增加码率时,服务器的主m3u8文件增加对应码率的子
m3u8文件URL,服务器在当前时间以存储分片的形式增加对应码率
\t的存储,存储分片是按照固定存储大小划分的分片,一个存储分片包
含多个ts码率分片。
5.如权利要求4所述实现HLS直播码率个数动态调整的方法,
其特征在于:加入所述码率前终端向服务器请求直播,服务器将当前
所有码率的主m3u8文件发送给终端,终端选择小于实际带宽且与实
际带宽最接近的码率的ts分片,服务器将最接近的码...
【专利技术属性】
技术研发人员:邹世明,
申请(专利权)人:武汉市烽视威科技有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。