☰
Simple Live 多平台直播聚合指南:一个应用看遍 B 站、斗鱼、虎牙、抖音直播
2026/10/9 5:06:28 网站建设 项目流程

Simple Live 多平台直播聚合指南:一个应用看遍 B 站、斗鱼、虎牙、抖音直播

【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live

Simple Live 是一个用 Flutter 写的多平台直播聚合工具,把哔哩哔哩、斗鱼、虎牙、抖音四个平台的直播间收进同一个应用里:看推荐、分类浏览、跨平台搜索、收弹幕、关注开播提醒,手机上开始看,电视上接着看。项目由四个模块组成——核心库simple_live_core负责各平台数据与弹幕,simple_live_app是手机和桌面客户端,simple_live_tv_app面向 Android TV,另有一个基于核心库的控制台程序。项目不提供 Release 安装包,需要自己编译后运行测试,下文会讲清楚怎么把它跑起来。

四个平台为什么能在一个应用里统一观看

每个直播平台的接口、弹幕协议都不一样:B 站走 WebSocket,虎牙要处理 Tars 协议,抖音直播流还涉及签名算法。如果每个平台各写一遍 UI 和播放逻辑,维护成本会成倍增加。Simple Live 的做法是把这部分收敛到simple_live_core里,定义统一的LiveSite接口,把"读分类、搜房间、取房间详情、查清晰度、拿播放地址"这些动作都抽象成同一组方法,四个平台(huya_site.dart、douyu_site.dart、bilibili_site.dart、douyin_site.dart)各自实现一遍。弹幕侧同样抽象成LiveDanmaku接口,B 站的 WebSocket 弹幕、抖音的 protobuf 协议(源码里带 douyin.proto 和对应生成代码)都被归一到相同的消息回调模型上。

上层应用因此不用关心"这是哪个平台的直播间",拿到统一的数据模型就能渲染。这也是为什么同一个应用能同时支持推荐流、分类页、搜索、关注列表——它们消费的都是核心库输出的通用结构,而不是各平台私有的返回格式。

从克隆到跑起来:三个端分别怎么编译

环境只需要一样东西:Flutter 3.38 或以上。拿到源码后进入对应模块目录编译即可,手机和桌面端进simple_live_app,电视端进simple_live_tv_app。以 Android 为例:

flutter build apk --release

iOS 把命令换成flutter build ios --release,桌面端用flutter build windows/flutter build macos。Android 和 iOS 是完整支持状态,Windows、macOS、Linux 以及 Android TV 目前标注为 BETA,桌面端和电视端遇到问题时可以先在手机上验证功能。项目声明所有接口都基于公开资料开发,仅用于学习交流,不建议直接拿去做商业用途。

第一次进应用:找台、看播、管弹幕的日常动线

装好之后的动线很简单。首页是各平台推荐流的聚合,往下滑或切分类页(网游、手游等类目)就能按品类翻直播间;搜不到想看的内容时,搜索页可以按主播名或房间关键词跨平台查,抖音还有单独的搜索入口。点进直播间后,播放器基于 media_kit,能切换清晰度、开启屏幕常亮、用画中画边看边做别的事;弹幕渲染交给 canvas_danmaku,支持开关、字号和滚动速度调整,还能加屏蔽词,弹幕设置 和 弹幕屏蔽 都在设置里。

关注列表可以跨平台维护,主播开播有状态更新;看过什么会落到本地 Hive 数据库(历史模型),在"我的"里随时能找回。

手机、电脑、电视之间怎么同步

同步模块分成两条路。本地同步基于局域网:一台设备扫码、另一台在 设备页 接入,通过 SignalR 把关注列表和观看数据推到同一网络内的其他设备,适合"客厅电视继续看卧室手机上看了一半的直播"这种切换。远程同步则走 WebDAV,在 WebDAV 配置页 填好服务地址和账号后,数据可以备份到任意支持 WebDAV 的存储,多设备冲突会由同步服务合并处理。

账号方面,B 站支持扫码登录和网页授权两种方式(见 账号管理),登录态会影响部分弹幕与播放能力的获取。电视端simple_live_tv_app的界面针对遥控器做了布局优化,字体更大、焦点导航更明显,功能上保持与手机端一致。

播放卡顿或弹幕不显示,先查这几处

遇到问题不用急着重装,多数情况是配置或网络问题。加载慢时先看网络状态,然后把默认清晰度调低一档,播放设置里还可以调整自动旋转等行为(播放设置)。弹幕不显示时,依次检查:对应平台的账号是否登录、弹幕开关是否被误关、屏蔽词是否写得太宽导致全被过滤;仍不行就重启应用。

几个细节值得留意:桌面端和 TV 端是 BETA,遇到兼容性问题优先用手机端对比;虎牙等平台的请求依赖特定 User-Agent(配置见 play_config.json),自行魔改接口时保留原值更稳妥;项目仅用于学习交流,商用前请先阅读仓库内的声明(statement.txt)。

把四个平台的直播间收进一个应用,就是 Simple Live 想解决的全部问题。编译、配置、同步这几步走通之后,它就基本是一个可以直接日常使用的私人直播中心了。

【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询