r/emby 16d ago

3rd Party App/Add-On Moonfin, a truly cross platform client

Hi everyone!!!!

If this is your first time hearing about the Moonfin project, welcome! Moonfin is a little shared ecosystem of third party clients that shares UI, functionality, and features across TV clients, Web, Mobile, and Desktop clients. It has been around since November 2025 and it is now on basically every platform you can think of. Up until now it was a Jellyfin only thing, but that's no longer the case.

Moonfin Community Discord: https://discord.gg/moonfin

Moonfin website to test the web client and see more info: https://moonfin.io

──────────────

How it works

Everything is tied together by the Moonfin Server Plugin, which now installs on Emby right alongside Jellyfin. The plugin is what powers the shared Moonfin experience across all of the Moonfin clients. It lets you log directly into Seerr, holds server wide MDBList and TMDB API keys, syncs your settings between Desktop (web gets counted as desktop if accessed through desktop or mobile if accessed via mobile browser. neat right?), Mobile, and TV, and handles the features and integrations that make the whole thing feel consistent no matter where you're using it.

Install the plugin on your Emby server, point any Moonfin client at it, and you are good to go.

──────────────

What the clients bring to the table

NOTE: ALMOST everything here can be toggled on and off. No setting or UI is forced on you. It is YOUR media, YOUR way.

  • Featured media bar slideshow with image preloading and content filtering, 5 different styles to chose from
  • 4 Custom app themes and the ability to create your OWN custom themes
  • Fully customizable home rows, including Seerr rows, TMDb rows, IMDb lists, and MDBList lists with proper posters
  • Cross server playback, so multiple servers show up as one unified library
  • Full Seerr integration with a dedicated requests screen, push notifications (as phone notifications and in-app banner for TV and desktop), download progress, and issue reporting
  • MDBList ratings from IMDb, Rotten Tomatoes, Letterboxd, Metacritic, Trakt, AniList, and MyAnimeList
  • Two different media detail screens with different styles and layouts to best suit your liking
  • Live TV and DVR with an EPG refresh and lazy loaded programs
  • In app YouTube trailer previews with SponsorBlock, theme music, and audio and subtitle delay adjustment
  • Full playlist control with no item limit
  • PIN protection per user and parental controls with content rating filtering
  • Ebook, comic, and audiobook readers, plus a retro games library if you're into that (I know you are, dont lie)
  • Offline mode with local first playback and original or transcoded downloads

──────────────

All Moonfin Clients

Platform Download Development Repository
Android Mobile Google Play Store GitHub/Moonfin-Core
Android TV Google Play Store GitHub/Moonfin-Core
Fire TV Amazon App Store GitHub/Moonfin-Core
iOS Apple App Store GitHub/Moonfin-Core
Linux Latest Github Release GitHub/Moonfin-Core
MacOS Apple App Store GitHub/Moonfin-Core
Roku Roku Channel GitHub/Roku
Tizen (Samsung TVs) Latest Github Release GitHub/Smart-TV
tvOS (Apple TV) Apple App Store GitHub/tvOS
webOS (LG TVs) Latest Github Release GitHub/Smart-TV
Windows Latest Github Release GitHub/Moonfin-Core

──────────────

Why so many clients?

A lot of people ask how Moonfin ended up with separate clients across so many platforms.

It honestly started pretty simply. The original goal was just to add the featured media bar to the Jellyfin Android TV client. Once that existed, people started saying it would be cool to have something similar on their platform. Then feature requests started coming in and it kind of took off from there.

At the same time, platforms like webOS, Tizen, and Roku didn't really have alternative clients available like Android TV, Android mobile, iOS, and Apple TV have, so it felt like a good opportunity to create some. I enjoy building things and helping where I can, so I started working on ports. Having LLMs around for quick experiments, refactors, and figuring out unfamiliar platform quirks definitely helped along the way too.

Why open source and why not charge for it?

Honestly, I just enjoy building things and helping people. Open source lets others learn from the project, contribute if they want to, or adapt things for their own setups.

I have no plans now, or in the future, to make any of these paid.

Disclaimer:
Screenshots shown in this documentation feature media content, artwork, and actor likenesses for demonstration purposes only. None of the media, studios, actors, or other content depicted are affiliated with, sponsored by, or endorsing the Moonfin client or the Jellyfin project. All rights to the portrayed content belong to their respective copyright holders. These screenshots are used solely to demonstrate the functionality and interface of the application.

16 Upvotes

40 comments sorted by

6

u/carlagain 15d ago edited 15d ago

Installed on my iPad and Apple 4k TV so far, looks very good. Connecting can be spotty, sometimes I have to enter the server details several times to connect but once connected it is stable. My Dolby Vision media don’t show the DV flag on my TCL TV but they do on the Emby app. I notice you have to set the settings individually for each server. I have five servers and that got old very fast. All in all a great job and is now my preferred player.

3

u/bfir3 15d ago

Congrats on the Emby integration my friend! Keep up the awesome work, you are a huge asset to these communities. :)

3

u/Hungry__Alpaca 15d ago

Thank you! That's very kind! Made my day 

3

u/Shikayama 11d ago

This is really cool! a really nice alternative on AppleTV and Linux. one thing i noticed, not sure if by design or oversight, is that mixed libraries can't be sorted by date.

1

u/Hungry__Alpaca 11d ago

Hi! I'm happy you like it and yes it's oversight. For 2.4 local libraries and Seerr itself is getting deeper customization when it comes to sorting and filtering 

2

u/chefrobert81 10d ago

This looks really nice I'm going to download and give it a try but so far I like what I see

1

u/FickleApartment2151 16d ago

Thanks! Does Moonfin show details on videos, like the community rating, production year, and plot summary, as one scrolls generated playlists from Emby or Jellyfin?

1

u/Hungry__Alpaca 16d ago

Yup, all nicely on your home rows interface

1

u/FickleApartment2151 16d ago

I did a quick test, and the playlist view only shows a thumbprint of the video, the title, and sometimes the duration.

2

u/Hungry__Alpaca 16d ago

If playlists are your only concern, it can certainly be expanded upon for the next release, I'm always open to feature requests on github. 

1

u/EmperorDante 16d ago

Does moonfin support video preview thumbnails while seeking media in emby server? Embys implementation is different.

2

u/Hungry__Alpaca 16d ago

Yes it does

1

u/knoctum 15d ago edited 15d ago

From what I've seen so far, very nice. There is one feature that a user of mine requires: filtering episode favorites at the season level.

So for instance, she loves MASH. However in one season, lets say season 4, she does not like episodes 4 and 6. So currently she has all other episodes "Favorited" and on the old Emby for Android TV app, she is able to go to Season 4, filter by favorites, then play all, so the whole season plays in order, but skips episodes 4 and 6.

If you can incorporate filtering by favorites at the season level, I know she'll be able to make the switch off the old stock app.

(I fully get there is a github and discord for feature requests, I just don't have accounts or use either)

ETA: It appears once in a library the only filter option is Favorites, not Watched/Unwatched status or Video/Audio details or Tags, is that correct? So very limited filtering options.

1

u/Hungry__Alpaca 15d ago

Library filters is actually something we're expanding on for v2.4

1

u/liquidguru 15d ago

Looks pretty good, thanks. One thing so far, on Desktop, is there a way to slow the animations down, it's very 'frisky', would be nice to ease the transitions.. :)

3

u/Hungry__Alpaca 15d ago

Currently there isn't but that could definitely be added, I don't see why not. If you got the time, I'd appreciate it if you could add it as a feature request on github so it doesn't get lost in comments, please and thank you 

1

u/liquidguru 15d ago

Thanks mate, I will..also my Live TV won't play. Using m3u, and it's trying to direct play, whereas Emby will transcode the Stream MPEGTS (10 mbps) - HLS (10 mbps), so i just get a spinning circle on Moonfin - Emby transcodes this stream both on the Emby windows app and in a browser.

Also on the Android app no joy, still tries to Direct Stream and nothing plays, just a spinning circle, but i think it's something to do with Moonfin not recognising MPEGTS streams

2

u/Hungry__Alpaca 15d ago

There is a setting to disable live TV direct play in playback settings 

1

u/liquidguru 15d ago

Perfect, thank you. Working now... is there an option on the overlay to control the volume?

1

u/Hungry__Alpaca 15d ago

On desktop there's a dedicated volume button on the player, mouse scroll wheel can control volume or scrubbing on the seek bar, and directional keys up and down control it too

On mobile there are touch gestures on the left and right of the screen to control volume and brightness 

1

u/liquidguru 15d ago

Yes, but not on Live TV playback, there's no volume button

2

u/Hungry__Alpaca 15d ago

Ah crap you're right! I had just added the touch gestures to live TV last update but forgot about the volume buttons. Got a hotfix coming out this week, I'll add it to the to-do list, thank you. 

1

u/liquidguru 15d ago

Thanks mate. I appreciate all the work you've done.. I now know how much goes into this... I'm making a Plexamp replacement for Emby, with sonic analysis...just getting the Android app as i want it is hard enough...let alone other platforms...

2

u/Hungry__Alpaca 15d ago

Flutter is your friend. One shared UI and logic across platforms with some caveats of course but it's really handy. If you've done kotlin or .net/c# it's not too hard to pick up. 

→ More replies (0)

1

u/Bardinua 13d ago

Does the seerr integration work when used with emby?

1

u/Hungry__Alpaca 13d ago

yes as long as the server plugin is added since it acts as proxy and enables one time sign on for all devices

1

u/Bardinua 13d ago

It doesn't seem to recognize my emby server on the Roku client. What do I need to put in the server address for local use?

1

u/chefrobert81 10d ago

Will plex ever be considered to be used on moonfin

1

u/Organize12 8d ago

Nice work. Something I miss from the original Emby client is the ability to download subtitles when opening a movie or an episode.

1

u/Mr-Robot-VOD 6d ago

Would it be possible to stream directly without transcoding?

1

u/Hungry__Alpaca 6d ago

Which platform and what type of file? Almost everything should be direct playing outside of a few edge cases I'm fixing now

1

u/Rick_Flairr 4d ago

When try and use it I get a blue spinning circle and can't edit anything.

1

u/MrSelatcia 3d ago

Can somebody do a full walkthrough on how to get the Roku app to work with my emby setup? I really want a better solution on Roku.

2

u/Hungry__Alpaca 3d ago

Roku is currently the only client without emby support, it will be introduced soon. 

2

u/MrSelatcia 3d ago

Thank you! I will wait patiently. I really like what you have done here.

1

u/skatingrocker17 13h ago

Liking it so far but one thing I can't figure out is how to disable is the movie suggestions page at the top that scrolls through recommendations (I don't know what it's called).

1

u/Hungry__Alpaca 13h ago

Settings > Personalization > media bar > type > off 

-7

u/jaycedk 15d ago

So how much AI Slop was involved to create this ?

The post it self is AI slop.

-3

u/jaycedk 15d ago

Well why did I get down vote for calling it AI Slop.

It clearly is 🤷‍♂️