基于HLS协议的视频播放方法及装置制造方法及图纸

技术编号:19220226 阅读:23 留言:0更新日期:2018-10-20 08:25
本发明专利技术公开一种基于HLS协议的视频播放方法及装置,能够基于用户的兴趣习惯,向用户精准推送相关兴趣视频,并且可使多段兴趣视频无缝拼接播放,提高用户的视频观看体验。该方法包括:获取用户的网络行为信息,所述网络行为信息包括搜索信息、点击信息、浏览信息、收藏信息中的一种或多种;根据网络行为信息生成用户兴趣参数,并基于用户兴趣参数向用户的播放器推送多条兴趣视频数据;将每条兴趣视频数据转换成对应的裸流数据,通过对裸流数据顺序汇总封装获得多个TS切片;基于多条裸流数据的播放总时长信息生成m3u8列表,播放器根据m3u8列表调取对应的TS切片解码播放。

【技术实现步骤摘要】
基于HLS协议的视频播放方法及装置
本专利技术涉及视频播放
,尤其涉及一种视频播放方法及装置。
技术介绍
HLS(Httplivestreaming)协议是苹果公司实现的基于超文本传输协议Http的流媒体传输协议,HLS协议将容量巨大的连续媒体数据进行分段,分割为数量众多的小文件进行传递,迎合了网页服务器的文件传输性,并采用一个不断更新的轻量级索引文件来控制分割后小媒体文件的下载和播放,可以实现流媒体的直播和点播。通过HLS协议,视频数据经处理后分为视频片段ts文件以及媒体数据索引m3u8文件,并存在于云服务器上。m3u8文件实际上只是一种文件组的组织形式,将视频片段ts文件以播放列表的形式组织在一起以供多媒体播放器下载播放。m3u8文件中通常包括视频片段的多个统一资源定位符URL。多媒体播放器获取m3u8文件后,进而按照其中的URL下载对应的视频片段并进行播放。现有技术中,服务器基于HLS协议向用户推送视频时,多采用的是盲目轰炸的推送方式,由于视频投放的精准度差,可能会使用户收到诸多不感兴趣的视频;另外,使用现有技术推送多段视频时,播放器需要依次下载多个视频对应的m3u8文件,并通过每个m3u8文件下载视频片段ts文件进行播放,由于不同m3u8文件间中的视频片段ts文件无法拼接播放,因此当前视频播放和下一视频播放间会有明显“断层”感,降低了用户的视频观看体验。
技术实现思路
本专利技术的目的在于提供一种基于HLS协议的视频播放方法及系统,能够基于用户的兴趣习惯,向用户精准推送相关兴趣视频,并且可使多段兴趣视频无缝拼接播放,提高用户的视频观看体验。为了实现上述目的,本专利技术的一方面提供一种基于HLS协议的视频播放方法,包括:获取用户的网络行为信息,所述网络行为信息包括搜索信息、点击信息、浏览信息、收藏信息中的一种或多种;根据网络行为信息生成用户兴趣参数,并基于用户兴趣参数向用户的播放器推送多条兴趣视频数据;将每条兴趣视频数据转换成对应的裸流数据,通过对裸流数据顺序汇总封装获得多个TS切片;基于多条裸流数据的播放总时长信息生成m3u8列表,播放器根据m3u8列表调取对应的TS切片解码播放。优选地,所述将每条兴趣视频数据转换成对应的裸流数据,通过对裸流数据顺序汇总封装得到多个TS切片的方法包括:预设多种流媒体协议和多种解封装;根据推送的兴趣视频数据的传输协议类型调用相应的流媒体协议解析,得到对应封装格式的流媒体数据;构建环形缓冲区,顺序将多个流媒体数据存储于环形缓冲区;从环形缓冲区中依次提取流媒体数据,并调用对应类型的解封装对流媒体数据解封装,转换成多条裸流数据;接收裸流数据顺序汇总,并使用HLS封装得到多个TS切片。示例性地,所述流媒体协议包括HTTP解协议、RTSP解协议、RTMP解协议中的一种或多种。示例性地,所述解封装包括MP4解封装、FLV解封装、AVI解封装中的一种或多种。较佳地,所述构建环形缓冲区,顺序将多个流媒体数据存储于环形缓冲区的方法包括:建立n个用于存储流媒体数据的区域,形成环形缓冲区,其中,区域与流媒体数据为一一对应的存储关系;当流媒体数据的数量小于或等于n时,将流媒体数据顺序存储于对应的区域;当流媒体数据的数量大于n时,利用环形分布的区域循环存储依次进出的流媒体数据。进一步地,所述播放器根据m3u8列表调取对应的TS切片解码播放的方法包括:判断本地文件中是否存储有m3u8列表中的URL指向的兴趣视频数据;若是,则用本地文件中相应的视频数据的存储路径替换所述兴趣视频数据的URL,播放器调取本地文件中相应的视频数据进行播放;若无,播放器根据m3u8列表中的URL调取对应的TS切片解码播放。优选地,所述判断本地文件中是否存储有m3u8列表中的URL指向的兴趣视频数据的方法包括:记录本地文件中存储的各视频数据的MD5值,构建比对集合;获取当前兴趣视频数据的URL计算其MD5值;若当前兴趣视频数据的MD5值存在于比对集合,则判断本地文件中存储有m3u8列表中的URL指向的兴趣视频数据;否则,则判断本地文件中没有存储m3u8列表中的URL指向的兴趣视频数据。较佳地,在所述播放器根据m3u8列表调取对应的TS切片解码播放的步骤之后还包括:在本地文件中保存播放器已播放完毕的兴趣视频数据;按照兴趣视频数据的活跃度排名,删除本地文件中活跃度排名在阈值后的兴趣视频数据。优选地,所述活跃度排名的方法包括:按照兴趣视频数据被播放的先后顺序排名,据当前时间越近则活跃度排名越高。与现有技术相比,本专利技术提供的基于HLS协议的视频播放方法具有以下有益效果:通过从网站服务器中获取用户的网络行为信息,例如搜索信息、点击信息、浏览信息、收藏信息等,并基于上述网络行为信息生成用户兴趣参数,以实现向用户播放器精准投放兴趣视频数据,在播放器接收到网站服务器推送的多条兴趣视频数据时,会将其对应转换成多条裸流数据,并将多条裸流数据顺序汇总封装成多个TS切片,以使多个TS切片对应于同一个m3u8列表,进而可实现多条兴趣视频数据的无缝拼接播放。可见,使用本专利技术提供的视频播放方法,不仅能够向用户播放器精准推荐多条兴趣视频数据,并且还能够实现多条兴趣视频数据的无缝拼接播放,提高用户的视频观看体验。本专利技术的另一方面提供一种基于HLS协议的视频播放装置,应用于上述技术方案所述的基于HLS协议的视频播放方法中,所述装置包括:行为信息获取单元,用于获取用户的网络行为信息,所述网络行为信息包括搜索信息、点击信息、浏览信息、收藏信息中的一种或多种;视频推送单元,用于根据网络行为信息生成用户兴趣参数,并基于用户兴趣参数向用户的播放器推送多条兴趣视频数据;TS切片单元,用于将每条兴趣视频数据转换成对应的裸流数据,通过对裸流数据顺序汇总封装得到多个TS切片;解码播放单元,基于多条裸流数据的播放总时长信息生成m3u8列表,播放器根据m3u8列表调取对应的TS切片解码播放。优选地,所述TS切片单元包括预设模块、流媒体数据解析模块、缓冲模块、解封装模块和HLS封装模块;所述预设模块用于预设多种流媒体协议和多种解封装;所述流媒体数据解析模块用于根据推送的兴趣视频数据的传输协议类型调用相应的流媒体协议解析,得到对应封装格式的流媒体数据;所述缓冲模块用于构建环形缓冲区,顺序将多个流媒体数据存储于环形缓冲区;所述解封装模块用于从环形缓冲区中依次提取流媒体数据,并调用对应类型的解封装对流媒体数据解封装,转换成多条裸流数据;所述HLS封装模块用于接收裸流数据顺序汇总,并使用HLS封装得到多个TS切片。较佳地,还包括本地文件存储管理单元,其中本地文件存储管理单元包括存储模块和管理模块;所述存储模块用于在本地文件中保存播放器已播放完毕的兴趣视频数据;所述管理模块用于按照兴趣视频数据的活跃度排名,删除本地文件中活跃度排名在阈值后的兴趣视频数据。与现有技术相比,本专利技术提供的基于HLS协议的视频播放装置的有益效果与上述技术方案提供的基于HLS协议的视频播放方法有益效果相同,在此不做赘述。附图说明此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1为本专利技术实施例一中基于HLS协议本文档来自技高网...

【技术保护点】
1.一种基于HLS协议的视频播放方法,其特征在于,包括:获取用户的网络行为信息,所述网络行为信息包括搜索信息、点击信息、浏览信息、收藏信息中的一种或多种;根据网络行为信息生成用户兴趣参数,并基于用户兴趣参数向用户的播放器推送多条兴趣视频数据;将每条兴趣视频数据转换成对应的裸流数据,通过对裸流数据顺序汇总封装获得多个TS切片;基于多条裸流数据的播放总时长信息生成m3u8列表,播放器根据m3u8列表调取对应的TS切片解码播放。

【技术特征摘要】
1.一种基于HLS协议的视频播放方法,其特征在于,包括:获取用户的网络行为信息,所述网络行为信息包括搜索信息、点击信息、浏览信息、收藏信息中的一种或多种;根据网络行为信息生成用户兴趣参数,并基于用户兴趣参数向用户的播放器推送多条兴趣视频数据;将每条兴趣视频数据转换成对应的裸流数据,通过对裸流数据顺序汇总封装获得多个TS切片;基于多条裸流数据的播放总时长信息生成m3u8列表,播放器根据m3u8列表调取对应的TS切片解码播放。2.根据权利要求1所述的方法,其特征在于,所述将每条兴趣视频数据转换成对应的裸流数据,通过对裸流数据顺序汇总封装得到多个TS切片的方法包括:预设多种流媒体协议和多种解封装;根据推送的兴趣视频数据的传输协议类型调用相应的流媒体协议解析,得到对应封装格式的流媒体数据;构建环形缓冲区,顺序将多个流媒体数据存储于环形缓冲区;从环形缓冲区中依次提取流媒体数据,并调用对应类型的解封装对流媒体数据解封装,转换成多条裸流数据;接收裸流数据顺序汇总,并使用HLS封装得到多个TS切片。3.根据权利要求2所述的方法,其特征在于,所述构建环形缓冲区,顺序将多个流媒体数据存储于环形缓冲区的方法包括:建立n个用于存储流媒体数据的区域,形成环形缓冲区,其中,区域与流媒体数据为一一对应的存储关系;当流媒体数据的数量小于或等于n时,将流媒体数据顺序存储于对应的区域;当流媒体数据的数量大于n时,利用环形分布的区域循环存储依次进出的流媒体数据。4.根据权利要求1所述的方法,其特征在于,所述播放器根据m3u8列表调取对应的TS切片解码播放的方法包括:判断本地文件中是否存储有m3u8列表中的URL指向的兴趣视频数据;若是,则用本地文件中相应的视频数据的存储路径替换所述兴趣视频数据的URL,播放器调取本地文件中相应的视频数据进行播放;若无,播放器根据m3u8列表中的URL调取对应的TS切片解码播放。5.根据权利要求4所述的方法,其特征在于,所述判断本地文件中是否存储有m3u8列表中的URL指向的兴趣视频数据的方法包括:记录本地文件中存储的各视频数据的MD5值,构建比对集合;获取当前兴趣视频数据的URL计算其MD5值;若当前兴趣视频数据的MD5值存在于...

【专利技术属性】
技术研发人员:方亮张伟雷云雷震周小军
申请(专利权)人:苏宁易购集团股份有限公司
类型:发明
国别省市:江苏,32

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

1