一套簡單的基於HLS流媒體協議,使用video.js + NodeJS + FFmpeg等相關技術實現的m3u8+ts+aes128視頻加密及播放的解決方案。
起初是為了將工作中已有的基於Flash的視頻播放器替換為不依賴Flash的HTML5視頻播放器,主要使用了現有的video.js開源播放器做的定製化開發。當完成視頻播放器的製作後,在進一步延伸Web端視頻加密的相關內容時,開始了解並逐漸深入的研究了相關視頻加密內容。最終通過整理歸納,以及自身的理解,做了這個簡單的Demo。目的是為了能夠給在視頻加密這方面有相同目的的道友提供微薄的幫助,要是能起到拋磚引玉的效果,自然是再好不過了。
本項目的核心原理其實就是講解了一個視頻源從正常的mp4格式如何變為加密後的m3u8文件+ts文件+key秘鑰文件,之後又如何在服務端被限制訪問,最終能夠在客戶端正常播放的視頻加密、解密並播放的流程。