# AnimeFlow **Repository Path**: anime-flow/AnimeFlow ## Basic Information - **Project Name**: AnimeFlow - **Description**: 一个跨平台的动漫视频播放应用,支持多数据源、支持实时视频4k超分辨率、自定义爬虫配置,对接Bangumi服务同步用户收藏数据,对接弹弹Play提供弹幕体验,为您提供流畅的观影体验下载地址: https://github.com/openAnimeFlow/AnimeFlow/releases - **Primary Language**: Dart - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: https://ligg.top - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 2 - **Created**: 2025-12-02 - **Last Updated**: 2026-07-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
file_00000000f82071f79ac51eb74f68d0d5
[![Release](https://img.shields.io/github/v/release/openAnimeFlow/AnimeFlow)](https://github.com/openAnimeFlow/AnimeFlow/releases) [![Downloads](https://img.shields.io/github/downloads/openAnimeFlow/AnimeFlow/total)](https://github.com/openAnimeFlow/AnimeFlow/releases)
# AnimeFlow 一个跨平台的动漫视频播放应用,支持多数据源、支持实时视频4k超分辨率、自定义爬虫配置,对接Bangumi服务同步用户收藏数据,为您提供流畅的观影体验。 [下载](https://github.com/openAnimeFlow/AnimeFlow/releases) ## ✨ 主要功能 ### 📱 多平台支持 - **移动端**:Android、iOS - **桌面端**:Windows、macOS、Linux ### 💬 弹幕系统 - 支持多平台弹幕源: - Bilibili - Gamer - 弹弹Play - 丰富的弹幕设置: - 透明度调节 - 字体大小调节 - 弹幕速度调节 - 显示区域控制 - 弹幕类型筛选(滚动/顶部/底部) - 样式设置(边框、颜色、密集模式) ### 🎬 超分辨率功能 - **基于 Anime4K**:使用 Anime4K 开源算法实现实时视频超分辨率 - **多种模式**: - **效率档**:使用轻量级模型,性能优先,适合中低端设备 - **质量档**:使用高质量模型,画质优先,需要较强的 GPU 性能 - **实时处理**:在播放过程中实时提升视频清晰度 ### 📚 Bangumi 集成 - **用户系统**:Bangumi账号登录,同步用户信息 - **收藏管理**:同步和管理Bangumi收藏列表 - **推荐内容**: - 热门动漫推荐 - 时间胶囊(动态时间线) - **每日放送**:查看每周番剧更新日历 - **排行榜**:支持多种排序方式和时间筛选 - **动漫详情**: - 详细信息展示 - 角色介绍 - 评论系统 - 相关推荐 - 标签分类 ### ⚙️ 数据源管理 - 支持自定义数据源配置 - 灵活的数据源添加、编辑、删除 - 多数据源切换 - XPath 爬虫配置支持 ## 🖼️ 应用截图 ### 桌面端
桌面端截图1 桌面端截图2 桌面端截图3 桌面端截图4 桌面端截图5 桌面端截图6
### 移动端
移动端截图1 移动端截图2 移动端截图3 移动端截图4 移动端截图5 移动端截图6
### 数据源管理
数据源管理列表 添加数据源
[//]: # (### 主题管理) [//]: # () [//]: # (
) [//]: # ( 添加数据源) [//]: # (
) ## 🛠️ 编译与启动 以下步骤适用于在本地从源码编译并运行 AnimeFlow 客户端。 ### 环境要求 | 工具 | 版本要求 | |---|---| | Flutter | `3.44.0`(见 `pubspec.yaml`) | | Dart SDK | `>= 3.3.4` | | Android 构建 | JDK 17、Android SDK | | iOS 构建 | macOS + Xcode | | 桌面端 | Windows / macOS / Linux 对应平台工具链 | 安装 Flutter 后执行: ```bash flutter doctor ``` 确保目标平台(Android / iOS / Windows 等)显示为可用。 ### 1. 获取源码并安装依赖 ```bash git clone https://github.com/openAnimeFlow/AnimeFlow.git cd AnimeFlow flutter pub get ``` ### 2. 配置 API 签名密钥 客户端请求 AnimeFlow 服务端时需要携带签名头,密钥通过编译期变量注入。 **方式 A:命令行直接传入(适合临时调试)** ```bash flutter run \ --dart-define=ANIME_FLOW_APP_ID=your_app_id \ --dart-define=ANIME_FLOW_SECRET=your_secret ``` **方式 B:使用配置文件** 在项目根目录创建 `dart_defines.json`(勿提交到 Git): ```json { "ANIME_FLOW_APP_ID": "your_app_id", "ANIME_FLOW_SECRET": "your_secret" } ``` 运行或编译时附加: ```bash flutter run --dart-define-from-file=dart_defines.json ``` **方式 C:IntelliJ IDEA / Android Studio (推荐)** 1. 右上角 **Edit Configurations…** 2. 选择 Flutter 运行配置 3. 在 **Additional run args** 中填入: ``` --dart-define-from-file=dart_defines.json ``` 或直接写: ``` --dart-define=ANIME_FLOW_APP_ID=your_app_id --dart-define=ANIME_FLOW_SECRET=your_secret ``` > 修改 `--dart-define` 后需完全重启应用(Hot Restart 不会重新加载编译期变量)。 ### 3. 代码生成(可选) 项目已提交 `.g.dart` 等生成文件,日常运行通常无需执行。若你修改了 Riverpod、`go_router`、`Hive` 等注解代码,需重新生成: ```bash dart run build_runner build --delete-conflicting-outputs ``` ### 4. 启动调试 查看可用设备: ```bash flutter devices ``` 在指定平台运行(按需替换 `-d` 参数): ```bash # Windows flutter run -d windows --dart-define-from-file=dart_defines.json # Android(真机或模拟器) flutter run -d android --dart-define-from-file=dart_defines.json # macOS flutter run -d macos --dart-define-from-file=dart_defines.json # Linux flutter run -d linux --dart-define-from-file=dart_defines.json # iOS(需 macOS + Xcode) flutter run -d ios --dart-define-from-file=dart_defines.json ``` ### 5. 联调本地服务端 默认开发环境 API 地址为 `http://127.0.0.1:1024`(见 `lib/http/api_path.dart` 中的 `AnimeFlowApi.animeFlowApiDev`)。 联调步骤: 1. 启动 [AnimeFlow Service](https://github.com/openAnimeFlow/AnimeFlow_Service) 后端(默认端口 `1024`) 2. 确保服务端 `.env` 与客户端 `dart_defines.json` 中的 AppId / Secret 一致 3. 按上文方式启动客户端 Android 模拟器访问本机服务时,若 `127.0.0.1` 无法连通,需将 API 地址改为 `10.0.2.2:1024`(Android 模拟器访问宿主机的特殊地址)。 ### 6. 编译发布包 ```bash # Android(按架构分包) flutter build apk --split-per-abi --release --dart-define-from-file=dart_defines.json # Windows flutter build windows --release --dart-define-from-file=dart_defines.json # macOS flutter build macos --release --dart-define-from-file=dart_defines.json # Linux flutter build linux --release --dart-define-from-file=dart_defines.json # iOS(需 macOS,签名配置见 Apple 开发者文档) flutter build ios --release --dart-define-from-file=dart_defines.json ``` Release 包输出目录: | 平台 | 输出路径 | |---|---| | Android | `build/app/outputs/flutter-apk/` | | Windows | `build/windows/x64/runner/Release/` | | macOS | `build/macos/Build/Products/Release/` | | Linux | `build/linux/x64/release/bundle/` | ## 📖 使用指南 ### 添加数据源 1. 进入 **设置** → **数据源管理** 2. 点击右上角添加按钮 3. 填写数据源配置信息: - 版本号 - 名称(唯一标识) - 图标链接 - 网站链接 - 搜索链接(使用 `{keyword}` 作为搜索关键字占位符) - 搜索内容列表 XPath - 搜索列表名称 XPath - 搜索列表链接 XPath - 线路名称 XPath - 剧集列表 XPath - 剧集链接 XPath 4. 保存配置 ### 使用超分辨率 1. 在播放界面,点击底部控制栏的 **超分辨率** 按钮 2. 选择超分辨率模式: - **关闭**:不使用超分辨率,节省性能 - **效率档**:推荐用于中低端设备或低分辨率视频源 - **质量档**:推荐用于高性能设备,可获得最佳画质提升 3. 选择后立即生效 **提示**: - 超分辨率功能对 GPU 性能要求较高,如果播放卡顿,建议选择效率档或关闭 - 对低分辨率视频源使用超分辨率效果更明显 - 质量档可能会造成设备卡顿,建议在独立显卡设备上使用 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 本项目采用私有许可证,仅供学习和研究使用。 ## 🙏 致谢 特别感谢 [Anime4K](https://github.com/bloc97/Anime4K) 本项目使用 Anime4K 进行实时超分辨率处理。 特别感谢 [Bangumi](https://bangumi.tv/) 本项目使用了 Bangumi 开放 API 以提供番剧元数据和用户数据同步。 特别感谢 [DandanPlayer](https://www.dandanplay.com/) 本项目使用了 dandanplayer 开放 API 以提供弹幕体验。 特别感谢 [trace.moe](https://trace.moe) 本项目使用了 trace.moe 提供的图片识别番剧功能。 --- **注意**:本项目仅供学习交流使用,请遵守相关法律法规,尊重版权。