import urllib.request import requests, os, threading from Crypto.Cipher import AES from src.Pacho.moviePa.tsdownload import aes_decode class m3u8down(object): def __init__(self, url, listheaders, dicheaders): self.url = url # 这里的url是index.m3u8地址 self.headers = listheaders self.header = dicheaders self.ts_parts = [] self.down_path = 'D:/workspace/download/Mp4' self.tsthreads = [] self.key = None def aes_decode(self, data, key): """AES解密 :param key: 密钥(16.32)一般16的倍数 :param data: 要解密的数据 :return: 处理好的数据 """ cryptor = AES.new(key, AES.MODE_CBC, key) plain_text = cryptor.decrypt(data) return plain_text.rstrip(b'\0') # .decode("utf-8") def to_ts(self): requests.packages.urllib3.disable_warnings() content_all = requests.get(self.url, v
ts 视频下载
最新推荐文章于 2023-06-16 09:58:57 发布
该博客介绍了一个Python类`m3u8down`,用于下载m3u8格式的视频,包括处理AES-128加密的ts片段。它首先通过`requests`获取m3u8索引文件,解析ts地址,并获取加密密钥。然后使用多线程下载每个ts片段,进行AES解密并保存到本地。
摘要由CSDN通过智能技术生成