Giter Club home page Giter Club logo

jellyflix-app / jellyflix Goto Github PK

View Code? Open in Web Editor NEW
105.0 3.0 21.0 77.27 MB

Jellyfix is an easy-to-use Jellyfin client for movies and shows. It's cross-platform and supports Mobile (iOS, Android) and Desktop (Windows, Mac, Linux).

Home Page: https://jellyflix.kiejon.com

License: GNU General Public License v3.0

Kotlin 0.03% Ruby 1.09% Swift 0.84% Objective-C 0.01% Dart 86.04% CMake 4.87% C++ 6.32% C 0.35% HTML 0.46%
dart flutter jellyfin jellyflix

jellyflix's Introduction

Jellyflix - Another Jellyfin client

Jellyflix is a cross platform Jellyfin Client for Desktop (Mac, Windows, Linux) and Mobile (iOS, Android). It aims to be a simple to use and reliable Jellyfin client for video content. It supports transcoded downloads and much more.

Features

  • Browse and watch your video content
  • Cross-platform (iOS, Android, macOS, Windows, Linux, Web)
  • Supports a wide variety of media formats
  • Download (transcoded) media for offline usage
  • Tonemapping support for HDR content
  • Save items you want to watch in your watchlist
  • Profiles for different users and servers
  • Quick connect support

Download

Jellyflix is available for all major platforms. You can download them from the following links or from the releases page. On this page you can also find pre-release builds.

iOS

Beta-Builds are available on Testflight. Join Testflight here.

Android

Google Play and F-Droid coming soon

macOS

There is a native macOS app available. You can download it from the link above. Or you can download the iOS version from the App Store and run it on your M series Mac.

Windows

Linux

You also need to install the following dependencies to run Jellyflix:

sudo apt install libjsoncpp-dev libsecret-1-0 libmpv-dev mpv

If Jellyflix can't launch because it can't find libmpv, but you did install it. You can follow the workaround below.

Web

The web version is only intended for demo usage and doesn't support all the features. E.g. playback is not supported.

Contribute

Contributions are much appreciated. You can help the development by:

  • opening issues/bug reports
  • suggest features or give feedback
  • translating the app
  • contributing with pull requests

Build

Jellyflix is developed in Flutter a cross-platform framework. The programming language is Dart, which is quite easy to learn.
To build the project you need Flutter installed and at least one supported device/emulator to run the project on.
Then clone the repository and run the following commands.

cd jellyflix
flutter clean
flutter pub get
flutter run

Linux

If you want to build Jellyflix for Linux you need some additional dependencies:

# Flutter needs the following dependencies, if not already installed
sudo apt install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev

# Jellyflix needs the following additonal dependencies
sudo apt install libjsoncpp-dev libmpv-dev libsecret-1-dev mpv

If your distro only provides libmpv, this workaround is necessary:

sudo ln -s /usr/lib/x86_64-linux-gnu/libmpv.so.2 /usr/lib/x86_64-linux-gnu/libmpv.so.1

We would welcome the contribution of build instructions for Fedora. Unfortunately, as of now, there are no developers using Fedora-like systems.

Privacy

Jellyflix doesn't collect data and doesn't send data to third parties.

License

Jellyflix is licensed under GPLv3.

The Jellyflix logo is licensed under CC-BY-SA 4.0 and is a remix of the original Jellyfin icon by the Jellyfin Project which is licensed under CC-BY-SA 4.0

jellyflix's People

Contributors

jdk-21 avatar sevenrats avatar mobihen avatar blumia avatar decisoft avatar kara-zor-el avatar mirkobitetto avatar panda260 avatar er2de2 avatar simoncaron avatar gauvino avatar dependabot[bot] avatar

Stargazers

jackloves111 avatar gegewuwuwu avatar Matthew Glenn avatar Brendan avatar Otstar Lin avatar 爱折腾的小竹同学 avatar  avatar Ilian avatar Müslüm Barış Korkmazer avatar Gauthier avatar BEAR10591 avatar Jugal Kishore avatar Asher Peruscini avatar  avatar  avatar max avatar Hamster avatar Sam avatar Bramble avatar Jam avatar Ditti avatar  avatar donnie.dorko avatar bannert avatar 0xff avatar  avatar Lucq avatar  avatar Yaseen avatar Sarin C Jacob avatar Nathan G avatar  avatar  avatar CrazyJoe avatar  avatar Matthew Fosse avatar Binaya Bajracharya avatar  avatar  avatar  avatar Alex Babel avatar nora avatar Shure avatar Caleb Contreras avatar Torben avatar  avatar lesclaz avatar  avatar  avatar  avatar  avatar cutzenfriend avatar  avatar  avatar  avatar RXWatcher avatar  avatar Nicolas Bondoux avatar  avatar Ben Bassett avatar Tim Anderson avatar  avatar qvalentin avatar  avatar  avatar  avatar Danil Nikolaev avatar  avatar  avatar KakarotCake avatar peerless2012 avatar Faheem Pervez avatar  avatar Jorge Schrauwen avatar  avatar  avatar  avatar  avatar Michael avatar  avatar Tomás Palma avatar ChomBot avatar Asion avatar  avatar  avatar Evdokimov Andrey avatar  avatar x1ao4 avatar  avatar  avatar ZhengJin avatar  avatar  avatar Udon avatar Harry Gallagher avatar Steven-Zhl avatar Cody Robibero avatar Keep2iron avatar  avatar Naveen Johnson avatar

Watchers

 avatar  avatar  avatar

jellyflix's Issues

Cache images

Implement simple image caching to improve load times and implement the use of blurhashes while loading.

[Issue]: Login on macOS isn't working

Please describe your bug

Currently the login on the macOS-Version (.dmg) isn't working on macOS. After notarization the app can't access the Keychain and therefore can't read or write the login credentials.

Workaround: You can download the iOS App from the App Store. It has the same functionality and look as the .dmg-version.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: macOS
- OS Version: Probably every supported macOS version

Bug: Library isn‘t correctly displayed on iOS

Please describe your bug

image
I currently can’t reproduce it when debugging.

Jellyflix Version

Other

if other:

0.10 preview (49)

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS:
- OS Version:
- Playback Method:

Episode view

DetailScreen implementation for episodes of TV Shows.

[Feature]: add Chinese translation

Please describe your bug

hope to add Chinese translation

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS:
- OS Version:
- Playback Method:

[Issue]: How to download media for offline use?

Please describe your bug

Hello and thanks for your app! In the description is stated that a feature is to download media files, maybe even transcodes for offline use, I'm interrested! How do I use this feature? Can't find anything in the UI or ths readme.

Tested on android and win.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.9.x

if other:

No response

Environment

- OS:
- OS Version:
- Playback Method:

Android TV support

Android TV seems to be possible to implement. The app can already run on Android TV, but there are many UI improvements that have to be made:

  • correct autofocus on every screen
  • library screen needs filters, that can be easily navigated via dpad
  • login screen should be replaced with quick connect
  • video controls are currently not working with dpad -> ExoPlayer implementation

On Android TV we should definetly use ExoPlayer. This should improve performance and should enable us to play Dolby Vision and HDR10+ content (media-kit only supports tone-mapping).

[Issue]: home screen is repeating gets many times per second

Please describe your bug

I thought I was having performance issues with the VM but now that I've got some more logging on the server side its clear that something is wrong with the home screen. note that these are all the exact same 3 requests being repeated over and over. presumeably these extra 15 requests per second or so are getting in the way.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS:debian
- OS Version:trixie
- Playback Method: not there yet

[Issue]: rec header still not deterministic

Please describe your bug

Darn it I thought I had cracked it. The content is deterministic but not the order it appears in. Oh well. This issue can be resolved by making the order deterministic as well as the content.

Jellyflix Version

Other

if other:

development

Jellyfin Version

10.8.13

if other:

No response

Environment

No response

[Issue]: Rec Header does not stop when you click something

Please describe your bug

on the home screen, at the top of the page, the carousel keeps scrolling even if you click play. this is disorienting to the user if the carousel scrolls to a new title between playback. ideally an effect would acknowledge the tap and the carousel would freeze on that title.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS:
- OS Version:
- Playback Method:

[Issue]: Undocumented linux build requirements

Please describe your bug

The readme is incomplete. other requirements could be noted (maybe these are reqs for flutter, I get it, but newcomers to the repo need to be able to get this project going by following the readme, imho).
among these are clang, build-essential, libgtk-3-dev

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: debian 
- OS Version: bookworm
- Playback Method: havent made it that far

Transcoded downloads

Implement a basic download functionality. Jellyflix will only be able to download the original files as Jellyfin doesn't support transcoded downloads yet.

[Issue]: Playback fails

Please describe your bug

Tested on both Ubuntu 22 and debian bookworm, chrome and firefox. Playback never happens when using the demo server, trying several different titles.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: debuntu stable
- OS Version: 22/bookworm respectively
- Playback Method: im not actually sure it didnt work, so.

[Issue]: Slow loading times on Homescreen with big Jellyfin libraries

Please describe your bug

the app takes about 14 seconds to request 5 empty skeletons before it starts requesting images. why is this happening and what is the solution?

Jellyflix Version

Other

if other:

develop

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS:debian
- OS Version:trixie
- Playback Method:na

We could possibly take the following steps to reduce loading times:

  • Prevent Skeletons to load images from placeholder urls
  • Use ListView to lazy load the widgets
  • Cache the Header response
  • Cache the Top 10 response (and the ranking data persistently)
  • Limit image sizes

[Issue]: Player Progressbar is misaligned on mobile devices

Please describe your bug

The progessbar is located at the edge of the screen and very hard to click.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: iOS, Android
- OS Version: All supported versions

[Issue]: Posters do not scale with window size

Please describe your bug

Wherever present, the posters should scale so that 6 - 7 posters are showing. This will also improve legibility.

Jellyflix Version

Other

if other:

development

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: Debian
- OS Version: Trixie
- Playback Method: NA

More locales

Currently Jellyflix supports following locales:

  • EN
  • DE
  • FR
  • HE
  • IT

Any help in localizing Jellyflix is much appreciated.

[Issue]: NavBar Items Overflow for some languages

Please describe your bug

On devices where the navbar is permanently displayed on the left of the app (tablets, PC), the items can sometimes overflow depending of the language used. In french, the Download item of the navbar, is overflowing:

image

Maybe something like auto_size_text could be used... that would shrink the font of the items to fit the button size.

Jellyflix Version

Other

if other:

latest main

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: iOS/Linux
- OS Version: N/A
- Playback Method: N/A

[Issue]: Images don't show when using demo server.

Please describe your bug

I log in using your live demo to the Jellyfin teams official demo server. I expect to see images but I do not see them.

Jellyflix Version

Other

if other:

whatever the live demo is

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: Debian
- OS Version: bookworm
- Playback Method: web, unknown because it failed

[Issue]: No evidence that playback has failed when it has failed

Please describe your bug

When playback fails due to some bug, there is no indication to the user. the spinner just keeps on spinning.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: debian
- OS Version: trixie
- Playback Method: server thinks direct but jellyflix thinks transcode (doesnt work)

[Issue]: In the Library Screen, episodes are named with the episode title.

Please describe your bug

Problem:

In the Library Screen, episodes are named with the episode title.

Issues with this behavior:

The Library Screen becomes cluttered with numerous episodes, making it difficult to get an overview of relevant movies, for instance.
Episode titles cannot be associated with their respective series, which becomes irrelevant when searching for media.
Proposed Solution:

Group episodes by series and only list them in the Library Screen.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: IOS
- OS Version: IOS 17.04

Initial Load takes almost 20-25+ minutes

My collection is almost full of 30+ TB files and is continually increasing. I tested the release apk and discovered that greater the library, the longer it took to load (20-25 mins in my case). After Initial loading, if i switch from any other menu to Home Page it will take the same amount of time to load back. I understand there were still many things to be done, I'm just letting you know about this issue. Great work between.

[Issue]: Packaged Linux builds

Please describe your bug

I download the executable and install the noted dependencies. There are undocumented dependences but thats out of scope for this issue report. I download all the dependencies and attempt to run the downloaded binary. It fails because a library libmpv.1.so does not exist. My system (bookworm) only has access to libmpv2.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS:Debian
- OS Version: Bookworm
- Playback Method: Didnt make it that far

[Feature Request]: Chat space

Please describe your bug

Could we get a discord or matrix server going to talk about this app?

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS:
- OS Version:
- Playback Method:

[Issue]: Cannot build on linux

Please describe your bug

Building per instructions fails on Debian bookworm due to libmpv.1.so not being found. I'm not positive its related, but bookworm only has libmpv2. I'm not sure if this should increment the so name or not, but either way the code cannot find libmpv.1.so and fails.

Launching lib/main.dart on Linux in debug mode...
CMake Error at flutter/ephemeral/.plugin_symlinks/media_kit_video/linux/CMakeLists.txt:53 (target_link_libraries):
  Target "media_kit_video_plugin" links to:

    PkgConfig::mpv

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.



CMake Error at flutter/ephemeral/.plugin_symlinks/media_kit_native_event_loop/src/CMakeLists.txt:63 (target_link_libraries):
  Target "media_kit_native_event_loop" links to:

    PkgConfig::mpv

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.



CMake Generate step failed.  Build files cannot be regenerated correctly.

Jellyflix Version

0.9.13

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: Debian
- OS Version: Bookworm
- Playback Method: Haven't made it that far.

[Issue]: unable to connect my jellyfin server https://jellyfin.mydomain.com

Please describe your bug

I am operating a jellyfin server however jellyflix is unable to connect to it although other jellyfin client is able to.

Jellyflix Version

0.10.x

if other:

No response

Jellyfin Version

10.8.13

if other:

No response

Environment

- OS: Mac OS Monetary
- OS Version: 12.5.1
- Playback Method: Transcode

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.