nilaoda / N_m3u8DL-CLI

[.NET] m3u8 downloader 开源的命令行m3u8/HLS/dash下载器,支持普通AES-128-CBC解密,多线程,自定义请求头等. 支持简体中文,繁体中文和英文. English Supported.
https://nilaoda.github.io/N_m3u8DL-CLI/
MIT License
14.14k stars 2.14k forks source link

#YUMING 项被忽略 | 另能自定义key链接/位置吗 #29

Closed kuk111111 closed 4 years ago

kuk111111 commented 4 years ago

首先感谢作者的项目,但我发现下载m3u8时#YUMING 链接项会被忽略

EXTM3U

YUMING|http://xxx.com/ftyZLUagYxWiJ0RH0oMnF/

EXT-X-VERSION:3

EXT-X-ALLOW-CACHE:YES

EXT-X-MEDIA-SEQUENCE:4454

EXT-X-TARGETDURATION:4

EXT-X-KEY:METHOD=AES-128,URI="1.key"

EXTINF:3.002,

1.ts

EXTINF:3.002,

2.ts

EXTINF:3.002,

3.ts ……

EXT-X-ENDLIST

m3u8例子 我现在只能手动指定baseUrl才能下载,但我还需要查看m3u8才知道baseUrl,有点不太方便了

还有我能自定义key链接/位置吗? 因为我已经把m3u8和key存放本地里了,虽然可以批量修改,但我希望可以加个OPTIONS,提供自定义key位置可能更方便

最后再次感谢作者的项目,很棒

nilaoda commented 4 years ago

2.4.0版本已实现,请测试

kuk111111 commented 4 years ago

2.4.0版本已实现,请测试

感谢作者的更新 N_m3u8DL-CLI 2.4.0 exe版方面没问题 但我测试N_m3u8DL-CLI_Core v1.0.4方面有BUG
Debian 9 dotnet-sdk-2.1.301-1

N_m3u8DL-CLI [Core] v1.0.3 20191009...(显示是1.0.3版,但我下载的1.0.4版源码) Speed: 301.94 KB / s
Progress: 2250 of 2250 (100.00%/6.41 GB/6.41 GB/02h30m06s) (这里已经完成下载所有分片) 20:45:08.157 文件名称:xxx-0_20191024204508 20:45:08.157 存储路径:/root/N_m3u8DL-CLI_Core-1.0.4/N_m3u8DL-CLI_Core/Downloads 20:45:08.165 开始解析地址... 20:45:08.181 获取m3u8内容 20:45:08.193 解析m3u8内容 20:45:08.198 获取m3u8 key... 20:45:09.097 写出meta.json 20:45:09.270 文件时长:02h30m06s 20:45:09.272 总分片:2250, 已选择分片:2250 20:45:09.391 开始下载文件 20:45:09.450 下载首分片... 20:45:13.088 读取文件信息... Error in reading file 20:45:13.089 等待下载完成... 20:48:28.912 完成数量 0 / 2250 (但却显示0完成数) 20:48:28.919 重试次数 1 / 15 20:48:32.134 开始下载文件 20:48:32.192 读取文件信息... Error in reading file 20:48:32.194 等待下载完成... 20:48:32.626 完成数量 0 / 2250 20:48:32.627 重试次数 2 / 15 20:48:35.813 开始下载文件 20:48:35.881 读取文件信息... Error in reading file 20:48:35.882 等待下载完成... 20:48:36.285 完成数量 0 / 2250 (死循环) 20:48:36.285 重试次数 3 / 15 ……

首先开头读取不了片头ts(Error in reading file) 其次无法正确显示完成数量,明明已下载完,但却显示0,之后死循环到结束


N_m3u8DL-CLI [Core] v1.0.3 20191009...(这个是1.0.3版) Speed: 1.86 MB / s
Progress: 1035 of 1035 (100.00%/2.94 GB/2.94 GB/02h15m34s)
20:54:56.878 文件名称:xxxx-02_20191024205456 20:54:56.878 存储路径:/root/N_m3u8DL-CLI_Core-1.0.3/N_m3u8DL-CLI_Core/Downloads 20:54:56.886 开始解析地址... 20:54:56.903 获取m3u8内容 20:54:56.915 解析m3u8内容 20:54:56.921 获取m3u8 key... 20:54:57.565 写出meta.json 20:54:57.703 文件时长:02h15m33s 20:54:57.705 总分片:1035, 已选择分片:1035 20:54:57.770 开始下载文件 20:54:57.785 下载首分片... 20:55:00.704 读取文件信息... Error in reading file 20:55:00.705 等待下载完成... 20:56:58.623 已下载完毕 20:56:58.631 开始合并分片... 20:56:59.147 使用ffmpeg合并...请耐心等待 20:56:59.372 [mpegts @ 0x7986fc0] start time for stream 0 is not set in estimate_timings_from_pts 20:57:00.620 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 18502590, current: 18501576; changing to 18502591. This may result in incorrect timestamps in the output file. 20:57:01.746 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 33997811, current: 33996244; changing to 33997812. This may result in incorrect timestamps in the output file. 20:57:01.748 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 33997812, current: 33997268; changing to 33997813. This may result in incorrect timestamps in the output file. 20:57:04.349 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 67538144, current: 67537371; changing to 67538145. This may result in incorrect timestamps in the output file. 20:57:08.363 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 121986298, current: 121986009; changing to 121986299. This may result in incorrect timestamps in the output file. 20:57:09.872 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 142116943, current: 142116831; changing to 142116944. This may result in incorrect timestamps in the output file. 20:57:14.044 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 197778414, current: 197777381; changing to 197778415. This may result in incorrect timestamps in the output file. 20:57:14.044 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 197778415, current: 197778405; changing to 197778416. This may result in incorrect timestamps in the output file. 20:57:14.261 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 200693728, current: 200692706; changing to 200693729. This may result in incorrect timestamps in the output file. 20:57:14.968 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 210472948, current: 210471926; changing to 210472949. This may result in incorrect timestamps in the output file. 20:57:20.106 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 279887847, current: 279886825; changing to 279887848. This may result in incorrect timestamps in the output file. 20:57:23.830 [mp4 @ 0x7ae5ec0] Non-monotonous DTS in output stream 0:1; previous: 328434655, current: 328433642; changing to 328434656. This may result in incorrect timestamps in the output file. 20:57:26.295 任务结束

此外v1.0.3版里是能正常运行到结束 但还是读取不了片头ts(Error in reading file)和时间轴有点BUG(这个影响大吗?) 不过并没有无法正确显示完成数量BUG,最终也能完成任务


N_m3u8DL-CLI v2.4.0 20191024... Speed: 646.00 KB / s Progress: 1893 of 1893 (100.00%/5.42 GB/5.42 GB/02h06m17s) Progress: 425 of 1893 (22.45%/1.22 GB/5.43 GB/02h06m17s) 15:52:03.195 文件名称:xxxx-1_20191024155203 15:52:03.212 存储路径:D:\IDM\N_m3u8DL-CLI_v2.4.0_with_ffmpeg_and_SimpleG\Downloads 15:52:03.217 开始解析地址... 15:52:03.311 获取m3u8内容 15:52:03.315 解析m3u8内容 15:52:03.323 获取m3u8 key... 15:52:03.494 写出meta.json 15:52:03.703 文件时长:02h06m16s 15:52:03.706 总分片:1893, 已选择分片:1893 15:52:04.007 开始下载文件 15:52:04.122 下载首分片... 15:52:07.924 读取文件信息... PID 0x102: Data timed_id3 (ID3 / 0x20334449) PID 0x100: Video h264, yuv420p(tv, bt709/unknown/unknown, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 PID 0x101: Audio aac, 44100 Hz, stereo, fltp, 258 kb/s 15:52:08.102 等待下载完成... 15:59:13.302 已下载完毕 15:59:13.303 开始合并分片... 15:59:13.499 分片大于1800个,执行分部合并中... 15:59:20.759 使用ffmpeg合并...请耐心等待 15:59:25.857 [mpegts @ 00767180] start time for stream 0 is not set in estimate_timings_from_pts 15:59:40.384 [mp4 @ 007b7900] Non-monotonous DTS in output stream 0:0; previous: 367744745, current: 367744745; changing15:59:43.949 [mp4 @ 007b7900] Non-monotonous DTS in output stream 0:0; previous: 472249249, current: 472249249; changing15:59:55.055 任务结束ay result in incorrect timestamps in the output file.

最后N_m3u8DL-CLI 2.4.0 exe版方面,请问分片超过1800需要分段合并是什么限制吗? 我看CLI_Core版好像也没有这个情况

nilaoda commented 4 years ago

ffmpeg超过1800段的时候有可能会无法合并,所有程序采取了先分部分合并,最后调用ffmpeg合并的策略。 Core版目前是直接从.NET Framework移植过去的,所以有一些BUG在所难免,未来有时间会慢慢修复~

kuk111111 commented 4 years ago

ffmpeg超过1800段的时候有可能会无法合并,所有程序采取了先分部分合并,最后调用ffmpeg合并的策略。 Core版目前是直接从.NET Framework移植过去的,所以有一些BUG在所难免,未来有时间会慢慢修复~

好的,谢谢作者的解答 如果有时间就请修复一下Core版,毕竟我测试了在Linux完成任务的效率会比win快点许多……

nilaoda commented 4 years ago

如果你是指运行效率的话 .NET Core肯定是更快的 默认编译出来的是Native程序……修复bug的话可能要过阵子了