Skip to content

Latest commit

 

History

1,099 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moonfin for Smart-TVs

Premium Jellyfin and Emby client for webOS and Tizen TVs


splash-background

License Release github BuyMeACoffee Discord

Back to main Moonfin project

What is Moonfin for Smart TVs?

Moonfin is a Jellyfin and Emby client for Samsung Smart TVs (Tizen) and LG Smart TVs (webOS). One shared codebase powers both platforms, with a native video pipeline tuned for each, so you get hardware-accelerated playback, a UI designed around a remote instead of a mouse, and features that most TV clients leave out.

Features

  • Hardware-accelerated playback through Samsung AVPlay and webOS Starfish, with direct play first and a transcode fallback only when needed.
  • Lossless audio passthrough for DTS, DTS-HD, and Dolby TrueHD to a capable receiver.
  • Multi-server and Emby support, including Emby Connect, Quick Connect, and a unified library view across all your Jellyfin servers.
  • A setup wizard on first run that walks you through the look of the app with live previews built from your own artwork.
  • A proper on-screen keyboard with layouts that follow your language, plus sign-in that finds servers on your network by itself.
  • Native Seerr integration for browsing, discovering, and requesting content in HD or 4K from your TV, with requests, issue reporting, and a watchlist button built into the detail screen.
  • Retro games played right on the TV from a server game library, with save states synced through the server. Needs webOS 5 or Tizen 5 and newer. See Retro Games.
  • Live TV and DVR with a full program guide and recording management.
  • Advanced subtitles, including PGS image subtitles and styled ASS/SSA through libass, plus in-app subtitle downloads.
  • SyncPlay for watching together in sync with others.
  • Themes with four built-in looks including Glass and 8-Bit Hero, a Theme Store for community themes, custom themes, and accent color customization.
  • A featured media bar with six layouts, including the rounded Aya hero.
  • Personal ratings as a like, stars, or a score out of ten, usable as a library filter.
  • Automatic performance tuning that matches visual effects to how capable your TV is, with a manual override.
  • Wide device support, from Samsung 2016 sets (Tizen 2.4) and LG webOS 3.0 through the latest models, including Let's Encrypt support on older webOS models whose built-in certificate stores are out of date.

The full list is on the Features wiki page.

Screenshots

Home screen Details screen Seerr discovery

More in the Screenshots gallery.

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.

Installation

Samsung and LG don't carry Moonfin in their TV app stores, so it's installed by sideloading. On LG the closest thing to a store is the Homebrew Channel, which lists Moonfin and updates it like any other app, no root needed. Everyone else downloads a package from the Releases page and picks the file that matches the TV:

Platform File Supported Devices
Tizen Regular Moonfin_Tizen_Regular_*.wgt Samsung Smart TVs (2017+, square icon)
Tizen Oblong Moonfin_Tizen_Oblong_*.wgt Samsung Smart TVs (2017+, oblong icon)
Tizen Legacy Moonfin_Tizen_Legacy_*.wgt Samsung Smart TVs (2016, Tizen 2.4)
webOS Moonfin_webOS_*.ipk LG Smart TVs (2016+, webOS 3.0+)

The easiest route on each brand:

  • LG: the Homebrew Channel if your TV has it. Otherwise LG's Developer Mode app plus Dev Manager Desktop, a free desktop program that installs the .ipk in a few clicks. The webOS CLI (ares-install) works too.
  • Samsung: the Apps2Samsung tool, which signs and installs the .wgt for you.

Step-by-step instructions for all of them, including turning on Developer Mode, are on the Installation and Sideloading page. Once installed, Getting Started walks through connecting to your server.

Seerr is optional and connects through the Moonfin server plugin rather than directly, so nothing needs to be entered on the TV. See Seerr Setup.

Documentation

The deeper reference material lives in the Wiki:

Page What it covers
Features The full feature list, section by section
Playback and Codecs Video pipelines, direct play and fallback, audio passthrough, and subtitles
Installation and Sideloading Which release file to pick, and how to sideload on Samsung and LG
Getting Started Connecting to your server, Quick Connect, the setup wizard, and the settings worth a look on day one
User Guide The remote inside the player, typing on a TV, themes, home rows, and parental controls
Common Problems Plain fixes for connection, login, install, playback, sound and subtitle trouble
Seerr Setup Connecting Seerr through the Moonfin server plugin
Building from Source Build scripts, the three Tizen variants, and dev servers
Development Project structure, platform abstraction, and developer notes
Collecting Logs Diagnostic logging and what to attach to an issue

Building

npm install
npm run build:tizen:all   # Samsung: Regular, Oblong, and Legacy
npm run build:webos       # LG

A current Node.js LTS release (20 or newer) with npm is the only prerequisite.

Advanced: where the build CLIs live

npm install also sets up the build CLIs in the git-ignored tools/ directory, which keeps them out of the lockfile on purpose. See tools/package.json for the reasoning. Full details, including the individual variant builds and the dev servers, are on Building from Source.

Contributing

Contributions are welcome. Check the existing issues first, open an issue before starting a large change, match the existing code style, and test on real Samsung or LG hardware where you can. See Development for how the codebase is laid out and how platform-specific code is kept isolated.

To submit a change, fork the repo, create a feature branch, make your changes with clear commit messages, and open a pull request with a clear description.

Help translate Moonfin here

Moonfin SmartTV translation status by language

Support and Community

Credits

Moonfin is built on the work of others:

  • Jellyfin Project for the media server
  • Enact for the React-based framework for TV apps
  • Jellyfin Tizen and webOS Contributors for the original clients
  • Moonfin Contributors for everything they have added to the project

License

This project is licensed under the MPL 2.0 license. Some parts incorporate content licensed under the Apache 2.0 license. All images are taken from and licensed under the same license as https://github.com/jellyfin/jellyfin-ux. See the LICENSE file for details.


Moonfin for Smart TVs is an independent client and is not affiliated with the Jellyfin or Emby projects.
Back to main Moonfin project

About

A premium Jellyfin Client for Tizen and webOS

Resources

Stars

405 stars

Watchers

5 watching

Forks

Releases

Used by

Contributors

Languages