顺序下载与视频流式播放实现原理
什么是顺序下载
默认情况下,BT 协议会乱序下载文件块——从不同节点拿到的数据片段拼合成完整文件。这种方式对完成下载效率最高,但无法在中途播放。
顺序下载(Sequential Download)让客户端按照文件块在磁盘上的自然顺序依次请求——先拿开头、再拿中间、最后拿结尾。下载到足够的连续数据后,视频播放器就能开始渲染了。
在 LibreTorrent 中启用
单个种子启用:
- 添加种子时或种子详情页
- 找到「顺序下载」开关
- 打开即可
全局默认开启:
设置 → 行为 → 勾选「对新种子启用顺序下载」
流式播放的前提
顺序下载是流式播放的前提,但不是所有文件都适合:
- 视频文件(MP4、MKV、AVI)— 通常可以,下载约 5-10% 即可开始播放
- 大压缩包(ZIP、RAR)— 不行,解压需要完整文件
.iso光盘镜像 — 通常不行- 音频文件(MP3、FLAC)— 部分可以,取决于播放器支持
速度影响
顺序下载可能略微降低下载总速度——因为客户端必须等待特定块的节点响应。实际影响取决于网络中持有这些块的节点数量,一般在 5-15% 左右,对于「先看为快」的场景完全可以接受。
与选择性下载配合
启用文件选择性下载时,顺序下载只作用于被勾选的文件;跳过的文件不会被下载也不会占用带宽。两者配合可以实现「只下想看的几集 + 边下边看」。