NipaPlay Linux是一个现代化的跨平台视频播放器,集成了弹幕显示、多格式字幕支持、多音频轨道切换,新番查看等功能,采用 Flutter 开发,提供统一的用户体验。除了本地播放外,还支持 Jellyfin / Emby 免费媒体服务器软件,可以让你在任何设备上流式传输媒体收藏。

NipaPlay 不仅仅是一个播放器,更是您的二次元媒体管家:
全平台支持:无论是在电脑还是手机上,体验始终如一。
强大的弹幕系统:自动匹配网络弹幕,支持弹弹play,让看番不再孤单。
媒体库集成:支持 Emby、Jellyfin、SMB、WebDAV,轻松挂载远程资源。
番剧管理:同步 Bangumi 观看进度,查看新番时间表,打分评论一站式搞定。
现代 UI:清爽的浅色/深色 界面,支持自动黑夜模式,美观与易用并重。
播放体验
内核支持:自研 Erika 内核(Rust/Metal,macOS/iOS)、FVP (libmdk)、Media Kit、Video Player、libmpv,多内核可切换。
视频支持:本地播放、Emby/Jellyfin/SMB 流媒体、WebDAV 挂载。
画质增强:支持 Anime4K 超分、CRT 着色器效果。
音频控制:多音轨切换、倍速播放。
种子下载器:支持种子文件下载,轻松获取网络资源。
AI 防剧透:智能识别并遮挡可能造成剧透的内容,追番更安心。
弹幕与字幕
弹幕:滚动/顶底弹幕、轨迹记忆、防遮挡、本地挂载 (xml/json)。
字幕:ASS/SRT 格式、多轨切换、样式自定义、本地挂载。
番剧与同步
Bangumi:进度同步、评分、评论。
新番表:每日更新提醒,按周分类。
数据备份:历史记录同步、多设备远程访问。
个性化
主题:亮色/暗色切换、自定义背景图。
操作:自定义快捷键、适配平板/电视布局。
技术架构
JS 插件系统:支持通过 JavaScript 编写插件,灵活扩展播放器功能。
Rust+Dart 混合架构:核心模块采用 Rust 实现高性能计算,与 Dart 层无缝协作。
v1.11.8版本
新功能
媒体库综合排序与 NEW 角标 (#909)
媒体库新增「综合排序」并设为默认:有新内容的番剧优先显示,其余按最近观看时间自然排列。新番剧或有新集数的番剧,卡片右上角会显示红色 NEW 角标,进入番剧详情后自动消除。综合排序规则取「点开详情时间」与「NEW 首次发现时间」的较新者,新内容置顶后随时间自然下沉(优化详见 #917)。
主页顶部推荐区独立开关 + 启动时自动智能刷新 (#912)
外观设置中新增三个独立开关,可分别控制主页顶部的大图轮播、右上小卡片和右下小卡片;全部关闭时不留空白。App 启动后会自动执行一次智能刷新(延迟 2 秒,无变化时无额外开销)。
截图与 GIF 截取弹窗 (#915)
播放器新增统一的画面截取弹窗,分「图片截取」和「GIF 截取」两个选项卡。图片截取支持当前画面预览、选择是否合成弹幕与字幕、截图时临时关闭字幕轨并在完成后恢复;iOS 端提供「保存到相册」和「保存到文件」两个操作。GIF 截取支持设置时间范围、输出尺寸、帧率和质量,并可预览、复制到剪贴板或导出文件。GIF 导出不依赖当前播放器内核,使用 libmpv、MDK 等内核时同样可调用 Erika 导出,且不会中断当前播放。桌面端也新增了截图按钮入口。WebDAV 和 SMB 私有地址会在导出或分享前自动解析为实际播放地址。后续修复了 iOS 上「导出动图文件」无效、「保存到文件」写入不可访问目录以及 GIF 菜单文本框无法唤起输入法的问题(#941)。
Erika 多平台原生 GIF 导出 (#925)
GIF 导出能力扩展至 Android、iOS、tvOS、Windows 和 OpenHarmony,不再仅限于 macOS。即使当前使用 libmpv 等其他播放器内核,也可通过独立 Erika 工具模块执行导出。
弹弹play 网关主/备服务器自动选择 (#919)
新增国内备用网关,客户端根据用户出口 IP 归属地自动在香港主服务器与国内备用服务器之间切换,判定结果缓存 6 小时。同一线路连续失败 3 次后自动由备用线路临时接管 5 分钟。网络设置中新增「自动选择(推荐)/ 香港服务器 / 国内服务器 / 自定义」下拉菜单,并显示当前实际生效的线路。实测国内网络下弹幕与番剧信息加载速度大幅提升。
外 挂字幕调色盘与字幕颜色输入优化 (#927)
字幕颜色输入改为点击弹出独立对话框,支持 HSV 三滑块(色相/饱和度/亮度)全色调色盘与 Hex 输入双向同步,解决了横屏播放器中键盘弹出后输入框被遮挡的问题。外 挂字幕支持长按弹出独立设置面板,可独立设置颜色和字体,不影响内嵌字幕轨的设置。
截图黑边裁剪、长按截图弹窗与画面比例模式 (#928)
截图新增裁剪黑边开关,按视频实际宽高比裁去画面外的黑边区域。截图按钮支持单击直拍、长按弹出设置(格式/质量、弹幕/字幕合成、裁剪黑边等)。存储设置页新增截图质量档位(低/普通/高/超高)。播放器控制栏新增画面比例按钮,提供适应、填充、拉伸及 16:9、4:3 等共 9 种比例模式,设置持久化保存。
实验性新版媒体信息页面 (#934)
提供仿流媒体平台风格的沉浸式媒体信息页面,可在实验室中开启,横竖屏设备均适用。手机端竖屏时海报占页面上半部分,下方使用动态取色渐变填充。支持在「更多」菜单中填写自定义背景图片 URL,数据参与备份与同步。有已观看记录的剧集显示绿色勾选标记,无资源文件的剧集在剧集栏和选集弹窗显示灰色感叹号提示。新增基于像素颜色丰富度的智能海报裁切,确保背景海报和首页推荐栏能展示画面主体。仅本地媒体显示可确认的视频时长,远程媒体不再展示不可靠的时长。
通用链接解析与启动命令扩展 (#942)
为网页媒体源提供通用插件解析接口,支持分集选择与播放结果协议,历史记录保留可重新解析的页面地址。媒体转发移至独立 isolate,避免界面线程阻塞时中断播放器数据供给,并支持 Range/HEAD 请求及及时取消废弃连接。
Bug 修复
共享媒体库连接失败重试与 Fluent 图标字体加载修复 (#914)
修复 Android TV 通过局域网连接共享媒体库时,首次加载失败后再次选择同一主机不会重新加载、自动刷新持续暂停的问题。失败后现按 1、2、4、8、16、30 秒退避重试,之后每 30 秒重试,成功后停止并重置间隔。重新选择当前主机可立即刷新。同时修复个人中心 Fluent UI 图标字体加载失败后无法恢复的问题,新增显式注册和失败后的重试入口。
媒体库「最近点开」排序重启后失效 (#926)
修复媒体库按「最近点开」排序时,切换标签、进入库管理后返回或重启应用后排序还原的问题。点开时间现在按数据源持久化保存,页面重建时自动恢复。
扫描完成后媒体库不自动刷新 (包含于 #909、#912)
修复本地扫描完成后媒体库不自动刷新、需重启才能看到新内容的问题。媒体库管理页点击「智能刷新」后也会即时更新列表。
从详情页返回后海报短暂变灰重载 (包含于 #934)
修复从番剧详情页返回媒体库后,综合排序变化导致多张海报短暂变灰并重新加载的问题;桌面、手机和电视布局现在均按媒体来源与番剧 ID 保留稳定的海报元素。
WebDAV/SMB 含 @ 符号账密导致媒体加载失败 (包含于 #934)
修复 WebDAV 和 SMB 私有协议解析时,账号或密码中含 @ 符号导致编解码错误、媒体无法加载的问题。
切换 Bangumi API 地址后旧缓存持续加载失败 (包含于 #927)
修复切换 Bangumi API 自定义地址后,旧域名图片与详情缓存未清除导致持续加载失败的问题,切换后现立即生效。
性能优化
低端 32 位安卓电视非播放路径性能优化 (#918)
针对低性能 32 位安卓电视(Mali-450 级 GPU / 1–2GB 内存)优化多处性能瓶颈:
图片缓存新增字节预算 LRU 淘汰机制(Android/Web 32MB,其他平台 64MB),修复原缓存只进不出导致 native 内存耗尽的问题;新增内存压力时自动释放缓存。
图片统一按目标显示尺寸解码,不再以原始分辨率解码后缩放,大幅降低内存占用。
电视端跳过多处无条件每帧执行的全屏高斯模糊(σ22–40),这些面板自身有半透明底色,关闭模糊后视觉效果不变。
Emby/Jellyfin 整库响应改在独立 isolate 解析,避免阻塞主线程。
修复启动时对每条观看历史同步检查文件路径导致慢速 eMMC 设备启动卡顿数秒的问题。
修复启动加载失败时忙等轮询永不退出的问题,改为带超时的异步等待。
首页推荐位封面升级合并为一次重建,本地图片进度刷新改为时间节流(200ms)。
番剧详情请求加备忘,修复简介反复闪回空态的问题。
维护与发布流程
回退了 #920(字幕与 Erika 内核修复),待 Erika 依赖对齐与独立验证后分批重提。
修复 PR 验证流程中 HTTP 代理设置 Widget 测试因视口不足导致的偶发失败(#923)。
修复 HarmonyOS 构建因 SliverList.separated API 差异导致的发版编译错误(#943)。
更新 Erika 依赖至 0.2.0 以支持 GIF 导出;版本号 bump 至 1.11.8。