Git Product home page Git Product logo

streamyfin's Introduction

๐Ÿ“บ Streamyfin

Welcome to Streamyfin, a simple and user-friendly Jellyfin client built with Expo. If you're looking for an alternative to other Jellyfin clients, we hope you'll find Streamyfin to be a useful addition to your media streaming toolbox.

๐ŸŒŸ Features

  • ๐Ÿ”— Connect to your Jellyfin instance: Easily link your Jellyfin server and access your media library.
  • ๐Ÿ“ฑ Native video player: Playback with the platform native video player. With support for subtitles, playback speed control, and more.
  • ๐Ÿ“ฅ Download media (Experimental): Save your media locally and watch it offline.
  • ๐Ÿ“ก Chromecast media (Experimental): Cast your media to any Chromecast-enabled device.

๐Ÿงช Experimental Features

Streamyfin includes some exciting experimental features like media downloading and Chromecast support. These are still in development, and we appreciate your patience and feedback as we work to improve them.

Downloading

Downloading works by using ffmpeg to convert a HLS stream into a video file on the device. This means that you can download and view any file you can stream! The file is converted by Jellyfin on the server in real time as it is downloaded. This means a bit longer download times but supports any file that your server can transcode.

๐Ÿ› ๏ธ Beta testing (iOS/Android)

TestFlight

Get the beta on TestFlight

Play Store Open Beta

Get the beta on Google Play

๐Ÿš€ Getting Started

Prerequisites

  • Ensure you have an active Jellyfin server.
  • Make sure your device is connected to the same network as your Jellyfin server.

๐Ÿ™Œ Contributing

We welcome any help to make Streamyfin better. If you'd like to contribute, please fork the repository and submit a pull request. For major changes, it's best to open an issue first to discuss your ideas.

Development info

Add this to AppDelegate.mm:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// @generated begin react-native-google-cast-didFinishLaunchingWithOptions - expo prebuild (DO NOT MODIFY) sync-8901be60b982d2ae9c658b1e8c50634d61bb5091
#if __has_include(<GoogleCast/GoogleCast.h>)
...

[GCKCastContext sharedInstance].useDefaultExpandedMediaControls = true;`
#endif

Add this to Info.plist:

<key>NSBonjourServices</key>
<array>
  <string>_googlecast._tcp</string>
  <string>_CC1AD845._googlecast._tcp</string>
</array>
<key>NSLocalNetworkUsageDescription</key>
<string>${PRODUCT_NAME} uses the local network to discover Cast-enabled devices on your WiFi network.</string>

๐Ÿ“„ 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.

๐ŸŒ Connect with Us

If you have questions or need support, feel free to reach out:

Support

Buy Me A Coffee

๐Ÿ“ Credits

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

โœจ Acknowledgements

I'd like to thank the following people and projects for their contributions to Streamyfin:

  • Reiverr for great help with understanding the Jellyfin API.
  • Jellyfin TS SDK for the TypeScript SDK.
  • The Jellyfin devs for always being helpful in the Discord.

streamyfin's People

Contributors

fredrikburmester avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.