从 NewPipe 分叉出来的这个客户端到底改了什么
它和 NewPipe 的关系是理解整个项目的钥匙。开发者 InfinityLoop1308 在 2022 年初因为开发理念上的分歧,把 NewPipe 的代码完整分叉了出来,从此走上一条互不同步的独立路线——这在开源圈叫「硬分叉(hard fork)」:它不再接收 NewPipe 的更新,NewPipe 也不采纳它的改动,两边是各自发版、各自维护的两个项目。

分叉带来的实际差异
因为不用等上游共识,这个分叉版本能快上很多 NewPipe 至今没有的功能,官方仓库把它们归纳为五大块:
- YouTube 强化:SponsorBlock 跳赞助片段(YouTube 与 B 站都支持)、通过 ReturnYouTubeDislike 恢复点踩计数、显示原视频标题而不是翻译版、登录后可看年龄限制或会员内容;
- 媒体功能:直播聊天以弹幕形式滚动显示、AV1 与 VP9 高效编解码、音乐播放器模式与后台播放;
- 内容过滤:高级搜索筛选、按关键词或频道屏蔽、净化订阅流;
- 播放控制:滑动快进快退与全屏手势、长按倍速、睡眠定时器;
- 播放列表增强:一次下载整个播放列表、本地列表与历史内搜索排序。
为什么不追踪上游
同样是 NewPipe 的分叉,Tubular 选择紧跟 NewPipe 最新版本在其上叠加功能,而这个项目选择了彻底分道扬镳。代价是一个人扛住全部代码合并工作,好处是修复和功能更新不用等上游共识、节奏更快。仓库里还带着自己的一套提取器子模块(PipePipeExtractor 与 PipePipeClient),替换掉了 NewPipe 的对应组件,对数据提取链路有完全的控制权。
用户视角的三个提醒
- 问题不通用:NewPipe 上出现的 Bug 在这里不一定存在,NewPipe 的解决方法在这里也不一定适用——两边代码已经各走各的快四年;
- 报问题找对门:反馈问题要去这个项目自己的问题区,并且报清版本号,别拿 NewPipe 的经验套用(见 上报问题前要准备哪些信息);
- 功能取舍独立:它不接收「接入新平台」的请求,想要新服务官方的建议是自己分叉代码。
判断手上这个应用是不是它的方法之一是看包名:F-Droid 页面显示应用 ID 为 InfinityLoop1309.NewPipeEnhanced。装好后想先弄明白它支持哪些站点,接着看 支持的七个服务一览。