某些个视频网站弄一些vip来恶心人,具体是谁,咱不说大家也都知道。
直接来说具体的做法,首先是抓包得到对应请求链接(如果是web端,更简单了)。
我这里抓到一个视频主链接是相当于webview的形式,也就是web端直接可以打开的网页,但vip限制仍然在。
接下来f12审查元素,发现里面有请求一个key文件,说明这个m3u8是有key加密的。
直接新标签另存为这个key文件,比如另存为enkey.key。
接下来下载他的主m3u8文件,这个之前有说过,这里不再重复。
这里也主要是基于之前的情况进行修改。
可以导航到
解决ffmpeg下载远程m3u8视频大量ts分片失败重试成本高的问题 (gaojiupan.cn)
这里查看之前的实现。
之前没有考虑到key的情况。
那么这里在之前的情况下将生成的
new.m3u8中
如
#EXT-X-KEY:METHOD=AES-128,URI="/api/app/media/enkey"
修改为
#EXT-X-KEY:METHOD=AES-128,URI="enkey.key"
另外就是将之前的脚本
m3u8_download.php中的ffmpeg命令之前的参数前面加上如下参数
-allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp"
那么最终的ffmpeg命令输出将由脚本输出如:
D:\software\ffmpeg-master-latest-win64-gpl\ffmpeg-master-latest-win64-gpl\bin\ffmpeg.exe -allowed_extensions ALL -protocol_whitelist "file,http,crypto,tcp" -threads 0 -i "C:\Users\Administrator\e118f39713ba19ff0276e89c42a8c437\new.m3u8" -c copy -y "C:\Users\Administrator\PhpstormProjects\untitled\weiyoulaisheng.mp4"
由于之前做过缓存处理,所以中间修改new.m3u8后再次执行时就可以直接合并,不用重复下载了。
领取专属 10元无门槛券
私享最新 技术干货