Kazumi 快速上手:四条命令跑起规则驱动的番剧聚合播放器,再开启实时超分
Kazumi 快速上手四条命令跑起规则驱动的番剧聚合播放器再开启实时超分【免费下载链接】Kazumi基于自定义规则的番剧采集APP支持流媒体在线观看支持弹幕支持实时超分辨率。项目地址: https://gitcode.com/gh_mirrors/ka/KazumiKazumi 是一款基于 Flutter 的跨平台番剧聚合应用用几行 XPath 选择器就能把动漫站点变成可搜索、可播放的数据源支持 Anime4K 实时超分与弹幕适合番剧观众也适合想拆解规则引擎的 Flutter 开发者。 Kazumi 解决了什么问题在没有这类工具之前看小站番剧的体验是这样的网页不能直接播——大量小站只有详情页和网页播放器没有接口、没有下载地址得打开网页等广告再翻页面源码找真实地址。资源没有统一入口——每部番对应一个站点搜索页、分页、封面格式各不相同想对比多个来源只能挨个开浏览器标签。画质停在源站水平——源站给 480p 就只能看 480p大屏幕上像素感明显也没有任何补救手段。Kazumi 的思路是不写代码你提供 XPath 选择器说明去哪搜、列表在哪、标题在哪检索和播放交给程序。同时把元数据与播放拆开封面、标签、评分走 Bangumi APIlib/request/apis/bangumi_api.dart视频流走你的规则两边互不干扰。 最短路径跑起来 Kazumi环境要求Flutter SDK 3.47.7Dart 3.10版本锁定在pubspec.yaml目标平台工具链已配置Android SDK 等良好网络依赖来自 pub.dev、MavenCentral、GitHub 等多处git clone https://gitcode.com/gh_mirrors/ka/Kazumi cd Kazumi flutter pub get flutter run跑起来后你会看到首次启动向导按顺序处理免责声明、镜像、规则源、更新源lib/pages/onboarding/steps/。之后进入带封面与标签的推荐页底部是推荐/时间表/追番/我的四个 Tab。注意还没装规则时搜索页搜不出东西先去规则管理里装几条再试。 规则引擎原理从关键词到播放页的五步一条规则就是一个 JSON核心字段是searchURL、searchList、searchName、searchResult搜索用和chapterRoads、chapterResult剧集用。规则分 XPath 与 API 两种模式引擎按searchMode分发到对应策略。执行流程加载规则启动时 PluginsController 读取应用支持目录里的plugins.json逐条解析为 Plugin 模型lib/plugins/plugins_controller.dart。构建 URL把searchURL中的keyword替换为编码后的关键词开启usePost时查询参数转入表单体。发出请求RuleEngine 附带 Cookie 与自定义 User-Agent 发送先做反爬探测命中验证码则抛出CaptchaRequiredException转 WebView 验证流程。XPath 解析用searchList取列表节点再在每个节点内用searchName/searchResult提取标题与链接。统一输出与播放转成 SearchItem 进入列表详情页复用同一套流程取剧集视频源解析器产出 M3U8/MP4 地址交给 media-kit 播放。关键代码在 XPath 策略的 URL 构建处lib/services/plugin/xpath_rule_strategy.dartfinal queryUrl config.searchUrl.replaceAll(keyword, Uri.encodeQueryComponent(keyword)); ... if (!config.usePost) { return PreparedRuleRequest( method: GET, url: queryUrl, includeCookies: true); } return PreparedRuleRequest( method: POST, url: uri.replace(query: null).toString(), bodyType: form, body: uri.queryParameters, includeCookies: true);代表功能逐个看实时超分480p 源观感拉近 1080p用户看到的效果播放设置里选效率档/质量档画面线条变锐利低分辨率源观感明显改善。实现位置assets/shaders/下是 10 个 Anime4K GLSL 文件lib/services/shaders/shader_asset_service.dart 负责首次启动时把着色器复制到应用可写目录三态开关关闭/效率/质量在lib/pages/player/controller/player_super_resolution.dart。工程细节着色器只复制一次已存在的文件直接跳过后续启动不重复写盘两档差异在于加载的着色器组合不同集显设备跑效率档帧率更稳。多源聚合搜索一次关键词多规则出结果用户看到的效果输入关键词多个已装规则同时返回条目附封面、标签、评分可翻页。实现位置lib/pages/search/search_controller.dart元数据经 BangumiApi 补齐以图搜番走 trace.moe 接口lib/request/apis/trace_api.dart。工程细节控制器内部维护_searchGeneration代际号每次新搜索让上一轮的异步结果作废快速连续搜索时新旧结果不会串页。弹幕与播放时间轴同步用户看到的效果边播边发弹幕支持滚动/顶部/底部类型与颜色同一弹幕源的弹幕跨设备一致。实现位置数据模型在 lib/modules/danmaku/danmaku_module.dart渲染依赖 canvas_danmaku 包。工程细节DanmakuEntry的p字段以逗号分隔存时间,类型,颜色,来源颜色压成 RGB 整数与弹弹 play 开放平台格式对齐导出导入不丢信息。目录结构与扩展入口lib/plugins/ 规则模型 Plugin 与规则库 PluginsController写规则的第一入口 lib/services/plugin/ RuleEngine、XPath/API 策略、规则有效性追踪 lib/pages/plugin_editor/ 规则编辑器、规则商店、规则测试页 lib/pages/search/ 聚合搜索页与以图搜番 lib/pages/video/ 播放宿主页、选集面板 lib/services/video_source/ 视频源解析与 WebView 嗅探池 lib/modules/ lib/repositories/ 数据模型与 Hive 本地仓储 test/ 单元测试示例改引擎前先看这里怎么写的想加一条新规则从lib/pages/plugin_editor/的编辑器入手跑通后再对照lib/services/plugin/里的策略类。想改播放行为看lib/pages/player/controller/下的细分控制器。⚠️ 上手前必知XPath 支持是受限子集目前只支持以//开头的选择器写规则前先照着示例来能检索但放不了时关掉规则里的内置播放器可回退 WebView 播放。编译需要好网络依赖托管在 MavenCentral、GitHub、SourceForge 等处大陆网络下要先配镜像再pub get。超分有硬件门槛质量档对 GPU 要求高集显设备建议效率档否则容易卡顿。广告来自视频源而非应用本项目自身不插广告看到广告请换源。播放内存占用偏高Kazumi 会尽量把视频缓进内存保流畅内存紧张的设备在播放设置里开低内存模式。如果你只想看番装几条规则即可直接上手想读代码从lib/plugins/和lib/services/plugin/入手先写一条自己的规则跑通再对照 RuleEngine 源码会顺畅很多。发现 bug 或想加功能按 static/doc/CONTRIBUTING.md 的约定提交 Issue/PR——要求 Conventional Commits且flutter test与flutter analyze都要通过。仓库地址git clone https://gitcode.com/gh_mirrors/ka/Kazumi【免费下载链接】Kazumi基于自定义规则的番剧采集APP支持流媒体在线观看支持弹幕支持实时超分辨率。项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考