一种基于HLS的本地视频播放系统及播放方法技术方案

技术编号:23349742 阅读:122 留言:0更新日期:2020-02-15 06:06
本发明专利技术涉及音视频安全系统技术领域,具体而言,涉及一种基于HLS的本地视频播放系统及播放方法。本发明专利技术提供的基于HLS的本地视频播放系统,包括视频提供端和客户端,视频提供端包括密钥提供模块、HLS加密模块、内容输出模块;所述客户端包括解密模块、本地HLS服务器创建模块、m3u8文件生成模块及HLS播放模块。通过使用视频提供端和客户端之间约定的第二密钥对视频切片所用的第一密钥进行加密,及第二密钥分别预先内置于视频提供端和客户端,使得视频提供端和客户端之间具有关于第二密钥的匹配性,有效保障了本地视频文件的安全性。

A local video playing system and method based on HLS

【技术实现步骤摘要】
一种基于HLS的本地视频播放系统及播放方法
本专利技术涉及音视频安全系统
,具体而言,涉及一种基于HLS的本地视频播放系统及播放方法。
技术介绍
随着科技发展各种新型音视频产品问世,市场对音视频内容需求越来越多了。为了防止音视频被非法拷贝,保障音视频发行方的权益,维持视频内容市场的良性发展,对音视频数字版权的保护需求越来越高,尤其是对于本地音视频,如何提高本地音视频的版权保护,防止被恶意、非法的复制拷贝成为当下的一个研究热点。HLS(HTTPLiveStreaming,基于HTTP的流媒体网络传输协议)协议是由苹果公司创立,针对iPhone,iPad等通信终端设计的。它的基本实现原理为将一个大的媒体文件进行分片,将分片文件资源路径记录于m3u8文件内,用于提供给客户端。客户端根据该m3u8文件即可获取对应的媒体资源进行播放。M3U是一种文件格式,是某些移动设备例如安卓,苹果手机浏览器缓存视频的“专用视频格式”文件,它记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放,M3U8文件是指UTF-8编码格式的M3U文件。AES-128(AdvancedEncryptionStandard,高级加密标准)是一种标准化的加密方法,在绝大部分的硬件芯片、软件平台中进行内。现有的HLS协议里就提供了AES-128音视频码流数据加密方法,媒体文件分片成一个个切片文件,使用AES-128的密钥对切片加密,然后生成m3u8文件。m3u8文件中包含加密后的切片和切片密钥的URL地址,之后发布到HTTP服务器上。客户端下载并解析m3u8文件,然后下载切片文件和切片对应的密钥即可进行解密播放。NanoHttpd是个很强大的开源库,是使用Java实现的微型webserver,是一个可嵌入应用程序的轻量级的HTTPServer,对Android平台来说,是一个很不错的微型服务器解决方案,可以非常方便地集成到Android应用中去。
技术实现思路
本专利技术的目的在于提供一种易于实现并具有高安全性的本地视频播放保护,提出了一种基于HLS的本地视频播放系统及播放方法,实现对本地视频的安全保护。为实现上述目的,本专利技术提供如下技术方案:本专利技术提供一种基于HLS的本地视频播放系统,包括视频提供端和客户端:视频提供端包括密钥提供模块、HLS加密模块、内容输出模块;密钥提供模块用于生成对HLS视频切片文件进行AES-128加密所需的第一密钥,及对第一密钥进行加密所需的第二密钥的设置;HLS加密模块提供对源视频文件的HLS切片、对HLS视频切片文件进行加密处理及基于AES-128加密方法对所述第一密钥进行加密;内容输出模块用于输出加密视频内容文件,加密视频内容文件包括加密HLS视频切片文件和视频信息文件,视频信息文件包括加密第一密钥文件;客户端包括解密模块、本地HLS服务器创建模块、m3u8文件生成模块及HLS播放模块,本地HLS服务器创建模块用于创建本地HLS服务器,m3u8文件生成模块用于生成符合HLS协议的m3u8视频索引文件,并将m3u8视频索引文件发布到本地HLS服务器上。本地HLS服务器设置为只有客户端具有访问权限;视频提供端和客户端之间具有关于所述第二密钥的匹配性。可选的,视频信息文件还包括源视频文件的视频名称、视频大小、视频分辨率、视频时长、视频示意图、视频格式中的至少一项。可选的,视频提供端和客户端处于不同的设备端。可选的,视频提供端和客户端处于同一个设备端。本专利技术还提供一种基于HLS的本地视频播放方法,应用于基于HLS的本地视频播放系统,具体实施步骤包括:步骤S1:视频提供端的密钥提供模块随机生成第一密钥,及对第二密钥进行设置;HLS切片模块,HLS加密模块对源视频进行切片获得HLS视频切片文件,基于AES-128加密方法使用第一密钥对HLS视频切片文件进行加密后得到加密HLS视频切片文件;加密模块基于AES-128加密方法使用第二密钥对第一密钥进行加密获得加密第一密钥;步骤S2:内容输出模块将加密第一密钥写入视频信息文件,最终输出包含有加密HLS视频切片文件及视频信息文件的加密视频内容文件。步骤S3:使加密视频内容文件与客户端处于同一个设备端,客户端获取所述加密视频内容文件在所述设备上的存放地址;步骤S4:客户端的本地HLS服务器创建模块创建本地HLS服务器;步骤S5:客户端的解密模块索取所述加密视频内容文件中的所述视频信息文件,并使用所述第二密钥对视频信息文件中的加密第一密钥进行解密以获得第一密钥,将获得的第一密钥发布在本地HLS服务器上;步骤S6:客户端的m3u8文件生成模块创建m3u8视频索引文件并发布在本地HLS服务器上;步骤S7:HLS播放模块读取本地HLS服务器上的m3u8视频索引文件,并进行解析、下载、解密及播放。本专利技术还提供另一种基于HLS的本地视频播放方法,应用于基于HLS的本地视频播放系统,具体实施步骤包括:步骤:41:视频提供端的密钥提供模块随机生成第一密钥,及对第二密钥进行设置;HLS切片模块,HLS加密模块对源视频进行切片获得HLS视频切片文件,基于AES-128加密方法使用第一密钥对HLS视频切片文件进行加密后得到加密HLS视频切片文件;加密模块基于AES-128加密方法使用第二密钥对第一密钥进行加密获得加密第一密钥;步骤S42:内容输出模块将加密第一密钥写入视频信息文件,输出包含有加密HLS视频切片文件及视频信息文件的加密视频内容文件。步骤S43:使加密视频内容文件与客户端处于同一个设备端,客户端获取加密视频内容文件的存放地址;步骤S44:客户端的本地HLS服务器创建模块创建本地HLS服务器;步骤S45:客户端的加密模块索取加密视频内容文件中的视频信息文件,并使用第二密钥对视频信息文件中的加密第一密钥进行解密以获得第一密钥,使用获得的第一密钥对加密视频内容文件中的加密HLS视频切片文件进行解密,将解密后的HLS视频切片文件发布到本地HLS服务器上;步骤S46:客户端的m3u8文件生成模块创建m3u8视频索引文件并发布到本地HLS服务器上;步骤S47:客户端的HLS播放模块索取本地HLS服务器上的m3u8视频索引文件,解析、下载及播放。本专利技术提供的基于HLS的本地视频播放系统及播放方法,通过使用视频提供端和客户端之间约定的第二密钥对视频切片所用的第一密钥进行加密,及第二密钥分别预先内置于视频提供端和客户端,使得视频提供端和客户端之间具有关于第二密钥的匹配性,有效保障了本地视频文件的安全性,且通过在客户端创建本地HLS服务器并设置只有该客户端具有访问权限,将关键信息,诸如密钥key、HLS视频切片文件,存放在本地HLS服务器上,进一步增加了本地视频文件的安全性。另外,由于视频提供端用来加密的算法及客户端用来解密的算法均是采用标准的AES-本文档来自技高网
...

【技术保护点】
1.一种基于HLS的本地视频播放系统,其特征在于,包括视频提供端和客户端:/n所述视频提供端包括密钥提供模块、HLS加密模块、内容输出模块;所述密钥提供模块用于生成对HLS视频切片文件进行AES-128加密所需的第一密钥,及对所述第一密钥进行加密所需的第二密钥的设置;所述HLS加密模块提供对源视频文件的HLS切片、对HLS视频切片文件进行加密处理及基于AES-128加密方法对所述第一密钥进行加密;所述内容输出模块用于输出加密视频内容文件,所述加密视频内容文件包括加密HLS视频切片文件和视频信息文件,所述视频信息文件包括加密第一密钥文件;/n所述客户端包括解密模块、本地HLS服务器创建模块、m3u8文件生成模块及HLS播放模块,所述本地HLS服务器创建模块用于创建本地HLS服务器,所述m3u8文件生成模块用于生成符合HLS协议的m3u8视频索引文件,并将所述m3u8视频索引文件发布到所述本地HLS服务器上;/n所述本地HLS服务器设置为只有所述客户端具有访问权限;/n所述视频提供端和所述客户端之间具有关于所述第二密钥的匹配性。/n

【技术特征摘要】
1.一种基于HLS的本地视频播放系统,其特征在于,包括视频提供端和客户端:
所述视频提供端包括密钥提供模块、HLS加密模块、内容输出模块;所述密钥提供模块用于生成对HLS视频切片文件进行AES-128加密所需的第一密钥,及对所述第一密钥进行加密所需的第二密钥的设置;所述HLS加密模块提供对源视频文件的HLS切片、对HLS视频切片文件进行加密处理及基于AES-128加密方法对所述第一密钥进行加密;所述内容输出模块用于输出加密视频内容文件,所述加密视频内容文件包括加密HLS视频切片文件和视频信息文件,所述视频信息文件包括加密第一密钥文件;
所述客户端包括解密模块、本地HLS服务器创建模块、m3u8文件生成模块及HLS播放模块,所述本地HLS服务器创建模块用于创建本地HLS服务器,所述m3u8文件生成模块用于生成符合HLS协议的m3u8视频索引文件,并将所述m3u8视频索引文件发布到所述本地HLS服务器上;
所述本地HLS服务器设置为只有所述客户端具有访问权限;
所述视频提供端和所述客户端之间具有关于所述第二密钥的匹配性。


2.根据权利要求1所述的一种基于HLS的本地视频播放系统,其特征在于,所述视频信息文件还包括视频名称、视频大小、视频分辨率、视频时长、视频示意图、视频格式中的至少一项。


3.根据权利要求1或2所述的一种基于HLS的本地视频播放系统,其特征在于,所述视频提供端和所述客户端处于不同的设备端。


4.根据权利要求1或2所述的一种基于HLS的本地视频播放系统,其特征在于,所述视频提供端和所述客户端处于同一个设备端。


5.一种基于HLS的本地视频播放方法,其特征在于,应用于权利要求1所述的一种基于HLS的本地视频播放系统,具体实施步骤包括:
步骤S1:所述视频提供端的密钥提供模块随机生成第一密钥,及对第二密钥进行设置;HLS加密模块对源视频进行切片获得HLS视频切片文件,基于AES-128加密方法使用第一密钥对HLS视频切片文件进行加密后得到加密HLS视频切片文件;加密模块基于AES-128加密方法使用第二密钥对第一密钥进行加密获得加密第一密钥;
步骤S2:所述视频提供端的内容输出模块将加密第一密钥写入视频信息文件,最终输出...

【专利技术属性】
技术研发人员:王强
申请(专利权)人:深圳创维新世界科技有限公司
类型:发明
国别省市:广东;44

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

1
相关领域技术
  • 暂无相关专利