java下载m3u8视频,解密并合并ts(二)

时间:2024-03-31 09:00:23

上一篇 java下载m3u8视频,解密并合并ts(一)

下一篇java下载m3u8视频,解密并合并ts(三)

m3u8链接的获取

样例一:两个m3u8无key

首先在浏览器播放视频的时候打开开发者工具(大部分快捷键是F12),找到Network标签,刷新页面,然后找到含有m3u8的链接。

java下载m3u8视频,解密并合并ts(二)

 

如上图,会发现检索到了两个m3u8链接。如果你一个都没找到,说明这个视频不是m3u8的视频。

对于上面两个m3u8链接,点开发现,第一个是有#EXT-X-STREAM-IN标签,这个说明其他信息在第二个m3u8链接里面。

java下载m3u8视频,解密并合并ts(二)

看第二个,这个里面没有#EXT-X-KEY标签,说明下面的ts片段无需解密,下载完后即可播放。

一般情况下,我们需要的是第一个链接。也就是Request URL:后面的链接。这个就是文章后面要用的m3u8链接。

java下载m3u8视频,解密并合并ts(二)

样例二:一个m3u8链接无key

java下载m3u8视频,解密并合并ts(二)

如果是这种样子的,那么直接取Headers标签里面Request URL:后的链接即可。

样例三:两个个m3u8链接有key

第一个m3u8链接表明其他ts片段等信息需要从第二个m3u8获取,第二个m3u8的链接也就是第一个m3u8链接去掉后面的文件名部分再加上下图框起来的部分。

java下载m3u8视频,解密并合并ts(二)

第二个m3u8里面含有#EXT-X-KEY,说明我们ts片段需要加密。

#EXT-X-KEY后面的METHOD为加密算法,后面我们可以以这个算法解密,下图的算法即AES-128,URI就是解密时获取**的链接,也就是把第二个m3u8链接后面文件名部分去掉,即index.m3u8然后换成URI后面的key.key即可,访问这个链接后,就可以获取**了。

我们下载的时候仍然取第一个m3u8链接。

java下载m3u8视频,解密并合并ts(二)

 

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

上一篇 java下载m3u8视频,解密并合并ts(一)

下一篇java下载m3u8视频,解密并合并ts(三)