[Added]: 支持 MP3 和 M3U8 的下载
相关 Issue
#26
@Predidit 我认为这个实现应该可以满足你下载 M3U8 文件的需求了
抱歉,我今天在忙于一些其他事情,现在才来得及cr这个pr,这个PR看上去相当不错
但是合并的方法似乎过于粗暴,直接将 ts 片段拼在了一起,我的直觉告诉我这里有兼容性问题,你实际上运行过那几个规则的测试,合并后的文件可以被 mpv 播放器正确播放吗
这里兼容性更好的方案应该是把片段放在一个文件夹内,不进行合并,然后手动生成一个 index.m3u8 指向这些 ts 片段,这也是大部分带有下载功能的软件的做法
我只测试了两个视频,均是可以支持的。
使用 windows media 打开和正常播放没有问题, 我随意拖动和快进均可支持, 借助 ffmpeg 工具扫描也没有问题
后者那个方案我似乎不知道应当怎么处理,
但是原 ts 文件是存在的,可以通过设定 delTemp=false 保留源文件,
如果直接合成会导致奇怪的问题,也可以通过源文件播放,我没有太多时间测试其他用例
我会在进行一些测试后给出反馈,直接合并绝对会破坏时间戳,这也是 animeko 的做法,它们的缓存功能至今存在严重的兼容性问题,包括但不限于无法 seek ,或是播放时闪退
此外这个PR包括了简单的 m3u8 解密功能,我的印象中没有规则带有加密 m3u8 流,这是为了兼容哪一条规则加入了该功能
我简单学习了 M3U8 文件格式,因为不太确定是否有带加密的 M3U8 文件流,为了避免出错而额外加上的
我会等待测试用例的结果,倘若确实有问题,那我会尝试把 tsFiles 写入 index 文件中,之后也许你可以通过该文件来逐个打开 ts 文件
我简单测试了一下,甚至 m3u8 清单文件解析本身都存在问题
测试用例:
https://ai.girigirilove.net/zijian/oldanime/2025/10/cht/GNOSIACHT/04/playlist.m3u8
这……这似乎是我第一次遇到这样子的,我的代码只考虑到了 index.m3u8 里面指向 mixed.m3u8,然后由 mixed.m3u8 提供 ts 文件路径的样例,我会修改代码