[hls]m3u8视频如何处理成加密?
作者:深藍(lán)加菲
鏈接:https://www.zhihu.com/question/20697986/answer/128433075
來源:知乎
著作權(quán)歸作者所有,轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)。
?
HLS的加密 , 這個(gè)有兩種方式:?
1. 常見的一種是防盜鏈(嚴(yán)格來講這不屬于加密) , 也就是說給 m3u8 和 ts 文件的url動(dòng)態(tài)生成一個(gè) token , 比如這個(gè):
http://www.cuplayer.com/m3u8/hunan/desc.m3u8?stream_id=hunan<m=1410595018&lkey=8bc1e0fe35f6321ef560f8ccffb70e5d&path=59.49.42.14,58.59.3.9,58.59.3.51&platid=10&splatid=1015&tag=live&cips=127.0.0.1&ext=m3u8&sign=live_tv
這個(gè)url是隨著很多參數(shù)動(dòng)態(tài)變化的,比如時(shí)間,用戶id、ip地址,內(nèi)容id , 導(dǎo)致你無法使用這個(gè)url盜鏈,這種方式可以防止其他網(wǎng)站直接使用你的url來觀看或者一般用戶的下載。
而ts文件的url 也需要加請(qǐng)求token , 會(huì)變化成類似?http://server/file.ts?token=xxxx?的方式, 這樣的話, ts文件的磁盤存儲(chǔ)位置不用變化,但是url是可以變化的(可以用query string方式,也可以用 url rewrite 方式), 注意因?yàn)閡rl是m3u8生成的,意味著m3u8文件是動(dòng)態(tài)生成而并非靜態(tài)文件
關(guān)于CDN緩存的問題, 首先m3u8文件肯定不能緩存, 否則ts分片的動(dòng)態(tài)url怎么辦?
然后動(dòng)態(tài)url的 ts分片CDN缺省是肯定不緩存的,但是可以稍微定制一下讓CDN忽略URL中的token部分。很多CDN都有自己的防盜鏈方案。
2. DRM加密。防盜鏈的方式是一種一般性的保護(hù), 假如你想完全保護(hù)你的內(nèi)容,必須給ts內(nèi)容加密, m3u8有這個(gè)tag: #EXT-X-KEY , 一般來說會(huì)提供一個(gè)url獲取加密key, 然后對(duì)ts片段解密來播放文件
演示:http://www.cuplayer.com/cu/Encrypt/Polyv.html
總結(jié)
以上是生活随笔為你收集整理的[hls]m3u8视频如何处理成加密?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解读直播连麦与点播加密
- 下一篇: ffmpeg分解视频文件并加密