基于 Compose Multiplatform 框架开发的跨平台飞牛影视客户端
本项目为飞牛 OS 爱好者开发的第三方影视客户端,与飞牛影视官方无关。使用前请确保遵守相关服务条款。
最终效果以未来发布版本为准
下载 releases 中的安装包并安装
- 安装 Android Studio 或 IntelliJ IDEA
- JDK 17 或以上版本并配置环境变量
- 确保
JAVA_HOME环境变量指向 JDK 安装目录 - 确保
PATH环境变量包含%JAVA_HOME%\bin
- 确保
- 安装 Golang 1.25.4 或以上版本并配置环境变量
- 确保
GOPATH环境变量指向 Go 工作目录 - 确保
PATH环境变量包含%GOPATH%\bin
- 确保
-
克隆项目到本地:
git clone https://github.com/FNOSP/fntv-client-multiplatform.git
-
打开项目:
- 使用 Android Studio 或 IntelliJ IDEA 打开项目
- 或者,使用命令行导航到项目目录
-
运行项目:
- 在 Android Studio 或 IntelliJ IDEA 中,在 Gradle Tasks 中找到
compose desktop->run任务,双击运行
- 在 Android Studio 或 IntelliJ IDEA 中,在 Gradle Tasks 中找到
-
或者,使用命令行运行:
Linux 或 macOS
# 给脚本加上可执行权限 chmod +x gradlew # 运行项目 ./gradlew :composeApp:run
Windows
.\gradlew.bat :composeApp:run
- 打包桌面端项目:
-
在 Android Studio 或 IntelliJ IDEA 中,在 Gradle Tasks 中找到
compose desktop->packageReleaseDistributionForCurrentOS或者带当前系统支持的安装包格式的packageRelease任务,双击运行 -
或者,使用命令行运行:
# Linux 或 MacOS 端需要给脚本增加可执行权限 chmod +x gradlewUbuntu 或 Debian
./gradlew :composeApp:packageReleaseDeb
Fedora 或 CentOS
./gradlew :composeApp:packageReleaseRpm
Arch Linux
./gradlew :composeApp:packageReleasePkg
Windows
.\gradlew.bat :composeApp:packageReleaseExe -
打包完成后,可在
composeApp\build\compose\binaries\main-release目录下找到可执行文件
-
支持使用 GPU 硬解,但是因为框架渲染机制,硬解后的视频会被转为 RGBA 色彩模式,通过 CPU 将画面渲染到窗口,此时高动态范围视频会产生色调映射错误的问题,造成画面色彩显示异常。所以对于 HDR、HLG 以及 Dolby Vision 格式的视频,目前会强制 NAS 映射为 SDR 后输出,对于硬件性能不足的 NAS 可能无法流畅播放。未来的目标是尽可能实现显卡硬解后直接渲染到窗口。
目前暂时不支持,只支持使用 IP 或非飞牛中继域名登录,后面会支持使用 FN Connect 登录。
目前不支持。
目前支持 NAS 本地 SDR 动态范围下的 MP4 格式视频在原画质下使用直链播放。
| 功能 | 进度 |
|---|---|
| 登录页 | |
| 首页 | |
| 收藏页 | |
| 媒体库页 | |
| 媒体详情页 | |
| 播放器 | |
| 通用设置 | |
| 媒体库管理 | |
| 影视服务器设置 | |
| 用户设置 | |
| 任务计划 | |
| 搜索 | |
| 弹幕 | |
| 版本更新 | |
| 集成 mpv 播放器 | |
| 文件夹视图 | |
| 网盘视频播放 |
本项目使用或参考以下开源项目:
- Fluent Design UI - 适用于 Compose Multiplatform 的 UI 框架
- MediaMP - 适用于 Compose Multiplatform 的音视频播放器
- Animeko - 集找番、追番、看番的一站式弹幕追番平台
- Coil - 适用于 Compose Multiplatform 的图片加载器
- Koin - 适用于 Kotlin Multiplatform 的实用轻量级依赖注入框架
- Ktor - 使用 Kotlin 编写的 web 服务异步框架
- Kermit - 适用于 Kotlin Multiplatform 的日志记录工具
- jSystemThemeDetector - 用于检测(桌面)操作系统是否使用深色 UI 主题的 Java 库
- fntv-electron - 飞牛影视PC版 electron 封装
- fnos-tv - 基于飞牛影视接口开发的网页端
感谢以下飞牛共建团队成员在内测期间提供了宝贵的技术支持和建议:


