NipaPlay使用Flutter的再次重写,一个现代化的视频播放器应用。支持 Windows、macOS、Linux、Android 和 iOS 五大操作系统,为用户提供跨平台的统一体验。
- Windows(x86 64)/Linux(amd64)/macOS(Intel&Apple Silicon)/Android(arm32&arm64&x86 64)/IOS(arm64)
- Arch Linux
paru -S nipaplay-reload-bin
-
视频播放
- 支持本地视频文件播放
- 支持Emby,Jellyfin视频播放
- 支持弹幕显示(集成弹弹play)
- 滚动弹幕、顶部弹幕、底部弹幕
- 弹幕记忆运动轨迹
- 时间轴跳转时弹幕位置同步
- 弹幕轨道管理系统
- 合并弹幕显示
- 开关弹幕覆盖
- 字幕支持
- 支持 ASS、SRT 格式字幕
- 支持内嵌字幕和外挂字幕
- 支持多字幕轨道切换
- 支持字幕样式自定义
- 音频支持
- 支持多音频轨道切换
- 视频信息自动匹配
- 播放进度记忆
-
番剧管理
- 新番时间表展示
- 按星期分类显示
- 番剧详情查看
- 图片缓存管理
- 历史记录同步
-
设置中心
- 毛玻璃设计风格,提供现代感界面
- 主题模式切换(亮色/暗色)
- 背景图片自定义更换
- 快捷键自定义
- 账户设置
- 关于页面
持续开发中,欢迎关注 Releases 获取最新版本
- 功能扩展
- Bangumi同步观看记录
- 评论区功能
- 云媒体库挂载(WebDAV、FTP、SMB)
- 视频截图
- 视频导出单独片段为gif
- 倍速功能
-
核心功能库
- fvp - 高性能视频播放器
- video_player - Flutter官方视频播放器
- media_kit - 跨平台媒体播放框架
- media_kit_video - media_kit视频组件
- media_kit_libs_video - media_kit视频库
- http - HTTP 请求处理
- crypto - 加密功能
-
UI 相关
- glassmorphism - 毛玻璃效果
- hugeicons - 图标库
- kmbal_ionicons - 图标库
- transparent_image - 透明图片占位符
-
文件处理
- file_selector - 文件选择器
- path_provider - 路径提供
- path - 路径处理
- image_picker - 图片选择器
- image - 图片处理
-
状态管理
- provider - 状态管理
- synchronized - 同步控制
-
数据存储
- shared_preferences - 本地存储
- sqflite - SQLite数据库
- sqflite_common_ffi - 桌面平台SQLite支持
-
网络相关
- cached_network_image - 网络图片缓存
-
系统功能
- window_manager - 窗口管理
- package_info_plus - 包信息
- url_launcher - URL 启动器
- permission_handler - 权限管理
- wakelock_plus - 屏幕常亮
- screen_brightness - 屏幕亮度控制
-
工具库
-
开发工具
- flutter_lints - 代码检查
- Flutter - 跨平台UI框架
- Dart - 编程语言
- FVP (Flutter Video Player) - 基于libmdk的高性能视频播放器
- Media Kit - 跨平台媒体播放框架
- Video Player - Flutter官方视频播放器
- libmpv - 底层媒体播放库
- SQLite - 本地数据库存储
- SharedPreferences - 轻量级键值存储
- 文件系统 - 本地文件管理
- HTTP - 网络请求处理
- 弹弹play API - 弹幕数据源
- Bangumi API - 番剧信息源
- Emby/Jellyfin API - 媒体服务器集成
- Material Design - 设计语言
- Glassmorphism - 毛玻璃视觉效果
- Provider - 状态管理
- 自适应布局 - 响应式设计
- Window Manager - 桌面窗口管理
- Permission Handler - 权限管理
- Wakelock - 屏幕常亮控制
- Screen Brightness - 亮度控制
- Windows - 桌面应用
- macOS - 桌面应用
- Linux - 桌面应用
- Android - 移动应用
- iOS - 移动应用
- https://www.pixiv.net/artworks/130349456 (作者MCDFsteve)
本项目已经加强了Linux版本的构建和打包流程,确保libmpv.so.1
的可用性:
- 构建时修复:GitHub Actions会自动确保所有Linux包(.deb、AppImage、.tar.gz、.rpm)都包含
libmpv.so.1
- 运行时修复:tar.gz包中的
run.sh
脚本包含智能检测,如果发现缺少libmpv.so.1
会自动创建
构建系统采用以下策略确保libmpv.so.1的存在:
- 策略1:如果找到
libmpv.so.2
,创建符号链接libmpv.so.1 -> libmpv.so.2
- 策略2:搜索具体版本号的libmpv文件(如
libmpv.so.2.5.0
),创建对应链接 - 策略3:查找任何
libmpv.*
文件并创建适当的符号链接 - 策略4:从系统复制libmpv库并重命名为
libmpv.so.1
如果你下载的是tar.gz包,只需运行:
./run.sh
该脚本会自动:
- 设置正确的库路径
- 检查并修复libmpv.so.1缺失问题
- 启动应用程序
如果遇到libmpv.so.1相关错误,可以手动创建符号链接:
cd /path/to/nipaplay/lib
# 查找现有的libmpv文件
ls -la libmpv*
# 创建符号链接(以libmpv.so.2为例)
ln -sf libmpv.so.2 libmpv.so.1