上一篇 java下載m3u8視頻,解密併合並ts(一)——m3u8概述
下一篇java下載m3u8視頻,解密併合並ts(三)——代碼實現
m3u8鏈接的獲取
樣例一:兩個m3u8無key
首先在瀏覽器播放視頻的時候打開開發者工具(大部分快捷鍵是F12),找到Network標籤,刷新頁面,然後找到含有m3u8的鏈接。
如上圖,會發現檢索到了兩個m3u8鏈接。如果你一個都沒找到,說明這個視頻不是m3u8的視頻。
對於上面兩個m3u8鏈接,點開發現,第一個是有#EXT-X-STREAM-IN標籤,這個說明其他信息在第二個m3u8鏈接裏面。
看第二個,這個裏面沒有#EXT-X-KEY標籤,說明下面的ts片段無需解密,下載完後即可播放。
一般情況下,我們需要的是第一個鏈接。也就是Request URL:後面的鏈接。這個就是文章後面要用的m3u8鏈接。
樣例二:一個m3u8鏈接無key
如果是這種樣子的,那麼直接取Headers標籤裏面Request URL:後的鏈接即可。
樣例三:兩個個m3u8鏈接有key
第一個m3u8鏈接表明其他ts片段等信息需要從第二個m3u8獲取,第二個m3u8的鏈接也就是第一個m3u8鏈接去掉後面的文件名部分再加上下圖框起來的部分。
第二個m3u8裏面含有#EXT-X-KEY,說明我們ts片段需要加密。
#EXT-X-KEY後面的METHOD爲加密算法,後面我們可以以這個算法解密,下圖的算法即AES-128,URI就是解密時獲取密鑰的鏈接,也就是把第二個m3u8鏈接後面文件名部分去掉,即index.m3u8然後換成URI後面的key.key即可,訪問這個鏈接後,就可以獲取密鑰了。
我們下載的時候仍然取第一個m3u8鏈接。
上一篇 java下載m3u8視頻,解密併合並ts(一)——m3u8概述
下一篇java下載m3u8視頻,解密併合並ts(三)——代碼實現