Last-Order / Minyami

A lovely video downloader for HLS videos
GNU General Public License v3.0
561 stars 37 forks source link

6.20改版后ニコニコ生放送失效 #28

Closed sumire608 closed 5 years ago

sumire608 commented 5 years ago

6.20改版后估计也改进了一下播放器机制,2.27版目前无效了(大量报404,403),希望跟进

另外showroom直播结束后不会自动生成TS文件,提示手动merge,但程序本身并没有提供手动merge功能

zyzsdy commented 5 years ago

sr直播的问题是因为showroom在直播结束后没有按HLS标准在m3u8里打上#EXT-X-ENDLIST 的标志,就直接让m3u8 404了。靠404信息无法判断直播是不是真的结束了,所以minyami会在超过重试次数后退出。

手动merge指你自己用mkvmerge等工具手工合并

建议在用minyami下载sr直播的时候设置重试次数为一个巨大的值,比如“--retries 999”,这样你有时间在直播结束以后手工切换到Minyami窗口按下Ctrl+C,程序在临时中断的扫尾工作里也会做自动合并。

(nico的问题等空空去确认。)

sumire608 commented 5 years ago

showroom这个算是一个治标的方法吧,建议改成遇到这种情况的时候先输出merge后的文件但不清理temp文件夹,也方便误判的情况下手动续传

zyzsdy commented 5 years ago

临时中断的时候临时合并,和把临时文件放到工作目录这两个需求之前常提,空空已经明确说过不会做了。

清真的方法肯定是去监控sr的api,不过这个不太方便合并到minyami里面来,单独做一个小插件吧。 当然还是期望showroom能把这个改了,大家都按着标准来是最开心的。

Last-Order commented 5 years ago

我晚些时候确认一下

kumaneru commented 5 years ago

Minyami插件版本1.1.4 minyami版本2.2.7 测试用链接:https://live2.nicovideo.jp/watch/lv320524804 辅助工具:国内直连有dns污染,未使用proxy,使用simple DNSCrypt 0.6.6(x64)对应。 测试结果:正常下载,网速太快时会触发nico保护机制断开链接弹提示,重新获取链接恢复下载即可 另外,梯子不稳定时会导致地址中“*.dmc.nico”多次发生变动。 供参考

sumire608 commented 5 years ago

我刚才又测了一下,普通的生放送似乎还可以,出问题的是チャンネル会員限定的视频,现在必须要手动指定cookies了,不然就报错,6.20之前不指定也可以 https://live2.nicovideo.jp/watch/lv320493711

[MINYAMI][INFO] Start fetching M3U8 file. [MINYAMI][INFO] M3U8 file fetched. [MINYAMI][INFO] Site comfirmed: NicoNico. [MINYAMI][INFO] Enhanced mode for Nico-TS enabled [MINYAMI][INFO] Start downloading with 4 thread(s). [MINYAMI][INFO] Update Token: 63136299.wocfi4_ptlaoa_2thhfyr0oph3o [MINYAMI][INFO] Chunk group action failed. [MINYAMI][INFO] Error: connect ETIMEDOUT 31.13.65.17:443 [MINYAMI][WARN] Downloading or decrypting 5.2000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 15.600000000000001000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 10.4000.ts failed. Retry later. [404 Not Found] [MINYAMI][INFO] Proccessing 0000.ts finished. (1 / 1776 or 0.06% | Avg Speed: 0.04 chunks/s or 0.23x | ETA: 11h 10m 53s)[MINYAMI][INFO] Update Token: 63136299.spum7h_ptlaon_1p7jsb7qag8lj [MINYAMI][INFO] Update Token: 63136299.0go1m6_ptlaoz_1vewmq54lmg0x [MINYAMI][INFO] Chunk group action failed. [MINYAMI][INFO] Error: connect ETIMEDOUT 31.13.65.17:443 [MINYAMI][INFO] Chunk group action failed. [MINYAMI][INFO] Error: connect ETIMEDOUT 31.13.65.17:443 [MINYAMI][INFO] Chunk group action failed. [MINYAMI][INFO] Error: connect ETIMEDOUT 31.13.65.17:443 [MINYAMI][WARN] Downloading or decrypting 31.2000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 15.600000000000001000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 5.2000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 20.8000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 10.4000.ts failed. Retry later. [404 Not Found] [MINYAMI][INFO] Proccessing 26000.ts finished. (2 / 1776 or 0.11% | Avg Speed: 0.05 chunks/s or 0.24x | ETA: 10h 31m 30s) [MINYAMI][INFO] Chunk group action failed. [MINYAMI][INFO] Error: connect ETIMEDOUT 31.13.65.17:443 [MINYAMI][WARN] Downloading or decrypting 52.00000000000001000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 57.20000000000001000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 46.800000000000004000.ts failed. Retry later. [404 Not Found] [MINYAMI][WARN] Downloading or decrypting 41.6000.ts failed. Retry later. [404 Not Found] [MINYAMI][INFO] Saving task status. [MINYAMI][INFO] Downloaded: 2; Waiting for download: 1774 [MINYAMI][INFO] Please wait.

指定后可恢复正常下载,但最后一小块下载不下来 [MINYAMI][WARN] Downloading or decrypting 15200.ts failed. Retry later. [403 Forbidden] 因此也无法顺利进入merge阶段 另外手动merge似乎也不靠谱,因为不清楚这些ts块是怎么排序的,按数字顺序大小升序吗?貌似也不是,因为最后一个块是15200,而之前都有600000多的

Last-Order commented 5 years ago

按数字顺序大小升序吗 > 是的 我手上没有开了频道会员的号可以测试,要么你告诉一下我cookies的哪个字段用来鉴权 要么提供一下号?

sumire608 commented 5 years ago

~请问邮箱多少?我直接把提取出来的cookies发去试试~ 唉那个节目已经过期了

另外mkvmerge混合出来的源会有爆音,请问哪个软件混合TS合适?

Last-Order commented 5 years ago

不要混流成mkv,mkv天然存在此问题。你可以选择mp4。 (我邮箱你点开我个人页就有吧 sora#sound.moe)

sumire608 commented 5 years ago

想了想可能还是copy /b 的方式最合适 出来直接就是TS 但不知道科不科学 可能ffmpeg -f concat -safe 0 -i mylist.txt -c copy output 的方式更科学点

等下次遇到这种情况我就马上发cookies过去

Last-Order commented 5 years ago

可以直接copy /b,ts只需要二进制连接就可以了,实际上minyami采用的正是这样的方式(当然实现上更复杂一些,原理一样)。

lindiboy commented 5 years ago

帮忙看下 [MINYAMI][INFO] Start fetching M3U8 file. [MINYAMI][WARN] Fail to fetch M3U8 file: [EAI_FAIL] [MINYAMI][WARN] If you are downloading a live stream, this may result in a broken output video. [MINYAMI][INFO] Try again. [MINYAMI][WARN] Fail to fetch M3U8 file: [ETIMEDOUT] [MINYAMI][WARN] If you are downloading a live stream, this may result in a broken output video. [MINYAMI][INFO] Try again. [MINYAMI][WARN] Fail to fetch M3U8 file: [EAI_FAIL] [MINYAMI][WARN] If you are downloading a live stream, this may result in a broken output video. [MINYAMI][INFO] Try again. [MINYAMI][WARN] Fail to fetch M3U8 file: [EAI_FAIL] [MINYAMI][WARN] If you are downloading a live stream, this may result in a broken output video. [MINYAMI][INFO] Try again. [MINYAMI][WARN] Fail to fetch M3U8 file: [EAI_FAIL] [MINYAMI][WARN] If you are downloading a live stream, this may result in a broken output video. [MINYAMI][INFO] Try again. [MINYAMI][WARN] Fail to fetch M3U8 file: [EAI_FAIL] [MINYAMI][WARN] If you are downloading a live stream, this may result in a broken output video. [MINYAMI][WARN] Max retries exceeded. Abort. Error: Max retries exceeded. at Object. (C:\Users\boyli\AppData\Roaming\npm\node_modules\minyami\dist\utils\m3u8.js:43:31) at Generator.throw () at rejected (C:\Users\boyli\AppData\Roaming\npm\node_modules\minyami\dist\utils\m3u8.js:5:65) at processTicksAndRejections (internal/process/task_queues.js:85:5) [MINYAMI][ERROR] Aborted due to critical error. 'ht2_nicolive' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 系统找不到文件 8540.047。

Last-Order commented 5 years ago

close due to lack of information

tuzi3040 commented 3 years ago

'ht2_nicolive' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 系统找不到文件 8540.047。

@lindiboy 这个是因为 powershell 把 & 当作 call operator 解释了。可以在 url 两端的双引号外再加一对单引号 '"{url}"'。 具体可以看Last-Order/Minyami-chrome-extension#17。