ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Simple Live:真正管用的直播聚合App

Simple Live:真正管用的直播聚合App Simple Live真正管用的直播聚合App【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live手机里是不是也躺着三四个直播 App想找一个主播的直播得挨个打开、挨个登录。Simple Live 做跨平台直播聚合把哔哩哔哩、斗鱼、虎牙、抖音四大平台的直播收进一个 Flutter 应用适合受够了在多个应用间来回切的人。到底解决了什么四个App来回切今晚在哪看比赛开打前你要在哔哩哔哩、斗鱼、虎牙、抖音之间挨个翻看谁在播。Simple Live 的首页把各平台直播聚合在一起下拉一次刷新就能看到所有在播的房间。换台看球操作和习惯都得重来弹幕位置、音量控制、清晰度选项每个应用一套逻辑换台设备连关注列表都得重配。这里搜索、播放、弹幕、关注全是同一套操作数据还能在设备之间同步。功能走一遍从打开首页到数据同步 打开首页四个平台的推荐一屏看完你看到的是一张张直播卡片主播头像、房间标题、正在直播的状态顶部标签切换四大平台顺序还能按自己的习惯调整。点卡片直接进房不用跳出再打开别的 App。 背后每个平台的数据都走 simple_live_app/lib/app/sites.dart 里的统一站点配置首页不关心自己面对的是哪家 API。浅色主题首页日间看更清爽 搜一位主播跨平台一次查完搜索页输入关键词房间和主播的分页结果一起返回不同平台的条目排在一起。看中哪位主播就点一下关注直接进你的关注列表之后首页就能看到 ta 的开播状态。 背后多平台搜索和结果组装在 simple_live_app/lib/modules/search/。 进房间弹幕和画质随你调房间内的播放界面是统一的切清晰度、调音量亮度、转屏、开关弹幕都能随手做Android 上还能挂起窗口走画中画继续看的同时干别的。四个平台的弹幕协议差别很大但显示出来是同一套样式弹幕渲染用 canvas 绘制密集刷屏也不掉帧。 背后播放基于 mpv各平台弹幕协议在 simple_live_core/lib/src/danmaku/ 里分别解析统一成同一种消息格式。深色主题播放界面深夜看不刺眼 屏蔽词配好弹幕不再刷屏设置里的弹幕屏蔽支持按关键词过滤。看播时刷到讨厌的弹幕加一条屏蔽规则之后的同类弹幕就再也不会出现看球、看比赛的环境干净很多。 背后屏蔽规则的配置在 simple_live_app/lib/modules/settings/danmu_shield/。 切到电视或电脑数据自己跟过去局域网内打开同步页扫码就能配对设备也可以配置 WebDAV 走远程同步。关注列表、观看历史、偏好设置跟着你的设备走新设备不用重新配置。 背后本地发现走 UDP 广播加内置 HTTP 服务实现在 simple_live_app/lib/modules/sync/。拆开看看直播聚合背后的三层结构项目分工很清楚核心库负责怎么和平台说话应用负责用户怎么看怎么用。三层对应关系见下表层职责对应路径数据层平台 API 弹幕协议解析simple_live_core/lib/src/业务层账号、持久化、同步服务simple_live_app/lib/services/界面层首页、房间、搜索、设置simple_live_app/lib/modules/最值得称道的是核心库和界面之间那层适配用LiveSite和LiveDanmaku两个抽象类把四个平台拉平一站一类每个平台的实现继承同一套接口提供分类、搜索、房间详情、清晰度、播放链接、弹幕这些能力接新平台只加一个类不动界面代码。弹幕统一出口WebSocket、protobuf、tars 等不同协议的连接最后都规整成同一种消息格式上层只管渲染不用关心来自哪个平台。核心库复用Android TV 版和控制台程序用的也是同一套核心库App 只是它的消费方之一。状态与存储状态和路由用 GetX关注、历史等本地数据落在 Hive 里轻量且类型安全。五分钟跑起来自己编译一个能用的版本项目不提供现成安装包但用 Flutter 编译只是几分钟的事需要 Flutter 3.38# 克隆项目仓库 git clone https://gitcode.com/GitHub_Trending/da/dart_simple_live cd dart_simple_live/simple_live_app flutter pub get # 连接设备或模拟器后运行 flutter run这个 Flutter 多端直播客户端目前在手机端最成熟桌面和电视端仍标着 BETA多端支持情况见下表平台状态备注Android✅主客户端iOS✅主客户端WindowsBETAmacOSBETALinuxBETAAndroid TV独立电视客户端看一天直播它这样跟着你午休 12:30地铁上补一场你瞄一眼关注列表常看的主播开播了点进去就播。快到站时工作群弹出消息点一下屏幕视频挂进画中画小窗继续走。 13:10 回到工位小窗还在弹幕和播放状态原样保留。晚上 9:10沙发上接着看电视打开电视版的关注列表和下午在手机上看到的是同一份刚才开播的主播还挂在那里。 不用重新登录也不用重新搜索遥控器导航和重点高亮都是为大屏准备的。路线图还在持续做什么v1.0 初始版本核心库 移动端 App 四大平台 哔哩哔哩 / 斗鱼 / 虎牙 / 抖音 全部支持 桌面端 Windows / macOS / LinuxBETA 电视端 Android TV 版本BETA v1.11.x 持续迭代同步、屏蔽、设置项陆续增强同时在做的几件事平台扩展适配层设计天然给新平台留了位置接一个平台就是加一个站点实现。桌面与电视体验BETA 版本还在补功能向移动端看齐。同步与屏蔽细节多设备同步和弹幕屏蔽规则持续打磨中。社区参与仓库是开放的使用中遇到问题可以直接提 issue核心库也能单独嵌入你自己的项目。该不该试这个直播聚合App三个维度的差别见下表维度不用它用它App 数量装四个各登各的账号一个应用需要时再登录操作习惯四套操作每次重新记搜索、播放、弹幕全统一数据位置关注、历史散在各家应用里本地统一管理 跨设备同步适合你如果日常要看国内多个平台的直播不想在应用间来回切会用 Flutter 编译习惯自己掌控源码有手机、电脑、电视多台设备希望数据跟着走不适合你如果你主要看 Twitch 等国际平台——目前只覆盖哔哩哔哩、斗鱼、虎牙、抖音四个国内平台不想动手编译希望下载就能装还在为四个应用来回切换去仓库搜一下 Simple Live自己编译一份看看四大平台在一屏里是什么样子。【免费下载链接】dart_simple_live简简单单的看直播项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进