Open Source · Android TV · Self-Hosted

Live TV from your
Jellyfin server
on any Android TV

Tellyfin turns your Jellyfin Live TV setup into a proper lean-back TV experience — full-screen HLS streams, D-pad channel zapping with a smooth preview countdown, a full EPG guide, and a Google TV–style home screen.

Android 5.0+ · Fire TV / Google TV / Android TV · MIT License
Live TV
LIVE
Die Tagesschau
LIVE
Sportschau
LIVE
Tatort
Alle Kanäle Lieblingskanäle
1 Das Erste Tagesschau
2 ZDF heute journal
3 RTL Gute Zeiten

Everything you need.
Nothing you don't.

Preview Zapping

Press UP/DOWN to browse channels without leaving the current stream. A banner shows the target channel with an animated 3-second countdown arc. Press OK to switch immediately, or Back to cancel — the current show keeps playing untouched.

📺

Google TV Home Screen

A "Läuft jetzt" card row, Alle/Lieblingskanäle filter tabs, and a live EPG channel list with progress bars — all navigable with just the D-pad.

📋

Full EPG Guide

Scrollable programme grid with a live "now" line, time ruler, and per-channel programme tiles. Highlighted current programme in purple.

Favourites

Mark any channel as a favourite from the Quick Menu. Favourites float to the top of the list and can be filtered to their own tab. Persisted on-device.

🔢

Numeric Zap

Type a channel number on your remote's numeric keypad to jump directly. A large digit display appears and the switch happens after 2 seconds or on OK.

Now Playing Panel

Press OK while watching to slide up detailed programme info — title, description, time range, progress bar, and the next 3 upcoming shows.

Quick Menu

Press Menu for a slide-in panel: toggle favourite, refresh the stream, or open settings — all reachable in two button presses.

Bandwidth Control

Pick a max streaming bitrate (Auto, 2, 4, 8, 12, 20, or 40 Mbps) in settings. Tellyfin passes the cap to Jellyfin's transcode endpoint so your network stays happy.

Up and running in minutes

Tellyfin is a standard Android APK. No Play Store account needed — just sideload it.

1

Download the APK

Grab the latest release from the GitHub Releases page.

2

Enable sideloading

On your Fire TV / Android TV go to Settings → My Fire TV → Developer options → Apps from unknown sources and enable it.

3

Install via ADB or file manager

# From your computer
adb install tellyfin.apk

Or transfer the APK to the device via USB / network and install with a file manager app.

4

Log in to Jellyfin

Enter your Jellyfin server URL and credentials. Tellyfin will load your Live TV channels automatically.

Requirements

  • Android TV, Fire TV, or Google TV device running Android 5.0+
  • A running Jellyfin server (v10.8+) with Live TV configured
  • Live TV source: DVB tuner, M3U IPTV plugin, or any other Jellyfin-compatible tuner

Built with modern Android

Tellyfin is written in Kotlin and uses only first-party Jetpack libraries — no React Native, no Flutter, no WebView.

Jetpack Compose
Declarative UI with androidx.tv:tv-material for the TV-optimised component set
Media3 / ExoPlayer
HLS live stream playback with hardware decoding; PlayerView kept focus-free so D-pad events are intercepted by the app
Jellyfin Kotlin SDK
jellyfin-core 1.8.x — Live TV channels, EPG programmes, playback state reporting
DataStore Preferences
Persists server URL, access token, last channel, favourites, and bandwidth cap across sessions
Kotlin Coroutines
All async work in ViewModelScope; progress reporting loop with 10 s interval; preview countdown with coroutine delay
Coil
Async channel logo loading with built-in caching
Tellyfin is open source under the MIT license. Pull requests welcome at github.com/Doxylamin/Tellyfin.