直播 HLS 播放与弹幕 — 同一客户端看直播也没问题
HLS 是什么
HLS (HTTP Live Streaming) 是苹果开发的直播流传输协议,现在已经是 B 站直播的标准协议。HLS 的原理是:
- 直播端把直播流切成小段(通常 2~10 秒一段)
- 上传到 B 站 CDN
- 客户端(BiliPai)按顺序下载这些小段,拼成连续的视频播放
相比 RTMP 等传统直播协议,HLS 的好处是:
- 基于 HTTP:防火墙友好,移动网络切换 Wi-Fi 不中断
- 自适应码率:和 DASH 类似,根据带宽自动切换清晰度
- 延迟可控:通常 3~10 秒延迟,够用
BiliPai 的直播模块
分区浏览
BiliPai 底部导航 → 直播 → 可以看到 B 站全部分区:
| 分区 | 内容类型 |
|---|---|
| 娱乐 | 聊天、唱歌、跳舞 |
| 游戏 | 各种游戏直播 |
| 学习 | 课程、讲座、教学 |
| 生活 | 户外、美食、探店 |
| 动画 | 国创、日番相关 |
| 音乐 | 音乐现场、翻唱 |
进入直播间
点击任意直播卡片 → 进入直播间。BiliPai 直接拉取 HLS 直播流 + 实时弹幕 + 主播信息,体验和官方 App 接近。
直播间内功能
| 功能 | 说明 |
|---|---|
| HLS 播放 | 自适应码率,移动网络不中断 |
| 实时弹幕 | 和视频弹幕共用 DanmakuRenderEngine |
| 清晰度切换 | 流畅 / 清晰 / 高清(取决于主播推流码率) |
| 关注主播 | 一键关注该 UP 主 |
| 动态跳转 | 点击直播间右下角图标跳转到主播的动态页面 |
| 横屏播放 | 全屏看直播 |

直播 vs 视频播放
BiliPai 对直播和视频做了区分处理:
| 特性 | 直播 | 视频 |
|---|---|---|
| 协议 | HLS | DASH + Progressive |
| 弹幕 | 实时(WebSocket) | 预加载 + 时间戳 |
| 倍速 | 不支持 | 支持全部倍速 |
| 进度跳转 | 不支持(直播是实时的) | 支持 |
| 录制/缓存 | 不支持 | 支持(离线缓存) |
| 后台播放 | 可以(后台继续拉直播流) | 可以 |
延迟问题
HLS 的延迟通常 3~10 秒,比 RTMP 的 1~2 秒略高。这是协议本身的特性,不是 BiliPai 的 bug。如果想降低延迟:
- 确保 Wi-Fi 信号良好
- 不要在 4G/5G 和 Wi-Fi 之间频繁切换
- 部分主播会同时推 HLS 和低延迟流,BiliPai 优先低延迟流
直播功能的边界
BiliPai 可以看直播,但不支持:
- 发起直播:需要用官方 App 或 OBS
- 直播互动功能(送礼、上舰长、评论打赏):这些是 B 站商业化功能,第三方客户端不做
- 直播录制:BiliPai 没有直播录制功能
这是开发者在项目定位里明确的——BiliPai 聚焦视频核心观看流程,不做创作者工具和商业化功能。