aria2c 多线程加速 — Seal 为什么比默认下载器快
为什么 Seal 内置 aria2c
yt-dlp 默认使用单连接下载——一个文件用一条 HTTP 连接抓到底。对于大文件(比如几 GB 的 4K 视频),单连接容易因为网络波动中断,且速度受限于目标站点给单连接的带宽上限。
Seal 在 v1.7.3 之后逐步把 aria2c 作为外部下载器集成进来。aria2c 的核心优势:
- 多线程分割:把一个文件分成 N 段并发下载,每段用独立 HTTP 连接
- 断点续传:分段下载中途断了可以从中断点继续
- HTTP/HTTPS/FTP 多协议支持:覆盖广泛
Seal 里 aria2c 的默认参数
Seal 把 aria2c 内核打包进了安卓 APK,但没有在 UI 上暴露 aria2c 的线程数、分割数、带宽限制等参数。Seal v1.9.0 的 CHANGELOG 里明确写了:
Change the thread number range of multi-threaded download to 1-24
这说明 aria2c 线程数在 Seal 内部是 1-24 的可调范围(代码层面),但 UI 上用默认值(通常是根据文件大小动态调整,小文件少线程、大文件多线程)。
为什么不暴露手动调优
Seal 的设计理念是"手机上能点几下就用"。aria2c 有几十个可调参数(并发数、分割数、带宽限制、超时设置、文件预分配策略……),暴露到手机 UI 上会让普通用户困惑。默认值已经针对移动设备优化过,绝大多数情况下不需要手动调优。
想手动调优怎么办
进阶玩家可以在自定义命令模板里直接写 aria2c 参数,用 yt-dlp 的 --external-downloader-args 语法透传给 aria2c。比如想强制用 16 个并发连接:
--external-downloader aria2c --external-downloader-args="-x 16 -s 16"
这是自定义命令模板的高级用法,适合已经熟悉 aria2c 命令行的用户。
下载速度慢的其他可能
aria2c 并发已经开了但速度还是慢,问题可能不在下载器:
- 目标视频站限速(需要 Cookie 登录后才能拿到满速)
- Wi-Fi/蜂窝网络本身弱
- 同时跑了太多下载任务(稳定版 v1.13.1 是串行,不会这个问题)
- 代理链路不稳定(如果开了代理)
完整排查见 下载速度慢怎么办。