Mozilla Public License 2.0

项目介绍

streamyfin/streamyfin 是一个托管在 GitHub 上的开源项目,主要使用 TypeScript 编写,采用 Mozilla Public License 2.0 许可证,目前获得 5.3k 个 Star、309 次 Fork。

仓库全名
streamyfin/streamyfin
开源许可证
Mozilla Public License 2.0
Star 数
5.3k
Fork 数
309
未关闭 Issue
361

README 摘要

Streamyfin is a user-friendly Jellyfin video streaming client built with Expo. Designed as an alternative to other Jellyfin clients, it aims to offer a smooth and reliable streaming experience. We hope you'll find it a valuable addition to your media streaming toolbox.       🌟 Features 🚀 Skip Intro / Credits Support: Lets you quickly skip intros and credits during playback 🖼️ Trickplay images: The…

完整内容见 GitHub 原始 README 或本页 。

常见问题

streamyfin 用什么语言开发?

主要使用 TypeScript 编写,采用 Mozilla Public License 2.0 许可证,目前有 5.3k 个 Star。

streamyfin 可以免费商用吗?

仓库标注的许可证为 Mozilla Public License 2.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 streamyfin 的源码?

可以直接克隆仓库:git clone https://github.com/streamyfin/streamyfin.git;安装与运行步骤见仓库 README。

streamyfin 最近还在维护吗?

仓库最近一次更新为 1 天前,当前有 361 个未关闭 Issue;Star 数为 5.3k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

A modern Jellyfin client built with Expo

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
5979
价值分
3284
活跃状态
活跃

语言占比

JavaScript
Kotlin
Makefile
Python
Ruby
Shell
Swift
TypeScript

Release

README

Buy Me A Coffee

Streamyfin

Streamyfin DiscordStreamyfin Reddit

Streamyfin is a user-friendly Jellyfin video streaming client built with Expo. Designed as an alternative to other Jellyfin clients, it aims to offer a smooth and reliable streaming experience. We hope you’ll find it a valuable addition to your media streaming toolbox.


Movie page for The Lord of the Rings: The Fellowship of the Ring, with its play button and media details   Movie page for Wonka with the bitrate menu open   Downloads screen with a movie downloading   Seerr page for Family Guy, with the request button and a request button on each season

🌟 Features

  • 🚀 Skip Intro / Credits Support: Lets you quickly skip intros and credits during playback
  • 🖼️ Trickplay images: The new golden standard for chapter previews when seeking
  • 📥 Download media: Save your media locally and watch it offline
  • ⚙️ Settings management: Manage app configurations for all users through our plugin
  • 🤖 Seerr (formerly Jellyseerr) integration: Request media directly in the app
  • 👁️ Sessions view: View all active sessions currently streaming on your server
  • 📡 Chromecast: Cast your media to any Chromecast-enabled device
  • 🔐 Custom auth headers: Reach servers behind an access gateway such as Cloudflare Zero Trust or Pangolin (docs)

🧪 Experimental Features

Streamyfin offers exciting experimental features such as media downloading and Chromecast support. These features are under active development, and your feedback and patience help us make them even better.

📥 Downloading

Downloading works by using FFmpeg to convert an HLS stream into a video file on your device. This lets you download and watch any content that you can stream. The conversion is handled in real time by Jellyfin on the server during the download. While this may take a bit longer, it ensures compatibility with any file your server can transcode.

🧩 Streamyfin Plugin

The Jellyfin Plugin for Streamyfin is a plugin you install into Jellyfin that holds all settings for the client Streamyfin. This allows you to synchronize settings across all your users, like for example:

  • Automatic Seerr login with no user input required
  • Set your preferred default languages
  • Configure download method and search provider
  • Personalize your home screen
  • And much more

Streamyfin Plugin

📡 Chromecast

Chromecast support is currently under development. Video casting is already available, and we’re actively working on adding subtitle support and additional features.

🎬 MPV Player

Streamyfin uses MPV as its primary video player on all platforms, powered by MPVKit. MPV is a powerful, open-source media player known for its wide format support and high-quality playback. Thanks to @Alexk2309 for the hard work building the native MPV module in Streamyfin.

🔍 Jellysearch

Jellysearch works with Streamyfin

A fast full-text search proxy for Jellyfin. Integrates seamlessly with most Jellyfin clients.

🛣️ Roadmap

Check out our Roadmap to see what we’re working on next, we are always open to feedback and suggestions. Please let us know if you have any ideas or feature requests.

📥 Download Streamyfin

Get Streamyfin on App Store Get Streamyfin on Google Play Store Get Streamyfin on Github Add Streamyfin to Obtainium

🧪 Beta Testing

To access the Streamyfin beta, you need to subscribe to the Member tier (or higher) on Patreon. This grants you immediate access to the ⁠🧪-beta-releases channel on Discord and lets me know you’ve subscribed. This is where I share APKs and IPAs. It does not provide automatic TestFlight access, so please send me a DM (Cagemaster) with the email you use for Apple so we can add you manually.

Note: Anyone actively contributing to Streamyfin’s source code will receive automatic access to beta releases.

🚀 Getting Started

⚙️ Prerequisites

  • Your device is on the same network as the Jellyfin server (for local connections)
  • Your Jellyfin server is up and running with remote access enabled if you plan to connect from outside your local network
  • Your server version is up to date (older versions may cause compatibility issues)
  • You have a valid Jellyfin user account with access to the media libraries you want to view
  • If using features such as downloads or Seerr integration, confirm the required plugins are installed and configured on your Jellyfin server

🙌 Contributing

We welcome contributions that improve Streamyfin. Start by forking the repository and submitting a pull request. For major changes or new features, please open an issue first to discuss your ideas and ensure alignment with the project.

🌍 Translations

Crowdin Translation Status

Streamyfin is available in multiple languages, and we’re always looking for contributors to help make the app accessible worldwide.
You can contribute translations directly on our Crowdin project page.

👨‍💻 Development Info

  1. Use node >20
  2. Install dependencies bun i
  3. Make sure you have xcode and/or android studio installed. (follow the guides for expo: https://docs.expo.dev/workflow/android-studio-emulator/)
    • If iOS builds fail with missing Metal Toolchain (KSPlayer shaders), run bun run ios:install-metal-toolchain once
  4. Install BiomeJS extension in VSCode/Your IDE (https://biomejs.dev/)
  5. Run bun run prebuild
  6. Create an expo dev build by running bun run ios or bun run android. This will open a simulator on your computer and run the app

The project uses bun exclusively: npm, yarn and npx are not supported.

For the TV version suffix the commands with :tv.

bun run prebuild:tv
bun run ios:tv
bun run android:tv

Before opening a pull request, read CONTRIBUTING.md and run bun run test.

TV platform integration notes:

👋 Get in Touch with Us

Need assistance or have any questions?

❓ FAQ

  1. Q: Why can’t I see my libraries in Streamyfin?
    A: Make sure your server is running one of the latest versions and that you have at least one library that isn’t audio only
  2. Q: Why can’t I see my music library? A: We don’t currently support music and are unlikely to support music in the near future

📝 Credits

Streamyfin is developed by Fredrik Burmester and is not affiliated with Jellyfin. The app is built using Expo, React Native, and other open-source libraries.

🎖️ Core Developers

Thanks to the following contributors for their significant contributions:

✨ Acknowledgements

We would like to thank the Jellyfin team for their excellent software and support on Discord.

Special thanks to the official Jellyfin clients, which have served as an inspiration for Streamyfin.

We also thank all other developers who have contributed to Streamyfin, your efforts are greatly appreciated.

A special mention to the following people and projects for their contributions:

  • @Alexk2309 for building the native MPV module that integrates MPVKit with React Native
  • Reiverr for invaluable help with understanding the Jellyfin API
  • Jellyfin TS SDK for providing the TypeScript SDK
  • Seerr for enabling API integration with their project

⭐ Star History

Star History Chart

📄 License

Streamyfin is licensed under the Mozilla Public License 2.0 (MPL-2.0). This means you are free to use, modify, and distribute this software. The MPL-2.0 is a copyleft license that allows for more flexibility in combining the software with proprietary code. Key points of the MPL-2.0:

  • You can use the software for any purpose
  • You can modify the software and distribute modified versions
  • You must include the original copyright and license notices
  • You must disclose your source code for any modifications to the covered files
  • Larger works may combine MPL code with code under other licenses
  • MPL-licensed components must remain under the MPL, but the larger work can be under a different license
  • For the full text of the license, please see the LICENSE file in this repository

⚠️ Disclaimer

Streamyfin does not promote, support, or condone piracy in any form. The app is intended solely for streaming media that you personally own and control. It does not provide or include any media content. Any discussions, support requests, or references to piracy, as well as any tools, software, or websites related to piracy, are strictly prohibited across all our channels.

🤝 Sponsorship

VPS hosting generously provided by Hexabyte and SweHosting

评论

暂无评论