Skip to content
Swiftly Music Blog Discord GitHub
  1. Swiftly Player
  2. Blog

Jellyfin on Apple TV: 11 clients compared (2026)

Swiftfin, Infuse, Streamyfin, JellyTV and more, compared for Direct Play, Dolby Vision, audio passthrough, Skip Intro and Top Shelf on Apple TV.

By Swiftly Player14 min read

Disclosure: we build Swiftly Player, one of the clients in this article. We point out where other apps do better.

Version numbers, prices and features come from each project's GitHub repository, App Store listing or official site, checked in September 2026. Apple TV apps update often, so open the linked source before you rely on a detail. Where a claim could not be confirmed from a primary source, it says so instead of guessing.

TL;DR

The Jellyfin project's own Apple TV app, Swiftfin, is still listed as an official beta. If you want the widest file support and don't mind paying, Infuse is the most established choice, though its Skip Intro feature comes from its own TheIntroDB.org database, not from your Jellyfin server. If you want a free, open-source app from the Jellyfin project itself, Swiftfin is that app, but it has no downloads, no Skip Intro and no Top Shelf yet. Swiftly Player is free, plays through VLC, reads Skip Intro data straight from your server's own Media Segments, and gives every Apple TV profile its own Jellyfin account. Streamyfin is a free MPV-based option with a real Top Shelf extension. A handful of smaller, Apple-TV-only apps — Stingray, Reefy and the Plex-and-Jellyfin client Plezy — are worth knowing about too, and Moonfin has an Apple TV build you can only get by sideloading.

Comparison table

AppPricePlayback engineSkip Intro / Media SegmentsMultiple usersTop ShelfInstall source
Swiftly PlayerFree, open sourceVLC (VLCKit)Yes, from Jellyfin's own Media SegmentsYes, one Jellyfin account per Apple TV profileYesApp Store
SwiftfinFree, open sourceVLC or Native (AVPlayer), your choiceNot yet, issue #1525 still openYes, profile switcher with PINNo, two attempts closed without mergingApp Store
InfuseFree, Pro from $1.99/month, $99.99 lifetimeOwn engineYes, via TheIntroDB.org, not Jellyfin's Media SegmentsYes, since Infuse 8.2, tied to tvOS profilesYes, a "Media Shelf"App Store
StreamyfinFree, open sourceMPVYesNot clearly documented for tvOSYes, its own Top Shelf extensionApp Store
JellyTVFree, JellyTV+ from about $2.49/monthNative, optional "JellyTV Engine"Listed on jellytv.appYes, profiles and serversYes, per jellytv.app's own docsApp Store
VidHubFree, VIP from $1.49/monthOwn engineNot documentedNot documentedNot documentedApp Store
SenPlayerFree, Apple TV Pro lifetime $9.99Own engine ("3.0 Playback Engine")Not verifiedNot documentedNot documentedApp Store
MoonfinFree, open coreFlutter / native videoListed for Android TV; not verified for tvOSNot verified for tvOSNot verifiedUnsigned .ipa, sideload only
StingrayFree, $1.49 Supporter tierNative (AVPlayer)Not foundYes, multiple servers and PIN-protected profilesNot foundApp Store
Reefy$1.99 one-timeVLCNot foundNot verifiedNot foundApp Store
PlezyPaid, one-time (region-priced)Flutter / own engineNot documentedYes, several Plex, Jellyfin and Emby servers at onceNot documentedApp Store, or sideload from GitHub

Direct Play, Dolby Vision and audio passthrough on Apple TV, explained

Three terms decide how smooth playback is.

Direct Play means the file plays exactly as stored: same container, video codec, audio codec and subtitles, nothing converted. Direct Stream means the video codec is fine but the container or audio needs repackaging on the fly. Transcode means the server decodes and re-encodes the video, the slow, CPU-heavy path; burning subtitles into the picture is the single most demanding kind of transcode there is. Whether you get Direct Play depends on what the app tells the server it can decode. VLC- and MPV-based apps tend to declare more formats — MKV, AV1, DTS, TrueHD — so they trigger fewer transcodes than an app leaning only on Apple's own AVPlayer.

Dolby Vision is trickier on Apple TV than people expect. The hardware natively decodes Profile 5. Profile 7, common on UHD Blu-ray remuxes, is not natively supported and falls back to plain HDR10 unless an app converts it. Infuse is reported to convert Profile 8.1 sources to Profile 5 on the fly, a detail from Firecore's own community forum rather than a published spec sheet.

Audio passthrough is the wall every app here runs into. Apple TV outputs Dolby Atmos as Dolby MAT 2.0 over HDMI — decoded on-device, not a true bitstream — per Apple's own support page. Dolby TrueHD and DTS-HD Master Audio get decompressed to LPCM instead of passed through. Firecore's own documentation is explicit that this is a platform limitation, not an app one — Apple TV has no passthrough switch, by design. Most TVs also can't pass Atmos through ARC to a soundbar, so Apple TV usually needs to plug straight into the receiver.

Top Shelf is the row of art above the app icon on the Home Screen, filled by a separate TVTopShelfProvider extension the app ships alongside itself — optional work, which is why some apps have it and others, including one from the Jellyfin project itself, still don't.

Swiftly Player

Swiftly Player is a free, open-source Jellyfin client under the MPL-2.0 license, with its source on GitHub. One App Store download covers iPhone, iPad, Mac and Apple TV, no separate purchase for any of them.

Playback runs through VLCKit, aiming for Direct Play or Direct Stream rather than asking the server to transcode; the device profile declares containers, codecs and every subtitle format it supports. Skip Intro, Skip Recap and Skip Credits read Jellyfin's own Media Segments, the same data an Intro Skipper plugin writes to your server, not an outside database.

The feature that stands out on Apple TV: the television already knows who is watching, through its own tvOS profiles, and Swiftly follows that. Switch the profile and Swiftly signs into that person's Jellyfin account on its own, with their own Continue Watching and their own Top Shelf row. It also holds several accounts on the same server at once. Carried over from the phone and Mac apps: Quick Connect sign-in instead of typing a password on the remote, requests through Seerr, and picking up a film paused on another device from the same second.

Dolby Vision files play through VLC without a transcode, but the released build of VLCKit renders the HDR10 base layer rather than applying Dolby Vision's own dynamic metadata, so the picture is not full Dolby Vision on screen. VLCKit's own maintainer has confirmed this is an Apple platform restriction: Apple does not expose Dolby Vision decoding to third-party apps on iOS or tvOS the way it does to its own AVPlayer. Audio passthrough follows the same platform-wide limit described above. Downloads are not available on the Apple TV app — our rundown of which Jellyfin clients support offline downloads covers the other platforms. There is no SyncPlay, no Live TV and no casting, and it is a small, young project next to Swiftfin's history inside the Jellyfin organization. Setup steps are in our Jellyfin on Apple TV guide.

Swiftfin

Swiftfin is the Jellyfin project's own client for iPhone, iPad, Apple TV and Mac, free with no in-app purchases, on the App Store. It gives you a choice of two players, a real trade-off documented in its own player comparison. VLC handles far more containers and subtitle formats. Native (AVPlayer) supports Dolby Vision profiles 5, 8.1, 8.2 and 8.4 directly, and both players support HDR10 and HLG, with HDR10+ called out as limited on the third-generation Apple TV 4K. Neither player passes through DTS, DTS-HD, MLP or Dolby TrueHD; both handle AC3 and E-AC3, including lossy Dolby Atmos. An open feature request asks for lossless TrueHD passthrough via a newer tvOS API, unshipped as of this check.

Two things people specifically expect are still missing. Skip Intro and Media Segments support is tracked in issue #1525, open since April 2025; a pull request implementing it was still in review as of the project's own December 2025 development notes, so it is in progress but not shipped. Top Shelf has been attempted twice and abandoned both times — pull request #370 stalled on App Group configuration in 2024, and pull request #1947 was closed in March 2026 as too complex to merge as written. Multiple Jellyfin accounts on the same Apple TV work through a profile switcher with PIN protection.

If you already use Swiftfin and want to see what fills its gaps, our Swiftfin alternatives article covers the same ground for iPhone and iPad.

Infuse

Infuse is the app most people already know. It plays MKV, MP4, ISO, VIDEO_TS and BDMV without asking the server to transcode, connects to Jellyfin, Plex and Emby side by side, and its App Store description claims support for HDR10, HDR10+ and Dolby Vision. Infuse Pro costs $1.99 a month, $16.99 a year or $99.99 once, after a 7-day trial; the free tier still plays your library.

Since Infuse 8.4, it can skip intros, recaps and credits — but through its own community database, TheIntroDB.org, not through Jellyfin's Media Segments. People running Intro Skipper on their own server have reported that its skip prompt does not appear inside Infuse, because Infuse is not reading that data at all. Multiple users have worked since Infuse 8.2, tied to each Apple TV's own tvOS profile with its own iCloud sync, though tvOS is known not to refresh the Up Next row when you switch profiles. Infuse also has a Top Shelf-style "Media Shelf", lightly documented on its own support site. Audio passthrough follows the same ceiling covered above: Atmos only through lossy E-AC3, TrueHD and DTS-HD MA decompressed to LPCM. There is no Windows, Linux or Android version. If the price is the only issue, our free Infuse alternatives article walks through what the free options give up compared to it.

Streamyfin

Streamyfin is a free, open-source client built with Expo, and it does have a genuine Apple TV app — not just an Android TV build — listed on the App Store requiring tvOS 16.4 or later. It plays through MPV on every platform, including Apple TV, and its README lists Skip Intro and Skip Credits alongside Seerr requests.

The one detail worth calling out is a real Top Shelf implementation: a separate app extension reads a JSON file the main app writes into a shared App Group container. Dolby Vision, HDR and audio passthrough behavior are not documented in the README or App Store listing, so do not assume parity with Infuse or Swiftfin's Native player on those specifics. Whether it holds several Jellyfin servers at once on Apple TV is also not clearly documented.

JellyTV

JellyTV runs on iPhone, iPad, Mac, Apple TV, Vision Pro and Apple Watch from one codebase. The base app is free; JellyTV+ adds an admin interface, Trakt and AniList integration and iCloud settings sync. Its App Store listing shows more than one monthly figure for JellyTV+ — as low as $2.49 — so check exactly which tier you are buying before subscribing.

JellyTV's own documentation index lists Direct Play, Direct Stream, remux, transcoding and HDR support, plus Widgets, Spotlight, shortcuts, Top Shelf and an Apple Watch app — with a note that feature availability can vary by device, tvOS version, server and account. Multiple Jellyfin profiles and servers are documented too, along with Skip Intro. Audio passthrough specifics were not found and are not verified here.

VidHub and SenPlayer

VidHub and SenPlayer are general video players rather than Jellyfin-only clients, and both have real Apple TV apps. Both App Store listings confirm Jellyfin as one of several server types alongside Emby, Plex and, for SenPlayer, fnOS and SMB/WebDAV/FTP shares. VidHub is free with VIP purchases from about $1.49 a month and several lifetime tiers that differ by platform (note: two separate VidHub listings exist on the App Store, worth checking before you install). SenPlayer is free with lifetime Pro purchases split by platform, $9.99 for Apple TV alone or $12.99 for a Suite covering everything.

Both listings claim HDR and Dolby Vision support, and SenPlayer's description adds "native Dolby Vision and Dolby Atmos support" through what it calls a "3.0 Playback Engine." These are the developers' own marketing claims, not confirmed against Apple TV's documented hardware limits — the same TrueHD, DTS-HD and Atmos-bitstream restrictions from the primer apply regardless of what a feature list says. Neither documents Skip Intro, Media Segments, Top Shelf or multiple Jellyfin profiles, fitting their identity as broad network-video players that happen to speak the Jellyfin protocol rather than clients built around it.

Smaller tvOS clients: Moonfin, Stingray, Reefy and Plezy

A handful of newer or narrower apps are worth knowing about too.

Moonfin is a Flutter app for Jellyfin and Emby covering Android, Android TV, iOS, Apple TV, macOS, Windows, Linux and the web from one codebase; its README lists tvOS 17 as the minimum version. It is not on the App Store — the tvOS build ships as an unsigned .ipa you sideload and sign yourself.

Stingray is an unofficial, Apple-TV-only client built on Apple's own APIs, requiring tvOS 18. Free with an optional $1.49 "Supporter" purchase, it lists multiple servers, PIN-protected profiles with per-profile theming, Picture in Picture, and HDR tone-mapping for files that would otherwise transcode. No Top Shelf or Skip Intro claims were found.

Reefy is another Apple-TV-only app, requiring tvOS 26, priced at $1.99 one-time on its live App Store listing (some older write-ups list a different figure — trust the App Store page). It plays through VLC and describes "surround passthrough support with automatic stereo downmix when needed." Its GitHub README reads very close to Swiftfin's own wording about maximizing Direct Play with VLC, suggesting a shared lineage rather than a fully independent codebase.

Plezy is the one Plex-style app here that explicitly supports Jellyfin, alongside Plex and Emby, with an Apple TV build. It is a paid, one-time purchase priced by region, built with Flutter, listing wide codec support (HEVC, AV1, VP9), HDR playback, Direct Play and configurable transcode quality when several servers connect at once.

One name is missing on purpose: Fladder (DonutWare/Fladder) lists Android and Android TV, Windows, Linux, macOS, the web and a sideload-only iOS build, but no Apple TV build at all.

FAQ

Does Jellyfin have an official Apple TV app?

No. The Jellyfin project maintains Swiftfin, listed on jellyfin.org's own client page as an "Official Beta," but there is no first-party app simply called "Jellyfin" for Apple TV.

Can Apple TV play Dolby Atmos and TrueHD from Jellyfin without losing quality?

Not as a true bitstream. Apple TV decodes Atmos on-device and outputs Dolby MAT 2.0 over HDMI, and TrueHD/DTS-HD Master Audio get decompressed to LPCM. Apple and Firecore's own Infuse docs both confirm this is a platform limit, applying to every app here.

Which app skips intros using my own Jellyfin server's data, not an outside database?

Swiftly Player reads Jellyfin's own Media Segments, the same data an Intro Skipper plugin writes to your server. Infuse relies on its own TheIntroDB.org database instead. Swiftfin has the feature in progress but not shipped as of this check.

Do any of these apps support multiple Jellyfin accounts on one Apple TV?

Yes. Swiftly Player gives every tvOS profile its own separate Jellyfin account automatically. Infuse ties multiple users to tvOS profiles, each with its own settings sync. Swiftfin has a PIN-protected profile switcher.

Which free, open-source Jellyfin apps run on Apple TV?

Swiftly Player, Swiftfin and Streamyfin are free and open source with real Apple TV apps on the App Store. Moonfin's code is public too, but its Apple TV build has to be sideloaded.

Do I need to sideload anything to use a Jellyfin client on Apple TV?

Most apps here install from the App Store. Moonfin is the exception — an unsigned file you sign yourself. Fladder has no Apple TV build at all.

Summary

  • Pick Infuse for the widest file support across Jellyfin, Plex and Emby, if you don't mind a subscription and TheIntroDB instead of Jellyfin's own Skip Intro data.
  • Pick Swiftfin if a direct line to the Jellyfin project matters most, and you can live without downloads, Skip Intro or Top Shelf for now.
  • Pick Swiftly Player for free VLC playback, Skip Intro from your own server's Media Segments, and a separate Jellyfin account per person on the Apple TV.
  • Pick Streamyfin for a free MPV-based app with a proper Top Shelf extension.
  • Pick JellyTV for Apple Watch support, if an optional subscription for admin extras is fine.
  • Try VidHub or SenPlayer only if you also need SMB, WebDAV or another server type — neither documents Jellyfin-specific features like Skip Intro.
  • Stingray, Reefy and Plezy are smaller or one-time-purchase options worth a look if the bigger names don't fit; Moonfin only if you're willing to sideload.

Related articles

All articles