Tomo TV app icon

Tomo TV

Stream any video from your Jellyfin server. Just press play.

By Keiver, on 07/29/2026, about: jellyfin, jellyfin client, apple tv, tvos, media player, video streaming, multi-server, continue watching, transcoding, hevc, h264, media server

Tomo TV logo, jellyfish illustration on orange background

Tomo TV turns your Apple TV into the front end for your entire Jellyfin library. Connect a server, or a handful of them, and your movies, shows, music, and playlists are right there ready to play. It works out what your Apple TV can decode and quietly transcodes anything it can't, so you never have to think about codecs again.

Download on the App Store

Pick up where you left off

Launch the app and you land on what matters. Every library you own is right there, ready to dive into, with no menus to dig through and no folder to find first. Just below, a Continue Watching row remembers your exact spot, tracked on-device, so a half-finished film is one click from resuming.

Tomo TV home screen with a Libraries row of Movies, Music, Music Videos, Photos TomoTV, and Shows tiles with item counts, above a local Continue Watching row

Your whole library, one place

Whatever you keep on Jellyfin, Tomo TV plays it. Browse movies and collections, full show seasons, and playlists, all with the artwork and counts you expect. Music gets the same treatment, laid out by cover art, so the app that runs your movie nights doubles as your record shelf.

Tomo TV Libraries view showing five libraries with item counts, the Photos TomoTV tile focused, and a local Continue Watching row
Tomo TV folder view with breadcrumb Movies, Shows, showing a focused MeltdownShow folder card with an item count
Tomo TV Music library grid with gold favorite hearts on each card and a Filters button showing two active filters

Filter, shuffle, favorite

Every library gets a Filters panel: narrow it down by favorites, genre, artist, or year, and flip on shuffle to play the whole filtered set in a fresh random order that loops. Selections are scoped per library and follow you into sub-folders. Long-press any card to favorite it, and favorited items wear a gold heart wherever you browse, not just under the Favorites filter.

Tomo TV Filters panel for a Music library with Status, Sort with a Shuffle toggle, Genres, and Artists chips, plus a Clear All button

Connect without typing an address

Pick Scan Networkand Tomo TV sweeps your local subnet for Jellyfin servers, honoring the network's real netmask, and lists every one it finds. The connect screen shows your Apple TV's own IP, warns when a private address is not on this subnet, and if a connection fails it lists every address that was tried and how each one failed instead of one generic error. Reverse-proxy subpaths like 10.0.0.5/jellyfin work too. Tomo TV holds as many servers as you want and lets you hop between them in a tap. Add your own, or load up Jellyfin's public demo at https://demo.jellyfin.org/stableto take it for a spin. Every server's credentials stay sandboxed and locked in the device Keychain.

Tomo TV Settings screen under a Jellyfin Server heading with a Scan Network row offering to find servers, Add Server, and two saved servers: http://10.48.1.51:8096 and https://demo.jellyfin.org/stable
Tomo TV Settings screen mid-scan showing a Stop Scanning row with 448 of 510 addresses probed and a progress spinner

Find anything in seconds

Type a title, season, or year and results surface as you go. Search runs on the real Apple TV keyboard and SwiftUI's native .searchable modifier, so it feels like the rest of tvOS instead of a web view bolted onto the screen.

Tomo TV Search tab showing the native tvOS alphabet keyboard with the prompt Find by title, season, or year and a magnifying glass empty state

The search experience is built on expo-tvos-search, an open-source Expo module that brings native tvOS search integration to React Native apps. It is published on npm with TypeScript support, customizable layouts, and extensive configuration options.

Smart streaming

When you press play, Tomo TV checks whether your Apple TV can decode the file directly. H.264 and HEVC stream at full quality with no re-encoding. Anything else, VP9, AV1, MPEG-2, VC-1, or DivX, is transcoded on the fly by your Jellyfin server and streamed across, with no manual format wrangling on either end.

  • Multi-audio tracks: switch between audio tracks during playback without restarting the video
  • Subtitles: automatic detection and embedding of subtitle tracks with per-language selection
  • Up Next: continuous playback with an overlay showing what plays next in a collection or playlist
  • Continue Watching: on-device resume so you start where you stopped, even before the server reports your position

Streaming quality

Tomo TV offers quality presets that cap the transcoding bitrate. Direct play always streams at original quality regardless of this setting, the preset only applies when the server has to re-encode.

480p1-2 Mbps

Slow Wi-Fi, remote streaming over VPNDefault

540p2-4 Mbps

Standard home Wi-Fi

720p4-6 Mbps

Fast Wi-Fi

1080p8-12 Mbps

Wired Ethernet, Gigabit LAN

4K40-80 Mbps

Gigabit LAN, high-end server

Up and running in two steps

Point Tomo TV at your server and sign in, that's it. Prefer to follow along on your phone? Scan the in-app QR code, or head to tomotv.app.

1

Add a server

Tap Scan Network to find servers on your subnet with nothing to type, enter an address including port, e.g. http://192.168.1.100:8096, or tap the bundled demo server to try it with nothing of your own.

2

Sign in

Quick Connect: enter the code shown on your TV into any logged-in Jellyfin device to authorize instantly

Username & Password: sign in directly with your Jellyfin credentials

Tomo TV Quick Connect screen showing a six-digit code to enter on the server, a waiting-for-approval spinner, and Cancel and Use Username and Password buttons
Tomo TV Help screen showing the app icon, the tagline Stream any video from your Jellyfin server, feature badges for Smart Streaming, Multi-Audio Tracks, Subtitle Support, Native Search, Up Next Queue, Continue Watching, Library Filters, Favorites, Photo Viewer, and Auto Server Discovery, and a setup-guide QR code linking to tomotv.app

Requirements

  • Apple TV running tvOS 15.1 or later
  • Jellyfin server 10.8+ with transcoding enabled
  • FFmpeg installed on the server to power transcoding

Troubleshooting

Black screen or a video won't play
Enable transcoding in Jellyfin under Dashboard → Playback → Transcoding, and make sure FFmpeg is installed on the server.
Can't reach a server
Check that the server address includes the port (e.g. http://192.168.1.100:8096). HTTP works on a local network; for access from outside your home, HTTPS with a valid certificate is recommended.
Buffering or slow playback
Lower the quality preset in Settings, and enable hardware transcoding on your server if it supports it (Intel QuickSync, NVIDIA NVENC, or VAAPI).

Privacy

Tomo TV ships with no third-party analytics or tracking SDKs. Each server's credentials live in your device's Keychain and are never sent to us. Video streams directly between your Apple TV and your Jellyfin server, with no servers of ours in between.

Support

Questions or feedback: contact@keiver.dev

Open Source