现在一些m3u8是有aes加密的.
解密方法也简单,只要找到m3u8指定的密码文件就行了,一般都在#EXT-X-KEY:METHOD=AES-128,URI="xxx"这里.
下面的代码显示了在下载ts片段和密码文件后如何解密.
"""假设已下载的m3u8片段为01.ts,已下载的aes密码文件为key.key,
把解密后的文件输出到01d.ts.
注意解密后的文件在一些太旧的播放器是播放不了的
"""
from Crypto.Cipher import AES
## 读取源文件和密码文件
with open("01.ts", "rb") as f:
src = f.read()
with open("key.key", "rb") as f:
key = f.read()
## 解密
cipher = AES.new(key, AES.MODE_CBC, b'0000000000000000')
outputBytes = cipher.decrypt(src)
## 写入解密结果到文件
with open("01d.ts", "wb") as f:
f.write(outputBytes)