A fast Jellyfin or Plex server won’t save you if the box behind the TV can’t play the file as it sits on disk. The best streaming device for Jellyfin and Plex is the one that direct plays your library: it decodes the video, shows the HDR format and handles the audio track, so the server only sends bytes. Pick wrong and the server starts transcoding, which costs you HDR, Atmos or the whole CPU.
We ranked the five boxes people shortlist for a self-hosted library: Fire TV Stick 4K Max, NVIDIA SHIELD TV Pro, the new Apple TV 4K, Google TV Streamer and Walmart’s onn 4K Pro. Each one was checked against its maker’s spec sheet and the Jellyfin and Plex client docs for codecs, Dolby Vision profiles, audio passthrough and Ethernet speed. We did not have the boxes on a bench, so the hands-on part is a Jellyfin server lab that shows what happens when a client cannot play your file. Prices and stock below were checked in October 2026.
Best streaming device for Jellyfin and Plex: quick picks
Two things moved this category in October 2026, and both push you toward the cheaper end. NVIDIA raised the SHIELD TV Pro to $299 and dropped the regular SHIELD TV, and Apple replaced the Apple TV 4K with a fourth-generation model that ships on November 13. Here’s where each box lands:
- Best overall: Fire TV Stick 4K Max. Amazon documents TrueHD Atmos, DTS and DTS-HD passthrough, hardware AV1 and Dolby Vision profiles 5 and 8 on a stick that costs about $85.
- Best for lossless remuxes: NVIDIA SHIELD TV Pro. Gigabit Ethernet, two USB 3.0 ports and TrueHD, DTS-HD and DTS:X passthrough, at a new price of $299 with no AV1 and no HDR10+.
- Best premium box: Apple TV 4K (4th generation). A19 chip, AV1, Gigabit Ethernet and the best client apps, but it decodes lossless audio to PCM instead of bitstreaming it.
- Best wired Google TV: Google TV Streamer. Gigabit Ethernet, 4 GB of RAM and every HDR format, though Google lists only Dolby Digital, Digital Plus and Atmos for audio.
- Cheapest: onn 4K Pro. About $60 at Walmart with Dolby Vision and a wired port, but the port is 100 Mbps and Walmart publishes no passthrough list.
If you only pick one, we’d pick the Fire TV Stick 4K Max for most libraries. Step up to the SHIELD TV Pro only when your rips carry lossless Atmos or DTS:X and your receiver is the reason you rip at full quality.
How we picked and what we tested
Direct play is decided by three things on the client, so every box was scored on the same three. The first is the video codecs its hardware decodes (HEVC Main10, AV1, VP9), and the second is the HDR formats it outputs (Dolby Vision profiles, HDR10, HDR10+, HLG). The third is what it does with lossless audio: bitstream it to your receiver, decode it to PCM, or neither. Ethernet speed comes fourth, because a 4K remux can peak above what a 100 Mbps port carries.
Every spec in the table comes from the maker’s own page: Amazon’s Fire TV developer specs, NVIDIA’s SHIELD TV Pro page, Apple’s Apple TV 4K tech specs, the Google Store spec sheet plus Google’s Cast media docs, and the Walmart listing for the onn, with 9to5Google’s coverage filling in what Walmart leaves out. Client behaviour comes from the Jellyfin codec-support docs, the Swiftfin player docs, Infuse’s audio support page, Plex’s settings docs and the open issues on the Jellyfin Android TV tracker. Amazon prices and stock come from Amazon’s catalog API, the onn price and stock from Walmart’s page, and the SHIELD’s $299 from NVIDIA’s announcement as reported by the press, because NVIDIA’s store blocked our requests. What we could not confirm from a primary source is labelled as unconfirmed rather than filled in.
The lab part ran on a Jellyfin server in Docker on an Ubuntu 26.04 VM with 4 vCPUs. We built test files that mirror a typical 4K remux, then asked the server how it would serve them to three different client capability profiles and timed the transcodes it fell back to. That section is further down, and it is the reason the audio column in the table matters as much as the HDR one.
Compare direct play, HDR and audio passthrough
Read the audio column first if you have an AV receiver or a soundbar that decodes TrueHD or DTS, because that’s where these boxes split hardest. The video columns are closer: every pick documents Dolby Vision, and all but the onn document 4K HEVC Main10 and HDR10.
| Device | AV1 | HDR formats | Lossless audio | Ethernet | Price band |
|---|---|---|---|---|---|
| Fire TV Stick 4K Max (2nd gen) | Yes, hardware | DV P5, P8, HDR10, HDR10+, HLG | TrueHD Atmos, DTS, DTS-HD (basic) passthrough | 10/100 via dongle | about $85 |
| NVIDIA SHIELD TV Pro | No | Dolby Vision, HDR10 | TrueHD, DTS-HD, DTS:X passthrough | Gigabit | about $299 direct |
| Apple TV 4K (4th gen) | Yes, hardware | DV P5, P8.1, HDR10, HDR10+, HLG | Decoded to multichannel PCM; no TrueHD or DTS bitstream | Gigabit | about $290 to $299 (preorder) |
| Google TV Streamer | Yes (Google Cast media docs) | Dolby Vision, HDR10, HDR10+, HLG | Google lists DD, DD+, Atmos only | Gigabit | about $150 |
| onn 4K Pro (2026) | Not listed by Walmart | Dolby Vision (others not listed) | Atmos listed; DTS and lossless passthrough undocumented, player-dependent | 100 Mbps | about $60, out of stock when checked |
Two rows surprise people. The $85 stick has the strongest documented passthrough list after the SHIELD. The two most expensive boxes split down the middle: the SHIELD bitstreams everything but cannot decode AV1, while the Apple TV decodes AV1 but will not bitstream TrueHD or DTS at all. Nothing here plays Dolby Vision profile 7 with its full enhancement layer, which matters only if your library is full UHD Blu-ray remuxes and you care about FEL.
1. Fire TV Stick 4K Max
The Fire TV Stick 4K Max wins on what it plays per dollar. Amazon’s developer spec sheet lists hardware AV1, HEVC Main10 and VP9 Profile 2 at 4K60, plus Dolby Vision profiles 4 (MEL), 5, 8, 9 and 10 alongside HDR10, HDR10+ and HLG. It also lists passthrough for Dolby TrueHD with Atmos, DTS and DTS-HD (basic profile). Few boxes at any price document that much.

Inside is a MediaTek MT8696T with 2 GB of RAM, 16 GB of storage and Wi-Fi 6E, running Fire OS 8. The official Jellyfin Android TV app is in the Amazon Appstore, and so is Plex, so you do not need to sideload anything to get started. The weak spot is the wire: there is no Ethernet port on the stick, and Amazon’s own adapter tops out at 10/100 Mbps. A UHD Blu-ray remux averages well under that, but its peaks can go past it, so on a busy scene you would buffer on the dongle where Wi-Fi 6E to a nearby access point would not.
- Who it’s for: most Jellyfin and Plex households, including anyone with an Atmos soundbar or receiver and a mix of HEVC and AV1 files.
- Where it falls short: 2 GB of RAM is the least on this list, Amazon rates the HEVC decoder at 35 Mbps (4K60, Level 5.1), which is below the peaks of a full UHD remux, and the Ethernet dongle caps at 100 Mbps.
- Buy the right stick: the cheaper Fire TV Stick 4K Select and the 2026 Fire TV Stick 4K run Vega OS, which can’t run the Jellyfin Android TV app, so this 4K Max is the one to get.
It was about $85 on Amazon when we checked, which is the Fire TV Stick 4K Max listing to watch for a holiday drop. Check the live price before you buy. If you only buy one box from this list, it is the one we’d put behind most TVs.
2. NVIDIA SHIELD TV Pro
The SHIELD TV Pro is still the box to beat for lossless audio and wired throughput, which is why remux collectors keep buying a 2019 design. NVIDIA lists Dolby TrueHD, DTS-HD and DTS:X passthrough over HDMI, Dolby Vision and HDR10, Gigabit Ethernet and two USB 3.0 ports on a Tegra X1+ with 3 GB of RAM.
Price and age are the problem. NVIDIA moved the SHIELD Pro from $199 to $299 on October 2, 2026, citing memory costs, and discontinued the cheaper tube-shaped SHIELD TV, as Tom’s Hardware reported. The Tegra X1+ has no AV1 decoder and NVIDIA does not list HDR10+, so an AV1 encode needs a server transcode on this box while the $85 stick plays it, and HDR10+ files play as HDR10 at best. The only Amazon listing we found was a third-party seller asking about twice NVIDIA’s price, so we link NVIDIA’s own page instead.
Client bugs are worth reading before you pay $299. Issues on the Jellyfin Android TV tracker report TrueHD not bitstreaming on Dolby Vision profile 7 remuxes (#5794) and HDR10+ files triggering a transcode that drops Atmos along the way (#5517). Those are client issues rather than hardware limits, and Plex on Android TV has its own passthrough setting, but they mean the SHIELD’s spec sheet is not the whole answer.
- Who it’s for: a library of untouched Blu-ray and UHD remuxes, a receiver that decodes TrueHD Atmos and DTS:X, and USB drives you want to plug straight in.
- Where it falls short: no AV1, no HDR10+, a seven-year-old chip and a price that now matches the brand-new Apple TV.
- Where to buy: NVIDIA’s store or a major retailer at the $299 list price, not a marketplace reseller.
If your receiver is not decoding lossless formats, you are paying $299 for passthrough you can’t hear, and the Fire TV Stick 4K Max or Google TV Streamer will serve you better.
3. Apple TV 4K (4th generation)
The new Apple TV 4K is the fastest, most polished client on this list, and the right pick if your audio ends at a TV, a soundbar that takes PCM, or a receiver you don’t need bitstreamed formats from. Apple’s spec page lists the A19 chip, Gigabit Ethernet on every unit, Wi-Fi 7, HDMI 2.1, AV1, VP9 and HEVC decode, and Dolby Vision profiles 8.1 and 5 plus HDR10, HDR10+ and HLG.
Audio is where it parts ways with the SHIELD. Apple lists AC-3, E-AC-3 and Dolby Atmos, and Firecore’s Infuse audio documentation spells out what that means in practice. Dolby and DTS tracks are decoded on the box and sent to your receiver as multichannel LPCM, Atmos survives only from E-AC-3 tracks, and DTS:X is not supported. Your receiver will show multichannel PCM, not TrueHD, and the height channels in a TrueHD Atmos track are gone.
For Jellyfin you’d use Swiftfin, the official app, or Infuse. Swiftfin’s player docs say its default MPV engine plays Dolby Vision profiles 5 and 8 directly, its AVPlayer engine can’t handle DTS or TrueHD, and AV1 needs an A17 Pro or newer for acceptable performance, which the A19 is. Plex has a native Apple TV app with an Allow Direct Play toggle. The box was on Amazon at about $290 as a preorder, shipping November 13, 2026, against $299 at Apple.
- Who it’s for: Apple households, HEVC and AV1 libraries, and anyone who values the client app more than bitstreamed audio.
- Where it falls short: no TrueHD or DTS bitstreaming, no DTS:X, no Dolby Vision profile 7, and it is a preorder until mid-November.
Check the live price on the Apple TV 4K (4th generation) listing, and avoid renewed third-generation units unless they are well under half the price, because the new model adds AV1 and Wi-Fi 7.
4. Google TV Streamer
Google TV Streamer is the Android-based box to buy if you want a wired, gigabit client that isn’t a seven-year-old SHIELD. Google’s spec sheet lists Gigabit Ethernet, Dolby Vision, HDR10, HDR10+ and HLG, and the box has 4 GB of RAM and 32 GB of storage, which helps when Jellyfin and Plex both stay installed alongside everything else.
Audio documentation is the gap. Google lists Dolby Digital, Dolby Digital Plus and Dolby Atmos and says nothing about TrueHD or DTS, on the store page. Google’s Cast media docs fill in the video side (AV1 Main and HEVC Main10 up to level 5.1 at 4K60, VP9 Profile 2) and list Dolby Atmos with “no passthrough” for Cast playback. Treat lossless passthrough as unconfirmed until you’ve tried your own files, and keep the return window open. Wi-Fi is 802.11ac rather than Wi-Fi 6, which is one more reason to use the Ethernet port.
- Who it’s for: a wired TV, an Atmos soundbar fed by E-AC-3 tracks, and a home already set up around Google TV.
- Where it falls short: undocumented TrueHD and DTS behaviour, Wi-Fi 5 only, and a price well above its $99.99 launch price.
It was about $150 at Amazon and the Google Store when we checked. See the current price on the Google TV Streamer listing.
5. onn 4K Pro
Walmart’s onn 4K Pro is the cheapest box here that still has a wired port and Dolby Vision, which makes it the budget pick for a second TV. The 2026 model’s Walmart listing gives 3 GB of RAM, 32 GB of storage, Wi-Fi 6, an Ethernet port, a USB 2.0 port, Dolby Vision and Atmos, all for about $60.
Walmart saves its money in the fine print. 9to5Google found the 2026 refresh kept the 100 Mbps Ethernet port and dropped the USB-A port from 3.0 to 2.0, and Walmart does not publish a codec or passthrough list. User reports show DTS handling depends on the player: one app’s on-box DTS-HD decode played silent on a TV that can’t take DTS, and on the previous model Stremio’s ExoPlayer converted DTS to Dolby Digital Plus where Kodi passed it through. If your library is DTS-heavy, plan to test it in Kodi or Plex before you rely on it. Both colours showed out of stock at $59.98 on Walmart’s page when we checked, and the only Amazon listing was an import reseller, so buy it from Walmart or not at all.
- Who it’s for: a bedroom TV playing HEVC files with AAC, AC-3 or E-AC-3 audio.
- Where it falls short: 100 Mbps Ethernet, no published codec list, spotty stock and undocumented lossless passthrough.
It is a fine $60 Google TV box. It is not where a remux library should land, and for about $25 more the Fire TV Stick 4K Max documents everything the onn leaves blank.
Boxes we left out and why
Three other boxes come up in every Jellyfin and Plex thread, and each missed the list for a specific reason:
- Ugoos AM6B Plus: the enthusiast pick for UHD remuxes, but only when you boot CoreELEC (from a microSD card or as a dual boot next to Android) and play through Kodi. The CoreELEC supported-device list includes it, and CoreELEC is where the forum talk about Dolby Vision profile 7 FEL playback happens. It ships with Android 9 and runs about $250 on Amazon, so it is a project rather than a streaming box.
- Roku Ultra: there’s an official Jellyfin Roku app, but Jellyfin’s codec table lists no 10-bit H.264 on Roku, and an open issue reports Dolby Vision and HDR10+ HEVC files either losing E-AC-3 audio or transcoding video. It lists at $149.99 and was about $130 on Amazon when we checked.
- Fire TV Stick 4K Select and the 2026 Fire TV Stick 4K: both run Vega OS, and the Jellyfin Android TV maintainers have said that app will never run there; a separate Vega OS app is early in development. Check the model name before you buy a Fire TV stick for Jellyfin.
If FEL playback is the whole point of your setup, a CoreELEC box belongs on your shortlist and none of the five picks above does.
Check your library before you buy a streaming device
The fastest way to choose between these boxes is to look at what your files actually contain, because the table above only matters for the codecs you own. We built a 30 second synthetic test file with the stream types of a UHD remux (not its bitrate): 4K HEVC Main10 with HDR10 metadata and a 5.1 Dolby TrueHD track. We ran it through ffprobe, then asked a Jellyfin 12.3 server in Docker how it would serve that file to three client profiles. ffprobe gives you the codec, the bit depth and the HDR transfer in two lines:
ffprobe -v error -show_entries stream=index,codec_name,profile,pix_fmt,color_transfer,color_primaries,channels -of compact "Test HDR Movie (2026).mkv"
The video line is what the box has to decode and the audio line is what it has to decode or pass through:
stream|index=0|codec_name=hevc|profile=Main 10|pix_fmt=yuv420p10le|color_transfer=smpte2084|color_primaries=bt2020
stream|index=1|codec_name=truehd|profile=unknown|channels=6
smpte2084 is the PQ curve, so this is HDR10 or Dolby Vision. The truehd stream with 6 channels is the track a box without TrueHD support will hand back to the server. ffprobe will not name the HDR format or a Dolby Vision profile cleanly. That is mediainfo’s job:
mediainfo "Test HDR Movie (2026).mkv" | grep -E "^Format profile|^HDR format|^Commercial name|^Channel"
For our file it confirms HDR10 and spells out the audio by its retail name. On a real Dolby Vision rip, the HDR format line is where the profile shows up, such as dvhe.07 for profile 7 or dvhe.08 for profile 8:
Format profile : Main 10@L5@Main
HDR format : SMPTE ST 2086, HDR10 compatible
Commercial name : Dolby TrueHD
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Next we posted that file to Jellyfin’s /Items/{id}/PlaybackInfo endpoint three times, each with a small device profile standing in for a class of box. These profiles are ours, written from the spec sheets, not the real profiles the Jellyfin apps send, but the server’s decision logic is the real one:
| Client profile | Like | Jellyfin’s answer | Transcode reasons |
|---|---|---|---|
| HEVC, AV1, TrueHD, DTS, E-AC-3 | Fire TV Stick 4K Max | Direct play | None |
| HEVC, AV1, E-AC-3, AC-3, AAC only | A box without lossless audio | Transcode audio, copy video | AudioCodecNotSupported |
| H.264 or SDR HEVC up to 1080p, AAC or AC-3 | An old 1080p stick | Full transcode to H.264 and AAC | VideoCodecNotSupported, AudioCodecNotSupported, VideoResolutionNotSupported, VideoRangeTypeNotSupported |
Then we timed both fallbacks with the jellyfin-ffmpeg build inside the container on 4 vCPUs. The audio-only job copies the HEVC stream untouched and converts TrueHD 5.1 to E-AC-3 5.1, which is what Jellyfin does for the second profile:
docker exec jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -hide_banner -benchmark -y -i "/media/movies/Test HDR Movie (2026)/Test HDR Movie (2026).mkv" -map 0:v -map 0:a -c:v copy -c:a eac3 -b:a 640k -ac 6 -f mpegts /tmp/audio-only.ts
The last progress line and the benchmark line tell you how hard the server worked:
frame= 720 fps=0.0 q=-1.0 Lsize= 48253KiB time=00:00:29.91 bitrate=13213.2kbits/s speed=64.8x elapsed=0:00:00.46
bench: utime=0.997s stime=0.271s rtime=0.462s
That’s 64.8 times real time, so an audio-only transcode costs the server almost nothing and your picture stays 4K HDR. The full job tone-maps HDR10 to SDR with tonemapx and encodes H.264, which is the kind of work a client without HEVC or HDR forces. We also scaled to 1080p, our choice rather than the server’s:
docker exec jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -hide_banner -benchmark -y -i "/media/movies/Test HDR Movie (2026)/Test HDR Movie (2026).mkv" -map 0:v -map 0:a -vf 'tonemapx=tonemap=bt2390:format=yuv420p:t=bt709:m=bt709:p=bt709,scale=1920:-2' -c:v libx264 -preset veryfast -crf 23 -c:a aac -ac 2 -b:a 384k -f mpegts /tmp/full.ts
This one took more than a minute for 30 seconds of video:
frame= 720 fps=9.6 q=-1.0 Lsize= 17682KiB time=00:00:29.91 bitrate=4841.7kbits/s speed= 0.4x elapsed=0:01:14.77
bench: utime=272.488s stime=0.784s rtime=74.780s
9.6 frames per second against a 24 fps film is 0.4x real time, with all four cores busy for 272 seconds of CPU in 75 seconds of wall clock. That stream would buffer constantly on this server without a GPU. The number is a floor: the VM ran on the default virtual CPU type, so ffmpeg reported no AVX for x264 and no SIMD for tonemapx, and a modern CPU with those extensions will do better. The direction still holds, which is the practical case for buying the client that plays HEVC Main10 and your HDR format natively. Losing lossless audio to a transcode is a quality cost; losing the video to one can stall playback on a server without hardware tone mapping.
One lab detail worth copying if you test your own profiles: our first PlaybackInfo calls left out the audio stream index, and Jellyfin reported direct play for the no-lossless profile even though it cannot play TrueHD. When the second call sent AudioStreamIndex and MediaSourceId the way the apps do, the answer flipped to AudioCodecNotSupported. Always test with the audio track you will actually play selected.
What decides direct play on a streaming device
Spec sheets list formats; direct play needs the hardware and the client app to agree on every stream in the file. Before you compare boxes, check these against your own library:
- Video codec and bit depth: HEVC Main10 is the baseline for 4K HDR, and AV1 matters if you or your sources encode to it. A box without the decoder forces a full video transcode.
- HDR format and Dolby Vision profile: only Amazon and Apple publish their supported profiles (5 and 8 are common to both), NVIDIA, Google and Walmart only say “Dolby Vision”, none of the five claims profile 7 FEL, and an HDR10+ file on a box without HDR10+ falls back to HDR10 at best or a transcode at worst.
- Audio track and your receiver: TrueHD, DTS-HD MA and DTS:X need a box that bitstreams them and a receiver that decodes them. Without both, the audio gets decoded, downmixed or transcoded somewhere.
- Ethernet speed: a 100 Mbps port is enough for most encodes but not for every peak in a UHD remux, so a gigabit port or fast Wi-Fi matters for full-bitrate rips.
- Subtitles: Jellyfin’s docs note that subtitles can force a remux or a video transcode, and burning them in is the most expensive transcode there is. Check which subtitle formats your client app renders before you blame the box.
- The client app and its player: the same box behaves differently in Jellyfin, Plex, Kodi or Infuse, and Swiftfin’s MPV and AVPlayer engines differ again. Read the client’s docs, not only the hardware’s.
The server side still matters for the files no box can play. If you are building one, our guides to installing Jellyfin on Ubuntu and setting up Plex Media Server cover the install. The GPU guide for Jellyfin and Plex transcoding covers hardware tone mapping for the clients that can’t do HDR.
Which streaming box to pick for your library
Start from your audio chain and your rips, not from the brand of TV you own:
- A TV or soundbar, mixed HEVC and AV1 files: Fire TV Stick 4K Max. It plays the most for the least money.
- An AV receiver and lossless Blu-ray remuxes: NVIDIA SHIELD TV Pro, as long as you can live without AV1 and pay $299.
- An Apple home or the best client app: Apple TV 4K, accepting PCM instead of bitstreamed TrueHD and DTS.
- A wired Google TV box with headroom: Google TV Streamer, after you’ve tested your own lossless tracks within the return window.
- A spare TV on a budget: onn 4K Pro, if Walmart has it in stock and your files use common audio codecs.
Whichever you buy, play your three hardest files in the first week and watch Jellyfin’s dashboard or Plex’s activity view while they run. A direct play there means you bought the right box. A transcode reason tells you exactly which stream to fix, whether that’s a remux to a different container, an extra audio track or a different client app. If the server still needs muscle after that, the mini PCs we’d run Plex and Jellyfin on and the NAS picks for Plex are the next stop.



