colining / ani

一站式在线弹幕追番平台:全自动 BT + 在线多数据源聚合,离线缓存,Bangumi 收藏同步,弹幕云过滤 ... 100% Kotlin Compose Multiplatform

Home Page:https://myani.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

下載量 正式版↓ 測試版↓ 討論群
GitHub downloads Stable Beta Group QQ
Ani logo

Ani

集找番、追番、看番的一站式弹幕追番平台。

Ani 的目标是提供尽可能简单且舒适的追番体验。

支持云同步观看记录 (Bangumi), 多视频数据源, 缓存, 弹幕, 以及更多功能。

我不是专业客户端开发人员, 开发纯属兴趣, 不过有点讲究代码质量, 欢迎各位指点.

技术总览

以下几点可以给你一个技术上的大概了解, 不感兴趣的可以直接看截图.

  • Kotlin 多平台架构: Android + 桌面 JVM,绝大部分代码共享在 app/shared
  • UI 100% Compose
  • Compose 弹幕引擎,自建弹幕服务器+网络弹幕源,预留接入其他弹幕数据源的接口
  • Compose 视频播放器,Android 底层为 ExoPlayer,PC 底层为 VLC
  • 独立的抽象数据源对接模块:SPI 方式加载 动漫花园acg.ripMikan 等。现阶段支持代码里扩展私有数据源,局域网缓存服务器等。未来计划开放 API

参与开发

欢迎你提交 PR 参与开发, 也欢迎加入 open-ani 组织。 有关项目技术细节请参考 CONTRIBUTING

下载

Ani 支持 Android 和桌面端 (macOS、Windows)。

通常建议使用稳定版本. 如果你愿意参与测试并拥有一定的对 bug 的处理能力, 也欢迎使用测试版本更快体验新功能. 具体版本类型可查看下方.

具体版本类型

Ani 采用语义化版本号, 简单来说就是 3.x.y 的格式. 有以下几种版本类型:

  • 稳定版本:
    • 新特性发布: 当 x 更新时, 会有新特性的发布. 通常为 2 周一次.
    • Bug 修复: 当 y 更新时, 只会有针对前个版本的重要的 bug 修复. 这些 Bug 修复版本穿插在新特性更新的间隔中, 时间不固定.
  • 在稳定版本的发布周期之间, 会发布测试版本:
    • Alpha 测试版: 所有重大新功能都会首先发布到 alpha 测试通道, 客户端内可使用 "每日构建" 接收更新. 这些新功能非常不稳定, 适合热情的先锋测试员!
    • Beta 测试版: 在功能经过 alpha 测试修复重大问题后, 会进入 beta 测试通道, 在客户端内名称为 "测试版". 此版本仍然不稳定, 是一个平衡新功能和稳定性的选择

功能截图

快速开发中, 我每隔几天会更一下截图. 实际样式请以最新版本为准.

管理追番

  • 同步 Bangumi 收藏, 记录观看进度

collection-dark subject-dark

collection-desktop

多数据源在线视频播放

多数据源适配, 总有一个源有你想看的番和喜欢的字幕组

  • 全自动整合多个 BT 数据源与在线数据源, 兼顾资源质量与缓冲速度
  • 自动解析资源信息, 可配置的智能选择算法完全避免找资源的麻烦
  • 记忆偏好选项

episode-player-loading episode-stats episode-media

视频弹幕

  • 弹弹play, 其他弹幕网站, 以及 Ani 弹幕服务获取弹幕
  • 自定义弹幕样式与速度
  • 发送弹幕到 Ani 的公益弹幕服务器

player-controller

你可能注意到了, 图里的 "广告位招租" 其实是开玩笑, 有其他有意思的弹幕广告词创意欢迎提交

player-danmaku

player-settings

episode-play-desktop

episode-gesture

资源偏好设置

  • 设置全局优先选择的字幕组, 字幕语言等设置
  • 在观看时修改过滤可自动记忆并应用到下次播放和自动缓存

subtitle-language.jpg

视频缓存

  • 自动根据资源偏好设置缓存观看进度的下一集
  • 管理缓存的所有视频
  • 按番剧分类管理

cache.jpg subject-cache.jpg global-caches.jpg

完全免费无广告且开放源代码

  • 使用靠谱的 Bangumi 记录追番数据, 不怕网站跑路丢失数据
  • 视频播放使用 P2P 资源, 无服务器维护成本, 即使我跑路了 Ani 也能用
  • 开放源代码, 公开自动构建, 无资料泄露风险
  • 可 PR 添加自己喜欢的功能

代理设置

Ani 自带不需要代理的数据源,无需配置代理。 若你想要,也可以设置代理后使用所有数据源。

preferences-network-proxy preferences-network-danmaku

FAQ

资源来源是什么?

全部视频数据都来自网络, Ani 本身不存储任何视频数据。 Ani 支持两大数据源类型:BT 和在线。BT 源即为公共 BitTorrent P2P 网络, 每个在 BT 网络上的人都可分享自己拥有的资源供他人下载。在线源即为其他视频资源网站分享的内容。Ani 本身并不提供任何视频资源。

本着互助精神,使用 BT 源时 Ani 会自动做种 (分享数据)。 BT 指纹为 -aniLT3000-,其中 3000 为版本号;UA 为类似 ani_libtorrent/3.0.0

弹幕来源是什么?

Ani 拥有自己的公益弹幕服务器,在 Ani 应用内发送的弹幕将会发送到弹幕服务器上。每条弹幕都会以 Bangumi 用户名绑定以防滥用(并考虑未来增加举报和屏蔽功能)。

Ani 还会从弹弹play获取关联弹幕,弹弹play还会从其他弹幕平台例如哔哩哔哩港澳台和巴哈姆特获取弹幕。 番剧每集可拥有几十到几千条不等的弹幕量。

弹幕过滤

我们已经听到了许多用户关注弹幕的质量的请求。Ani 有 AI 团队正在研发云过滤模型,将逐渐推进云过滤功能。

About

一站式在线弹幕追番平台:全自动 BT + 在线多数据源聚合,离线缓存,Bangumi 收藏同步,弹幕云过滤 ... 100% Kotlin Compose Multiplatform

https://myani.org

License:GNU Affero General Public License v3.0


Languages

Language:Kotlin 94.2%Language:C++ 4.0%Language:Java 1.6%Language:CMake 0.1%Language:Shell 0.1%Language:ANTLR 0.0%Language:SWIG 0.0%Language:Swift 0.0%Language:Batchfile 0.0%