JAVA實現視頻加密

應用功能:將上傳的mp4視頻進行加密,用戶觀看視頻時必須請求服務端祕鑰方能播放。

前期準備:

1.java開發環境。

2.ffmepg工具。下載地址

3.祕鑰文件。新建一個TXT文件,輸入幾個字符串,後綴名改成.key即可。

原理介紹:

1.FFmpeg工具可以將mp4視頻轉換成m3u8格式的視頻。

2.m3u8格式的視頻就是一個索引.m3u8文件加若干個切片視頻.ts文件。

3.ts文件通過祕鑰對稱加密生成加密後的ts文件。加密前的文件可以直接用播發器播放,加密後的文件必須用祕鑰解密才能播放。

4..m3u8索引文件其實就是一個TXT文件,記錄了每個切片的位置、時長、和加密/解密祕鑰的位置。

5.mp4轉m3u8的時候可以選擇加密也可以不加密。

第一步:聲明文件位置

String videoPath = "F:/video.mp4";

String toolPath = "F:/ffmpeg.exe";

String m3u8Path = "F:/video/video.m3u8";

String keyPath = "F:/video/key.key";

第二步:拼接命令並執行

StringBuffer buf = new StringBuffer();
buf.append(toolPath);
buf.append(" -y ");
buf.append(videoPath);
buf.append(" -hls_key_info_file ");
buf.append(keyPath);
buf.append(" -hls_playlist_type vod ");
buf.append(" -hls_segment_filename ");
buf.append(" fileSequence%d.ts ");
buf.append(m3u8Path);

try{Runtime.getRuntime().exec(buf.toString());}catch(Exception e){}

第三步:播放加密後的m3u8

保證m3u8文件 、ts文件、key文件的路徑都在/video 下。可直接用 VLC等播發器直接播放m3u8文件。

 

發佈了13 篇原創文章 · 獲贊 10 · 訪問量 8205
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章