Simple Live:一个App免费看全四大直播的跨平台直播聚合完整指南
【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live
只想看一场直播,难道得挨个打开四个App?Simple Live 是一款用 Flutter 构建的跨平台直播聚合工具,把哔哩哔哩、斗鱼、虎牙、抖音装进同一个界面里。读完本文,你会拿到安装方式、背后的架构设计,以及它到底适合谁。
它替你解决了什么
想象一下:晚上 11 点,群里有人甩来一句"比赛开始了"。你打开手机里的 B 站——没有;切到斗鱼——没有;虎牙——找到了,可你每天关注的那位主播还在抖音上,想瞄一眼他的状态又得换回另一个应用。四个平台四种登录方式、弹幕速度互不统一,手机上的关注列表和电脑上的观看记录也从不互通。Simple Live 做的事就是把这些合并掉:一个入口搜索、关注、观看四个平台,外加一套统一的弹幕和设置。
装完之后你会看到什么
三个页面就能说清它的全部家底:聚合首页、播放与弹幕、个性化设置。
聚合首页:四个平台同屏翻
打开应用,首页就是分页内容流,顶部标签切换到任意一个平台,按分类或热门浏览。关注列表会直接标出直播状态,正在播的主播自动排到最前面,后台按你设的间隔并发刷新,不用手动逐个点进去看。
播放与弹幕:直播弹幕统一,清晰度一键切
点进任意房间,播放器直接加载,可以切换清晰度、开启画中画小窗。四个平台的弹幕协议各不相同,核心库会先把它们解析成同一种消息格式再渲染,所以无论是抖音还是 B 站,弹幕的密度和观感都保持一致。
个性化设置:屏蔽词、主题、自动退出
设置里能配弹幕屏蔽词和屏蔽规则,选择深色、浅色两套主题,还有自动退出时间这类选项。配一次就固定下来,四个平台之间不需要反复重设。
它是怎么做到全平台的
为什么四个平台在一个 App 里表现一模一样?因为界面层从不直接和某个平台打交道:
| 层级 | 职责 | 所在位置 |
|---|---|---|
| 数据层 | 从 4 个平台拉取房间、播放地址、弹幕,统一成标准模型 | simple_live_core/lib/src/ |
| 业务层 | 关注、历史、账号、跨设备直播同步 | simple_live_app/lib/services/ |
| 界面层 | 首页、直播房间、搜索、设置等页面 | simple_live_app/lib/modules/ |
核心库把每个平台抽象成LiveSite(查房间、取清晰度、拿播放地址)加LiveDanmaku(启动、接收、停止)两个接口,接入一个新平台,就是写一套实现,弹幕解析与接口定义分别看 弹幕实现 和 接口定义。
simple_live_app/lib/ ├── modules/ # 首页、直播房间、关注、搜索、设置、同步 ├── services/ # 关注状态、观看历史、局域网/WebDAV 同步 ├── requests/ # HTTP 请求与日志拦截器 └── app/ # 站点注册、主题、全局设置几个关键实现,点到为止:
- 弹幕协议统一:各平台弹幕解析成同一个
LiveMessage,UI 只管渲染。 - 状态管理:GetX 承担路由、依赖注入与响应式更新,controller 和 page 分离得干净。
- 本地持久化:Hive 存关注、标签、历史,全部离线可用。
- 跨设备直播同步:UDP 广播发现局域网内设备,内建 HTTP 服务传输关注、历史与屏蔽词;WebDAV 负责远程备份。
- 播放基于 media_kit,画中画由 floating 插件提供。
平台支持:Android、iOS 完整支持;Windows、macOS、Linux、Android TV 均为 BETA。
5分钟上手
环境只要求 Flutter 3.38+ 和对应平台工具链。项目不提供 Release 安装包,需要自行编译:
git clone https://gitcode.com/GitHub_Trending/da/dart_simple_live cd dart_simple_live/simple_live_app flutter pub get flutter run首次体验的 4 个动作:
- 在首页翻一翻推荐和分类,感受四平台聚合;
- 找一个顺眼的房间关注,顺手建一个标签;
- 去弹幕设置加一个屏蔽词,再刷新热闹房间验证效果;
- 第二台设备进入同步页,选中局域网设备,把关注列表推过去。
三个真实场景
三个时段、三种身份,看看有没有你的影子:
- 小林,周五 22:00:群里说冠军赛开了,她记不清在哪个平台,打开搜索输入游戏名,从聚合结果里点进正在直播的那个,30 秒搞定。
- 老王,工作日 12:30:午休用手机看了几分钟,18:00 到家打开电视端,关注列表已经同步好,直接找到同一间房继续看。
- 阿哲,每个周日:他把 40 来个关注的主播按游戏打了标签,周日早上"直播中"筛选项告诉他今天谁在播,不用挨个点开确认。
它适合谁,又不太适合谁
它不是万能的,先说清楚:
- 多平台观看者:你在 2 个以上平台看直播,就能少装几个应用,换来统一入口和一套设置。
- 关注列表重度用户:标签筛选、直播状态推送、JSON 导入导出,关注列表能当成文件备份带走。
- 喜欢自己动手的开发者:能接受源码编译的话,你能顺带学到一个 Flutter + GetX 的完整工程样本。
限制也很直白:Windows、macOS、Linux、电视端目前都是 BETA,iOS 端播放还有待完善的问题(仓库 TODO 里列着);而且当前只接入国内 4 个平台,如果你主要看 Twitch 等海外平台,它帮不上忙。
接下来会怎样
项目推进得不快但很稳:
- 2021 - 项目启动,基础架构搭建
- 2022 - 支持哔哩哔哩、斗鱼、虎牙 3 个平台
- 2023 - 增加抖音,移动端功能补全
- 2024 - 桌面端与电视端发布,覆盖 6 个平台
- 2025 - 应用迭代到 1.11.x 版本,完善关注状态并发与同步细节
后续方向就写在仓库的 TODO 里:iOS 播放问题修复、全屏与非全屏弹幕样式分离、直播间重写;平台侧则继续按LiveSite接口扩充新实现。
下次想开播又不知道点开哪个 App 的时候,把它克隆下来、编译好,从一个入口开始看。
【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考