聊聊m3u8HLS加密的两种方法

2020-04-24

M3u8视频是现在比较常见的视频格式,和MP4格式相比其有自己的优势。我们知道m3u8 文件其实是 HTTP Live Streaming(缩写为 HLS) 协议的部分内容,HLS 的工作原理是把整个流分成一个个小的基于 HTTP 的文件来xia载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的 extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。HLS 只请求基本的 HTTP 报文,与实时传输协议(RTP)不同,HLS 可以穿过任何允许 HTTP 数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。随着视频版权的加强,对于M3u8HLS加密需求也越来越多。那么HLS加密有那些可用方法呢?

目前比较常用的有两种方式:

1.防盗链也就是说给 m3u8 和 ts 文件的url动态生成一个 token , 这个url是随着很多参数动态变化的,比如时间、用户id、ip地址、内容id , 导致无法使用这个url盗链,这种方式可以防止其他网站直接使用这个url来观看或者下载。而ts文件的url 也需要加请求token ,  会变化成类似  http://server/file.ts?token=xxxx 的方式, 这样的话, ts文件的磁盘存储位置不用变化,但是url是可以变化的(可以用query string方式,也可以用 url rewrite 方式),  注意因为url是m3u8生成的,意味着m3u8文件是动态生成而并非静态文件关于CDN缓存的问题。首先m3u8文件肯定不能缓存, 否则ts分片的动态url怎么办?然后动态url的 ts分片CDN缺省是肯定不缓存的,但是可以稍微定制一下让CDN忽略URL中的token部分。很多CDN都有自己的防盗链方案。

2. DRM加密防盗链的方式是一种一般性的保护,假如你想完全保护你的内容,必须给ts内容加密, m3u8有这个tag: #EXT-X-KEY , 一般来说会提供一个url获取加密key, 然后对ts片段解密来播放文件。点量的视频加密方案也是使用的DRM加密,而且是对内容进行帧加密,只能使用专用的播放器才能播放,播放的时候是播放一帧解密一帧,然后直接删除,保证视频的安全性。同时还可以自定义水印等功能。更多关于M3u8HLS加密问题欢迎联系我们。

1 (2).jpg

扫一扫联系客服

  • 客服小刘
  • 客服小耿
  • 客服小芹
山东济南高新区联合财富广场1#1903 投诉建议:advice@dolit.cn
商务合作:market@dolit.cn 售后服务:support@dolit.cn
电话:0531-66561946 15562577050 求职应聘:hr@dolit.cn
行业资讯
友情链接: 点量官网 点量淘宝店铺 视频加密 H5网站视频加密
鲁ICP备13019824号-8