這個講一講思路,有興趣的朋友可以找我私聊。
思路
在nginx的模塊中是有secure_link
這樣的字段的,也就是說,你通過傳一個流媒體的有效時間參數,然后加密,就可以實現這個src的有效時長.然后通過刷新這個video的src就可以使它在一定時間內無效。意思有點像我的下一篇博文Jquery.$ajax獲取HTTP statusCode.可以體會一下那個意思。
方案
通過上面的思路是可以把你的流媒體給加密起來的,但是通過抓包,還是有可能把服務器上的媒體文件整個抓下來。但其實愛奇藝也差不多就是這樣做的。。
保險一些的方案:
將試看的時間斷在服務器上通過ffmpeg剪切到另外一個文件夾。
非會員訪問時訪問這個試看文件夾,而會員訪問加密鏈接的文件夾,會員的觀看鏈接加密是為了不讓客戶那么容易去下載下來,當然需要分配一個大于視頻時長的試看時間。