Jellyfin & Emby Client for Smart TVs (Tizen, webOS, Android TV, Fire TV), Desktop (Windows, Linux, macOS) and Web
Litefin is a high-performance, open-source Jellyfin (and Emby) client engineered from scratch for Smart TVs and Desktop. Whether you're running it on Samsung Tizen, LG webOS, Android TV, Amazon Fire TV, or native Desktop (Windows, Linux, macOS), Litefin delivers a unified, zero-bloat experience with hardware-optimized playback backends, pixel-perfect subtitle rendering, and a butter-smooth interface even on legacy hardware.
Extend Litefin features by installing the Litefin Plugin on your Jellyfin or Emby servers.
- Fast Native Performance: Built in pure vanilla JavaScript with zero heavy framework overhead, custom virtualized scrolling (
VirtualCardRow,VirtualGrid), and aggressive DOM recycling tailored for low-RAM TV hardware and desktop environments. - Hardware-Accelerated Multi-Engine Playback:
- Samsung Tizen (AVPlay): Native AVPlay pipeline with hardware-level buffer tuning and zero-latency seek queues.
- LG webOS Player: Native webOS media pipeline with full platform lifecycle integration.
- Android TV & Fire TV (Media3 ExoPlayer): Native ExoPlayer backend with dynamic hardware codec detection (
MediaCodecList), multichannel audio passthrough (TrueHD, DTS-HD MA, Atmos), and smart fallback for chipsets lacking AV1 hardware decoders (e.g., Amlogic S905X). - Desktop (Movi & HTML5): High-performance WASM & WebCodecs engine (
movi-player) alongside an optimized HTML5 video player backend with auto-failover.
- Subtitle Engine:
- Full SSA/ASS styling and positioning via
@jellyfin/libass-wasm(compiled to WebAssembly) with custom font support and low-VRAM modes. - Native PGS image-based subtitle decoding via
libpgs. - Pure JavaScript text-based subtitle parser with granular styling overrides (color, font, size, shadows, vertical positioning, offset tuning).
- In-player subtitle search and download directly from OpenSubtitles/Jellyfin.
- Full SSA/ASS styling and positioning via
- Player Controls (OSD):
- Dynamic stream quality switching, audio/subtitle track selectors with persistence across episodes.
- Chapter navigation, playback speed (0.5x–2.0x), aspect ratio overrides, and real-time playback info (bitrates, codecs, transcode reasons).
- Synchronized scrolling lyrics for music playback, Now Playing queue management, and interactive Up Next auto-play countdowns.
- High-performance Trickplay thumbnail previews while seeking.
- Unified Remote & Input Navigation:
- Full Samsung Smart Remote, LG Magic Remote (D-Pad & pointer), Android TV / Fire TV remotes (D-Pad, media keys, and hardware Back button interception), and Desktop keyboard / mouse controls.
- Integrations & Plugins:
- Seerr (Jellyseerr / Overseerr): Native discovery page, trending carousels, full search, per-season requests, and TMDB-backed "Where to Watch" streaming availability (Requires Litefin Plugin).
- Intro Skipper: Automatic detection and instant skipping of TV show intros and recaps.
- SyncPlay: Real-time synchronized group viewing over WebSockets.
- MDBList: Multi-source community ratings (IMDb, Rotten Tomatoes, Metacritic, Trakt, TMDB, Letterboxd) directly on cards and banners.
- Local Intros: Seamless playback of custom pre-roll cinema bumpers.
- JellyEmu: Native retro gaming launcher and UI for emulated games.
- TV & Desktop Interface & Theming:
- 6+ dynamic themes (Classic Dark/Light, True Black, Tinted Light/Dark, Ambient Glow).
- 5 customizable sidebar styles (Classic, Modern, Collapsed Modern with tooltips, Floating Buttons, Floating Island).
- Multiple media card & row presentations (Classic rows, Modern cards, Modern posters, Expanding posters).
- Canvas-based BlurHash placeholder decoding for buttery-smooth image loading.
- Comprehensive Media Support:
- Movies, TV Series, Music, Live TV (with full EPG grid, timer scheduling, and recording playback), Photos/Slideshows, and Multi-part media (CD1/CD2) auto-chaining.
- Jellyfin 12 ready: supports
filters2, multi-source trickplay streams, and modern API headers.
- Admin Features: Edit item images, run metadata identification, and trigger library scans directly from the remote control.
- Multi-Tier Server Discovery: Instant connection via webOS Luna Service, Tizen HTTP service, local subnet scanning, Quick Connect QR code, and Wake-on-LAN (WoL) cold-boot support.
- Cross-Platform Build Pipeline & Packaging:
- Smart TVs: 4 optimized build tiers per platform (Modern, Normal, Legacy, Ultra-Legacy) supporting everything from modern 2024+ smart TVs all the way back to Tizen 2.3+ and webOS 1.0+ (Chromium 32+).
- Android TV & Fire TV: Native APK packages powered by Tauri v2 and Media3 ExoPlayer.
- Desktop: Native cross-platform bundles for Windows (
.exe,.msi), Linux (.deb,.AppImage), and macOS (.dmg) built with Tauri v2.
Comprehensive documentation is available in the documentations directory:
- Overview: Project introduction and the 8x build strategy.
- Architecture: Framework details (EventBus, FocusManager, Plugins).
- Plugins: How the plugin system works and how to create them.
- Playback: Tizen AVPlay, web-OS adapters, and Subtitle Manager.
- Features: Categorized list of all implemented functionality.
- UI & UX: Design system, components, and animation principles.
- Screenshots: Visual previews of the application.
- Development: Build pipeline, variants, and deployment guide.
- Localization: A doc for translation contributions.
# Install dependencies
npm install
# Build Smart TV web bundles (Tizen / webOS)
npm run build
npm run package
# Build and package for Desktop (Windows, Linux, macOS via Tauri)
npm run package:desktop
# Or platform-specific:
npm run package:windows
npm run package:linux
npm run package:macos
# Build and package for Android TV & Fire TV (.apk via Tauri)
npm run package:android-tvThe easiest way to install on a Samsung TV is with the Apps2Samsung installer:
- Download the latest
.wgtfrom the Releases page. - Use Apps2Samsung to sideload the
.wgtto your TV. - (Optional) Install and Configure Litefin Plugin on your Jellyfin server.
Litefin can be installed on LG TVs using the Homebrew Channel:
- Install the Homebrew Channel on your LG TV by following the instructions in its repository.
- Either install through the Homebrew Channel UI or download the latest
.ipkfor your hardware from the Releases page. - Open the Homebrew Channel on your TV and use the Package Manager to sideload the
.ipkfile. - (Optional) Install and Configure Litefin Plugin on your Jellyfin server.
- Download the latest
.apkfrom the Releases page. - Sideload the
.apkfile using adb (adb install litefin.apk), Send Files to TV (SFTV), Downloader, or your preferred file manager. - (Optional) Install and Configure Litefin Plugin on your Jellyfin server.
- Download the installer or package for your OS from the Releases page:
- Windows:
.msior.exeinstaller. - Linux:
.debpackage or standalone.AppImage. - macOS:
.dmgdisk image.
- Windows:
- Install and launch Litefin on your machine.
If Litefin is useful to you, please consider supporting the development:
A massive thank you to the individuals supporting the development of LiteFin!
Paul Becker |
Clément Masson |
Anton Antonov |
Martin Ericson |
Paweł Zmarzły |
witek |
DatAres37 |
Dani Tesler |
h3xler |
domantas |
Colin P |
cozyportal |
Litefin is subject to the terms of the Mozilla Public License, v. 2.0. See the LICENSE file for more details.
