Harlan-H / M3u8Downloader_H

[.net6]m3u8下载器,功能强大,多线程,多任务,支持aes-128-cbc解密,自定义请求头,自定义插件
MIT License
651 stars 94 forks source link

希望更新一下。谢谢! #32

Closed netaat2088 closed 4 months ago

netaat2088 commented 5 months ago

希望下次更新能支持: 1.完成后自动删缓存。 2.支持mp4等其他格式下载。【很期待这个啊,就不开IDM了】 3.支持多目录批量添加。就是批量的时候区分不同目录。【我自己尝试添加了这个功能,可以好像有其他问题,例如第5和12点。】 4.管理权限运行下【API模式】依然支持拖动添加。 5.批量添加模式下:修复同名不同目录但是被认为是一个文件直接被忽略的Bug。 6.配置文件参数能保存到运行目录。不要存默认下载目录。(貌似每次运行都要选择一次线程数量和任务数量) 7.增加提示音是否播放按钮。 8.支持未下载完成的,例如98%卡住的任务暂停和重试。现在貌似只能全部重试。 9.支持下载失败列表导出。 10.增加一个列表状态数量/已完成的 进度显示。 11.修复一下下载FFpeg下载出错时合成失败的问题。 12.下载模式为本地M3U8。格式选择非默认的情况下。关闭软件重开,会导致合成失败,原因是路径不对。只会寻找根目录。例如c:\1.tmp 实际保持路径c:\abc\123\1.tmp

Harlan-H commented 5 months ago

首先多谢反馈 1.缓存问题 其实前几天就有人已经留言了 那个是上次更新造成的bug 下次更新肯定就修复了 只是最近没啥时间 2.mp4相关支持 这个功能其实很早就已经再考虑了 只是目前还没有相当特别好的方法去适配 所以只能先等等 如果你也是开发人员 你也可以为我提交代码 帮我提供一下思路 3.目录批量添加的话 有那个批量下载模式可以用啊 你直接在那个文档里写上所有的目录地址 不就是批量操作了嘛 6.配置文件本身就是保存在运行目录的 不是下载目录 而且我刚刚还特地重试了一下 仍然是在软件运行目录 7.提示音这个东西后期可以考虑加上 这是小问题 8.未下载完成重试 我刚刚也测试了 不会出现你说的问题啊 这套底层代码 2年多了一直没变过 不可能出现全部重来的情况啊 9.下载失败列表导出 其实在软件2.x版本的时候 其实是有的 只不过因为那种操作过于复杂很多人玩不转 所以有给删除了那个功能 10.进度那个圈就是进度啊 你都能看到98%了 那个就是下载进度啊 整个下载流程中唯一需要进度的只有下载视频的地方啊 11.下载失败合并失败的问题 这个正常逻辑来讲 下载都失败了 他应该不会合并啊 软件只要显示错误 就会停止向下运行

有三点不太明白 4.api模式支持拖动添加 这个是啥意思? 是管理权限没法用拖动文件嘛? 5.同名不同目录又是什么意思 你所谓的同名是哪里的同名 软件下载的时候不可能出现同名 12.格式选择非默认是什么意思 是不用.m3u8嘛 软件重开 所有的下载信息都会丢失 又需要重新添加啊 那我就不知道你这个是怎么个操作法了 你可以发个操作视频上来看一下

netaat2088 commented 5 months ago

谢谢您的回复。先说明一下我现在测试的环境: 1.都是先下载m3u8文件到本地文件夹以后,进行本地拖动或者动态添加的方式来批量下载。 2.本地文件夹已经用脚本将每一集的目录创建好。 3.我私自手工增加了一个字段,将您原有设置的参数模式修改为: 本地.m3u8文件----保存文件名---保存文件夹 【增加了一个保存文件夹地址的参数】

目的是适应以下下载方式: 1.一套课程存在c:\vod\ 文件夹里。但是有章节。需要一集一集的对应, 例如: c:\vod\第一章\第一节\001.m3u8 c:\vod\第一章\第一节\002.m3u8 …… c:\vod\第二章\第五节\001.m3u8

并且依照这个规则,将全套视频的每一集地址汇总成一个txt文件,然后拖动进入软件或者采用脚本形式API模式动态添加。 【刚看了您的提示,您软件预设第二个参数或许已经就可以包含保存路径,例如保存文件名为c:\abc\123\0001.mp4的情况下会保存成功不?我一会再试试。】

遇到的问题: 1.依照以上环境和方法进行测试,发现保存目录不同但是文件名相同的时候会被认为是同一个文件。 例如:c:\vod\第一章\第一节\001.m3u8 c:\vod\第二章\第五节\001.m3u8 软件有时候会自动忽略掉第二个c:\vod\第二章\第五节\001.m3u8。

2.进度的文件是指例如列表中添加了300个文件进行下载,但是中间可能出现一两个错误的,当列表文件多的时候拖动并不流畅,所以有时候会忽略掉卡在98%的文件或者失败的文件而采用全部清除列表的形式而漏掉文件。这个时候的进度是可以显示。列表总文件数/成功数 或者失败数。 对于列表中文件多的时候可以一目了然。

3.清除缓存我自行解决了,加到了 完成 提示的代码后面了进行了清除,谢谢您。

4.我采用以上环境和方法测试的时候,当默认格式修改为.mp4的时候。下载缓存是正常,但是合成的时候只会从根目录去寻找.tmp文件。其实文件是在在目录当中,但是下载的时候是正常的,因为缓存已经在子目录中。这个文件出现的概率应该是在选择了mp4格式并且保存后。下次适用软件时出现。如果您要场景再现,可以将“默认”两个字修改为mp4。那可能出现的概率会多一些。

5.是否因为我修改了代码的什么地方,参数文件会经常在E:\desktop\Settings.dat 中出现,并没有出现在软件运行目录里。

6.MP4等其他文件的支持,是否可以参考https://blog.csdn.net/uaime/article/details/127154552 。通过扩展名来推送给不同的处理函数进行处理?

我的表达能力不怎么好,希望您能看懂以上的内容。 最后:您的软件的确很棒,非常感谢您的无私奉献。赞。

Harlan-H commented 5 months ago

如果你操作量很大的话 同时你又会其他语言调用api的话 我建议你直接使用api接口 那个参数会丰富的多 因为批量操作那个地方 我记得当初设计是为了快速操作用的 所以你看到代码都知道 很多地方都是传入的null 当初设计的时候其实有想过给那些保存路径 文件名啊 已经密钥等等这些都设计上去的 但是因为批量操作 他涉及到参数的位置 如果用户操作错误 会导致下载失败 那用户体验就会非常差 所以如果你需要高级玩法 同时会开发语言 那我建议你直接使用某些语言调用api

  1. 从代码角度来说不会出现这个问题应该

2.还有你说的同时300个文件同时下载会卡顿的问题 这个我记得前两个版本我增加log功能的时候遇到了 现在应该不会出现卡顿问题了

四和五 这两个问题应该是一样的 可能第一个问题也是如此 我不知道是不是开发人员 可以肯定的是 你使用debug自己编译的版本导致的 我们一般发布程序都是使用release 你只要使用release编译 就不会出现这个问题 因为E:\desktop是我的桌面路径 我还是建议你直接使用我的发布版本 毕竟修改代码需要一些专业技能 不然很多问题 你解决不了会出现很多未知bug

至于这个mp4的下载方案 扩展名并不是最优选 因为可能某些站点的mp4视频地址 不一定会带有.mp4的扩展名 所以如果采用这个方案 可能会出现很多 但是多谢提示把

netaat2088 commented 5 months ago

谢谢。我再试试看。再次感谢!!!