用Nuxt3做了一个m3u8在线下载工具

m3u8在线下载工具,解释一下能够通过网页,下载m3u8视频到本地为Mp4,我就很震惊,随后了解到他使用了ffmpeg的wasm,最后又发现了一些列问题:wasm下载的话,会带来严重的跨域问题。

更新时间:2023-02-14

访问次数:44

详细介绍

之前一个朋友给我写了一个工具:m3u8在线下载工具,解释一下能够通过网页,下载m3u8视频到本地为Mp4,我就很震惊,随后了解到他使用了ffmpeg的wasm,最后又发现了一些列问题:wasm下载的话,会带来严重的跨域问题。

可是经过研究油猴上某位大佬的这个工具我发现他的就不存在跨域问题,随后发现他的实现是使用ajax请求拿到每一个m3u8的ts片段,然后合并成为一个mp4,说干就干。提前放个图,只看文字是在枯燥,也不知道各位看官有没有兴趣。

要做一个程序,第一步当然是逛一下GitHub,找一找有没有可以用的轮子,当然让我找到了:https://github.com/Momo707577045/m3u8-downloader

这位大佬研究的很透彻,所以我还写什么呢?看大佬的就好了。似乎没有问题,不过我还是记下来留作是这次做这个小工具的纪念吧。

用Nuxt3做了一个m3u8在线下载工具

通过看大佬的代码,基本上了解了大概流程:
1.使用ajax获取m3u8文件信息

2.解析信息,判断是否需要解密,如果需要就那要密钥
3.继续解析,获取到所有ts片段地址
4.下载所有的ts片段并转换成mp4,同样是用Ajax,转换使用muxjs(如果需要解密的话先解密)
5.最后把下载好的片段合并然后创建一个a标签下载

m3u8在线下载工具资源:
https://github.com/ZN-GG/ZNGG-Nuxt3/blob/main/pages/tool/detail/M3U8V2Pro.vue

网友评论