纯流媒体不缓存——为什么视频不会下载到本地
什么是纯流媒体
纯流媒体的意思是:视频看完就完了,不会在本地留下任何缓存文件。下次再看同一个视频,需要从网络重新加载。
这和官方客户端的"离线缓存"功能完全不同——官方客户端可以把视频下载到本地,断网时也能看。
为什么不做缓存
Bilby 选择纯流媒体的原因可以从两个层面理解:
原因一:节省本地存储空间
不做缓存意味着不需要额外的存储空间。对于轻量客户端来说,避免缓存文件堆积是一种简洁的设计选择。
原因二:简化实现
缓存管理是一个复杂的工程问题:
- 需要实现下载、续传、校验逻辑
- 需要实现缓存清理、过期管理
- 需要处理版权问题(哪些视频允许缓存)
- 需要和 B 站官方 API 对接缓存接口
这些功能每加一个都会增加代码量、增加维护成本。作为轻量开源项目,Bilby 选择不做缓存,把精力聚焦在播放和订阅这两个核心场景上。
对用户的影响
| 方面 | 影响 |
|---|---|
| 本地存储空间 | ✅ 不占空间 |
| 重复看同一个视频 | ❌ 每次都要重新加载、重新消耗流量 |
| 网络不好时 | ❌ 体验差,卡顿或加载慢 |
| 断网后 | ❌ 完全无法播放 |
| 隐私 | ✅ 不留缓存,手机里不会有观看痕迹 |
如何应对
策略一:在 WiFi 下看所有视频
这是最简单的应对。把刷视频的时间集中在有 WiFi 的地方,移动流量环境下只用后台音频模式。
策略二:后台音频模式
如果只是想"听"不"看",后台音频模式下流量消耗比正常播放低很多——只传音频流不传视频流。
策略三:用官方客户端缓存
如果你有需要离线看的场景(地铁没有信号、飞机上想看看视频),用官方客户端的离线缓存功能更合适。缓存完断网也能看,Bilby 帮不上这个场景。
和隐私的关系
纯流媒体不留缓存,反而在隐私上有一个小优势——你的手机里不会留下看过什么视频的痕迹。
官方客户端缓存的视频文件虽然通常是加密格式,但在某些情况下(比如手机数据被导出、文件管理器误操作)还是可能被看到。Bilby 看完就清,手机里干干净净。
和其他第三方客户端对比
不是所有第三方 B 站客户端都不做缓存。已知的开源项目里:
- wiliwili(掌机/手柄客户端):支持本地缓存,因为掌机设备经常没有网络
- BiliYou:支持离线下载功能
- Bilby:不做缓存,纯流媒体
每个项目根据自己的定位做不同的选择。
未来可能加缓存吗
以目前的产品定位来看,不太可能。纯流媒体和"轻量"这个核心设计是绑定的——加缓存功能意味着整个项目要多写好几千行代码、多好几个功能模块,换来的是"离线也能看"这一个场景的覆盖。
如果以后 Bilby 用户量变大、开发者精力够了,缓存功能有可能会作为可选模块加入。但在当前阶段,纯流媒体是明确的设计选择,不是"还没做"。