无法下载 Twitch 的 VOD
Closed this issue · 16 comments
Mishasama commented
orestonce commented
抱歉,https://www.twitch.tv/ 这个网站我无法访问
orestonce commented
墙了
Mishasama commented
墙了
网易UU免费加速
Mishasama commented
Mishasama commented
debuglog.txt
还是下不了,麻烦你再看看。
浏览器是能正常播放,IDM等下载工具也是能正常下载到ts的。
orestonce commented
- 修复了下载超时,计算速度问题,再试一下v1.24.28
- 新支持了判断http返回的状态码跳过ts片段的方法,你这个url必须使用: http.code=403 跳过 558-unmuted.ts 这种无法下载的ts
- 还未解决的问题:
- 合并输出的mp4文件超过4GB会有bug,输出4GB以上的mp4无法播放
Mishasama commented
- 新支持了判断http返回的状态码跳过ts片段的方法,你这个url必须使用: http.code=403 跳过 558-unmuted.ts 这种无法下载的ts
这里能不能改成:
- 如果返回了403,则尝试删除
-unmuted
后重试。 - 如果仍然403,则跳过。
还未解决的问题:
- 合并输出的mp4文件超过4GB会有bug,输出4GB以上的mp4无法播放
32-bit 的问题?
orestonce commented
- 不能改成 “如果返回了403,则尝试删除-unmuted后重试。”这个策略,原因是没有通用性。m3u8文件内容已经指向了 558-unmuted.ts 这个文件,下载器没有理由去删减或者修改服务端告知的这个url。并且ts的路径不一定是001.ts 002.ts ... 这样的。
- "输出4GB以上的mp4无法播放" 初步诊断不是32位程序的问题,是gomedia库的bug。已经尝试更新gomedia到最新版本,问题会更大,这个问题只有等待gomedia作者修复
Mishasama commented
午好。
- 那在出现403自动跳过的这种情况的时候,能否弹出提醒?或者在下载完成时不自动进行合并,并强制输出log,同时弹出提醒让用户自行操作合并。这样我们就有机会手动补全缺失的片段再合并,或者忽略掉缺失的片段直接合并。
- 如果是gomedia的问题的话,那能不能像压缩软件那样检测ts的大小,然后进行约3.9GB的分卷合并?或者说增加一个选项,让我们设置ffmpeg库的目录。当检测出总下载量大于4GB时就改用ffmpeg进行合并。
又或者……检测出TS大于4GB就弹窗提示,并不再执行自动合并的操作。让用户自己想办法合并……毕竟要解决问题……被动等待不是个好办法。(我基本上都是直播录像……过4G是必然的)
orestonce commented
- 目前已有"不删除下载的ts文件"、“不合并ts为mp4”两个选项,你在使用的时候开启这两个选项即可。
- m3u8d自己因为bug存在,为了躲避这个bug分卷合并这个方案不好,后续会造成逻辑混乱。
你看这个补充如何,将增加以下两个功能
- 增加一个日志文件记录通过http状态码跳过的ts片段,日志文件的每一行保存一条记录:m3u8得到的http状态码,将要保存文件名,下载url
- 下载ts目录下产生一个bat或者sh脚本文件,该文件被执行时会调用ffmpeg命令合并该目录下的ts为mp4
Mishasama commented
那我再补充一下……
- 仅当触发跳过的时候才生成这个日志,不然这个玩意没用。同时自动应用"不删除下载的ts文件"、“不合并ts为mp4”两个选项的效果。
- 最好能人工预定义ffmpeg的路径后再生成脚本……不然对于不全局安装的环境下不太好用。同时,不大于4GB就不用生成了。(同样没有意义)
如果太麻烦就算了,完美主义癖而已……