java下載m3u8視頻,解密併合並ts(二)

上一篇 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鏈接。

 

git地址:https://github.com/qq494257084/m3u8Download

上一篇 java下載m3u8視頻,解密併合並ts(一)——m3u8概述

下一篇java下載m3u8視頻,解密併合並ts(三)——代碼實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章