二,打开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>
关于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视频另一种下载方式
如上图中用ts链接直接下载下来的ts视频文件是加密的(为什么要下加密的?虽然加密但是下载速度快啊)。
#EXT-X-KEY 字段已经写明了加密方式是AES-128,key通过URI获取,IV也有。
那怎么解密呢?
1.复制URI地址到网页,你将秒速自动下载得到一个16字节文件
2.打开终端,打开该文件查看16进制:
下载m3u8里的key文件,下载winhex.exe应用程序,安装之后,把key文件拖入winhex里,@R_403_6796@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格式的视频文件ts转mp4下载和key加密问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)