关于m3u8格式的视频文件ts转mp4下载和key加密问题

Posted string-lee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于m3u8格式的视频文件ts转mp4下载和key加密问题相关的知识,希望对你有一定的参考价值。

一,利用网站浏览器F12键,利用谷歌浏览器插件找到视频的.m3u8文件,并打开。

技术图片技术图片技术图片

 

二,打开m3u8文件后,里面有很多.ts的链接,和key的链接。

技术图片

 

三,保存为html文件,下载ts文件,代码如下:可加多线程,可能需要用代理。

 1 # 爬虫 123.html就是打开m3u8文件右键保存为html格式。
 2 htmlf=open(./123.html,r,encoding="utf-8")
 3 htmlcont=htmlf.read()
 4 # print(htmlcont)
 5 import requests
 6 from lxml import etree
 7 tree = etree.HTML(htmlcont)
 8 href = tree.xpath("//a//@href")
 9 # print(href)
10 ts = href[2273:]
11 print(len(ts))
12 # print(ts)
13 for i in ts:
14     a = i.split("/")[-1]
15     # print(a)
16     headers = "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36"
17     try:
18         rest = requests.get(i,headers=headers)
19         if rest.status_code == 200:
20             with open(a,"wb") as fp:
21                 fp.write(rest.content)
22                 fp.close()
23     except Exception as e:
24          print(e)

四,方法参考1:

参考链接:https://gist.github.com/larvata/95df619df7109d8b74d2b965a3266354#ffmpeg-cheatsheet

首先 先下载 key 和 m3u8 
然后修改 m3u8 中 key 的路径
最后 用 ffmpeg 下载
ffmpeg -i <source.m3u8> -c copy <target.ts>

四,方法参考2:

关于m3u8文件, ts文件解密, hls 解密. 一些记录

 使用openssl 解密

openssl aes-128-cbc -d -in 原.ts -out 解密后.ts -nosalt -iv 偏移量 -K key16进制
其中 iv 偏移量和 key 一般都会在 m3u8 中。 key要按地址下载下来, iv偏移量是可选的,如果m3u8里没有iv,iv可以随便设置为0。
还可以直接使用 ffmpeg 直接合并文件。

 五,对于加密的m3u8文件:

m3u8视频另一种下载方式
如上图中用ts链接直接下载下来的ts视频文件是加密的(为什么要下加密的?虽然加密但是下载速度快啊)。

#EXT-X-KEY 字段已经写明了加密方式是AES-128,key通过URI获取,IV也有。

技术图片

那怎么解密呢?
1.复制URI地址到网页,你将秒速自动下载得到一个16字节文件
2.打开终端,打开该文件查看16进制:

技术图片

六,获取key值:

 下载m3u8里的key文件,下载winhex.exe应用程序,安装之后,把key文件拖入winhex里,自动生成16进制。

技术图片

 

 七,合成下载好的.ts文件:

左下角点击运行:cmd

copy /b  文件所在盘:\\子文件\\*.ts  储存的文件夹:\\子文件\\new.ts

把上边的汉字换成盘符和文件所在的文件夹。

技术图片

八,合成一个ts文件之后还不能打开,因为ts是加密的。

技术图片

 

 这里,没有iv值,用0代替。这样解密之后的ts文件即可播放。

九,注:ts文件的顺序必须是有序的,不可缺少的。

参考网址:简书:https://www.jianshu.com/p/1b0adcc7b426

 

 

 

以上是关于关于m3u8格式的视频文件ts转mp4下载和key加密问题的主要内容,如果未能解决你的问题,请参考以下文章

m3u8格式转换mp4

如何将m3u8的ts文件合并到mp4?

如何将下载多个m3u8的小视频合并转换为MP4或是其他完整的视频?????

m3u8格式转换mp4

ts文件、m3u8文件 key文件

利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4