Streamyfin:Jellyfin 开源客户端
基于 Expo 的 Jellyfin 视频客户端,为自建媒体服务器用户提供 iOS、Android 与电视端的流畅播放体验。
- 浏览
- 4
- 访问
- 0
- 下载
- 0
- 版本
- v0.55.2
- 平台
- Android、iOS
详细介绍
项目简介
Streamyfin 是一个基于 Expo 构建的 Jellyfin 视频流媒体客户端,定位为其他 Jellyfin 客户端的替代方案,目标是提供流畅、可靠的播放体验。它使用 MPV(由 MPVKit 驱动)作为各平台的主播放器。项目由 Fredrik Burmester 开发,与 Jellyfin 官方无隶属关系,采用 MPL-2.0 许可证。
<p align="center">
<img src="https://raw.githubusercontent.com/streamyfin/streamyfin/develop/assets/images/screenshots/01-home.png" width="20%" alt="首页">
<img src="https://raw.githubusercontent.com/streamyfin/streamyfin/develop/assets/images/screenshots/02-library.png" width="20%" alt="媒体库">
<img src="https://raw.githubusercontent.com/streamyfin/streamyfin/develop/assets/images/screenshots/03-media-details.png" width="20%" alt="影片详情">
<img src="https://raw.githubusercontent.com/streamyfin/streamyfin/develop/assets/images/screenshots/06-request-media.png" width="20%" alt="媒体请求">
</p>
主要功能
- 跳过片头 / 片尾:播放时快速跳过开场与字幕。
- Trickplay 图片:拖动进度条时显示章节预览画面。
- 下载媒体:把内容保存到本地离线观看。原理是通过 FFmpeg 把 HLS 流转成设备上的视频文件,转换在下载时由服务器端的 Jellyfin 实时完成,因此服务器能转码的内容都能下载。
- Streamyfin 插件:在 Jellyfin 中安装插件后,可统一管理所有用户的客户端设置,例如无需用户输入的 Seerr 自动登录、默认语言、下载方式与搜索提供方、首页个性化等。
- Seerr(原 Jellyseerr)集成:直接在 App 内提交媒体请求。
- 会话视图:查看服务器上当前正在播放的所有会话。
- Chromecast 投屏:投到支持 Chromecast 的设备(开发中,视频投屏已可用,字幕支持仍在开发)。
- 自定义认证请求头:用于访问 Cloudflare Zero Trust、Pangolin 等访问网关后面的服务器。
- 可与 Jellysearch 全文搜索代理配合使用。
安装与使用
获取应用
- App Store
- Google Play
- GitHub Releases
- 也可通过 Obtainium 添加。
使用前提
- 设备与 Jellyfin 服务器处于同一网络(本地连接);如需在外网连接,服务器要开启远程访问。
- 服务器版本保持最新,旧版本可能有兼容性问题。
- 拥有可访问目标媒体库的 Jellyfin 账号。
- 若使用下载或 Seerr 集成,需在 Jellyfin 服务器上安装并配置好相应插件。
从源码运行(开发)
需要 node >20,并安装 Xcode 和/或 Android Studio;项目只支持 bun,不支持 npm、yarn、npx。
bun i
bun run prebuild
bun run ios # 或 bun run android
若 iOS 构建报 missing Metal Toolchain(KSPlayer 着色器),先执行一次 bun run ios:install-metal-toolchain。TV 版本在命令后加 :tv 后缀:
bun run prebuild:tv
bun run ios:tv
bun run android:tv
提交 PR 前请阅读 CONTRIBUTING.md 并运行 bun run test。
注意事项
- 目前不支持音乐库,短期内也不太可能支持。
- 如果看不到媒体库,请确认服务器为较新版本,且至少有一个非纯音频的媒体库。
- 下载与 Chromecast 属于实验性功能,仍在积极开发中。
- 翻译可通过项目的 Crowdin 页面参与。
本作品整理自 GitHub 开源项目 streamyfin/streamyfin,原作者 @streamyfin,许可证 MPL-2.0。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.55.2当前版本
手机通过 Quick Connect 验证码或二维码登录电视,不再传输密码;修复 iOS/tvOS 播放开始与恢复时卡顿;访问令牌不再写入日志;修复同设备切换账号后 Seerr 权限残留;新增卢森堡语。
评论