Streambert 下载队列管理指南:暂停、取消与失败重试怎么做
【免费下载链接】streambertA cross-platform Electron Desktop App to stream and download any Movie, TV Series or Anime in the World. Zero Ads and Tracking项目地址: https://gitcode.com/GitHub_Trending/st/streambert
下电影下到一半想停,失败了又不知道去哪找原因——Streambert 下载队列的管理其实就三件事:暂停下载、取消下载、下载失败重试。下面按 入队 → 停止 → 失败 → 维护 的操作顺序过一遍,每个场景都有对应的动作。
下载队列长什么样:Active 与 Local Files 分区对比
侧边栏点 Downloads,队列分成两块(页面在 src/pages/DownloadsPage.jsx):
| 分区 | 展示信息 | 状态标记 | 可用操作 |
|---|---|---|---|
| Active(进行中) | 实时百分比、下载速度、分片进度(如128/352 fragments)、动态进度条、最新日志行 | 持续刷新 | Remove(移除任务) |
| Local Files(本地文件) | 文件、大小、类型等本地信息 | Completed / Error / Local | 继续观看、定位文件夹、Delete(删除) |
顶部副标题实时给出N active · M completed,队列规模一眼可见。Error 卡片还会多出 View Log 按钮和详情页跳转,后文细说。
从 Download 到入库:一个下载任务的完整时间线
详情页点Download会先弹配置框(src/components/DownloadModal.jsx),之后是一条单向时间线。
入队前:顶部绿色的Video Downloader found表示下载器就位,没找到就点Change换二进制目录;底部Save to: ...是保存目录,同样可Change。顺手打开 Subtitles 开关,它会自动搜索并选中默认语言字幕,视频完成后字幕以视频名.语言.srt存进同一目录。
入队后:点红色的Start Download,任务立刻进 Active 队列跑分片,Downloads 页自动滚到这张卡片并闪烁 3 秒,确认入队成功。接着不用管——分片全部跑完进入 ffmpeg 转封装/合并阶段,卡片显示Merging…与Processing…,完成后跳到 100% 并改名入库,任务记录写入本地downloads.json。
暂停下载与取消下载:三种停止方式
先说清楚:Streambert 没有真·暂停按钮。下载跑在外部下载器进程上,叫停就得收干净现场,否则半成品文件会一直占着空间。按意图分三种停法:
- 临时停一下:点 Active 卡片的 🗑 Remove。确认后进程被终止,
.part、.part.tmp、.ytdl等临时文件自动清扫,不占空间; - 任务彻底不要了:Local Files 里的条目点 Delete,把文件也一并删掉;
- 直接关应用:队列有任务时关窗口会弹确认框(逻辑在 index.js),提示
N active downloads will be cancelled and incomplete files will be deleted,选 Keep Downloading 继续下载,选 Cancel & Close App 则全部取消并清理。
💡 Remove 之后没有“恢复”入口,但删掉的只是临时文件——重新走一遍 Download 就行,已完成的内容不受影响。
Delete 的连带清理比 Remove 重:先弹Delete "xxx" and its file?确认框,然后删视频文件本身、把该任务下载过的多语言字幕一并清掉、清理同目录残留,最后移除队列记录;观看进度和时长缓存也同步从本地存储删掉,不留孤儿文件。
下载失败重试与下载日志排查
网络抖动先不用出手。下载器进程内部自带重试:卡片速度归零、日志出现Retrying… (1/3)(解析在 src/ipc/downloads.js),就是在自动重试第 1/3 次;成功则进度条继续推进。
🔁 如果重试仍失败、进程以非 0 退出码结束,任务落入 Local Files 并标为Error。卡片直接给出两样东西:从日志提取的关键报错行(匹配error/failed/unable/cannot/denied等词)加退出码;View Log按钮,打开完整日志streambert_dl_任务ID.log(成功时自动删除,失败时保留),是定位“卡在哪一步”最快的入口。
排查先看日志最后几行:权限或路径类错误,换保存目录再来;超时或连接类错误,基本是网络问题,稍后重试即可。
手动重发:下载失败重试 3 步
失败任务没有一键重跑,因为下载需要页面实时的 m3u8 播放地址。重发是一条三步链路:Error 卡片上点标题或海报跳回详情页 → 重新播放让页面抓到最新流地址 → 再点Download。新任务会自动替换同一条目的旧失败记录,同一部片同一集不会在队列里出现两条。
注意:重启应用后,进行中的任务不会自动恢复——队列只持久化已完成的任务,Active 会在下次启动时清空,需要按上面 3 步重新发起。
队列搜索与排序:日常维护
任务多了以后,四个工具保持队列清爽:
- 排序:工具栏按
Date/Name/Size/Type排,点 ↓/↑ 切换升降序,偏好自动记住; - 快速搜索:Ctrl+K(或点右侧放大镜)打开过滤框,输片名即时筛选,Esc 关闭;
- 扫描本地:
Folder to scan…填路径或 Browse 选择,点 ⟳ Scan 递归扫描(最深 3 层)视频文件并入列; - Untracked 开关:扫描进来的文件标为
Local,开着显示全部,关掉只看真正下载过的,开关旁标注未跟踪文件数量。
Streambert 下载队列常见问题
进度条为什么最高只到 99%?分片跑完还有 ffmpeg 转封装/合并阶段,期间卡片显示Merging…与Processing…,全部完成才跳到 100% 并改名入库。
关掉应用会影响已完成的下载吗?不会。只有 Active 任务会被取消并清理半成品,已完成记录存在本地downloads.json,重启后完整保留。
字幕下载失败了,成片会坏吗?不会,字幕独立于视频。点已完成卡片上的语言徽章(或No subtitles)打开字幕下载器,可重选语言、换源下载或管理已下载字幕。
文件被手动删了会怎样?应用会定期校验文件是否存在,缺失的已完成任务先标File missing再移出队列,字幕路径记录同步修剪。
速查清单
- 入队:确认绿色
Video Downloader found与Save to目录,需要字幕就开 Subtitles - 临时停:Active 卡片点 Remove,进程终止、临时文件清空
- 彻底删:Local Files 点 Delete,确认框里看清文件名再动手
- 失败排查:读卡片错误摘要 → View Log 看日志最后几行,权限问题换目录、网络问题稍等
- 重发:回详情页 → 重新播放 → Download,新任务自动替换旧失败记录
- 维护:Ctrl+K 搜索、工具栏排序、Scan 扫本地、Untracked 过滤未跟踪文件
【免费下载链接】streambertA cross-platform Electron Desktop App to stream and download any Movie, TV Series or Anime in the World. Zero Ads and Tracking项目地址: https://gitcode.com/GitHub_Trending/st/streambert
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考