url = 'url地址,自己替换' f = open("index.m3u8", encoding='gb18030', errors='ignore') lines = f.readlines() new=[] for line in lines: if '.ts' in line: line = url + line; new.append(line) file_out=open('out.txt','w', encoding='gb18030', errors='ignore') for line in new: file_out.writelines(line) file_out.close()
f = open("./index.m3u8", encoding='gb18030', errors='ignore') lines = f.readlines() new=[] for line in lines: if '.ts' in line: line = './' + line; new.append(line) file_out=open('out.m3u8','w', encoding='gb18030', errors='ignore') for line in new: file_out.writelines(line) file_out.close()
然后用 ffmpeg 直接输出就行了
1
ffmpeg -allowed_extensions ALL -i out.m3u8 -c copy out.mp4
############# 下载m3u8与key文件 ############# r = requests.get(urlm3u8) with open("index.m3u8",'wb') as f: f.write(r.content)
r = requests.get(urlkey) with open("enc.key",'wb') as f: f.write(r.content) time.sleep(1)
############# 提取m3u8中的ts文件url到out.txt ############# f = open("index.m3u8", encoding='gb18030', errors='ignore') lines = f.readlines() new=[] for line in lines: if'.ts'in line: line = url + line; new.append(line) file_out=open('out.txt','w', encoding='gb18030', errors='ignore') for line in new: file_out.writelines(line) file_out.close() time.sleep(1)
############# 把m3u8中的ts、key文件路径改为本地 ############# f = open("./index.m3u8", encoding='gb18030', errors='ignore') lines = f.readlines() new=[] for line in lines: if'enc.key'in line: temp1=line[0:31] temp2=line[85:132] line = temp1 + './' + temp2 if'.ts'in line: line = './' + line; new.append(line) file_out=open('out.m3u8','w', encoding='gb18030', errors='ignore') for line in new: file_out.writelines(line) file_out.close() time.sleep(1)