
XDA ran a piece last week about giving up on 4K upgrades and chasing direct play instead, and it lined up with something we had been noticing on our own home servers. The version of a movie that looks better is not the one with a bigger resolution number in the filename. It is the one your phone plays without the server touching the video stream. Direct play means the file leaves the NAS and lands on your device as-is, no transcoding, no re-encoding, no audio downmix. Whatever the mixer intended is what you hear. Whatever the colorist graded is what you see.
The problem is that most media apps on Android will happily lie about direct play. They call it “direct play” while quietly transcoding audio because the codec is Dolby TrueHD or DTS-HD MA. They fall back to remuxing because the container is MKV instead of MP4. They bail on HDR passthrough because the display panel does not report its capabilities correctly. What follows is a shortlist of seven Android media apps that get direct play right, judged on what actually plays untouched, not what the marketing copy claims.
What to look for in a direct play app
- Codec breadth. The app needs to handle whatever your library uses. HEVC, VP9, AV1 for video, and TrueHD, DTS-HD MA, E-AC3, and multichannel FLAC for audio.
- Container flexibility. MKV is the pragmatic default for large libraries. Any app that only handles MP4 will trigger a remux on almost every play.
- HDR passthrough. Dolby Vision profile 5 and HDR10+ metadata should reach the panel intact. Watch for apps that force HDR-to-SDR conversion silently.
- Server compatibility. Plex, Jellyfin, Emby, and SMB shares all have different quirks. The app should surface which of those it truly supports without transcoding.
- Debug visibility. A “playback info” overlay that reports the actual profile, bit rate, and whether the server is transcoding beats guessing from thermals.
- Chromecast handoff. Direct play should survive casting when the target device supports the same codec. Most apps break this on Chromecast built-in devices.
Quick comparison
| App | Best for | Free tier | Starting price | Standout feature |
|---|---|---|---|---|
| Plex | Big polished libraries | Yes, ad-supported | About 5 USD/month | Widely used server, wide codec support |
| Jellyfin | Fully self-hosted, no vendor | Yes, open source | Free | No account, no telemetry |
| Emby | Middle ground between Plex and Jellyfin | Yes, limited | About 5 USD/month | Live TV DVR and hardware transcode toggles |
| Kodi | Tinkerers with mixed sources | Yes, open source | Free | Add-on ecosystem for niche formats |
| Infuse | Best-looking client UI | 7-day trial | About 10 USD/year | Metadata scraper that beats Plex |
| VLC | Fallback that plays anything | Yes | Free | Handles files no other app opens |
| Nova Video Player | Local library on Android TV | Yes | Free | Auto-mounts SMB and NFS shares |
The apps
1. Plex — Best for large libraries you actually finish
Plex stays on this list because its Android client is the one that surfaces the “direct play” versus “direct stream” versus “transcode” distinction most clearly. The Nerd Stats overlay tells you exactly which one is running, and the settings let you cap the maximum played bit rate so you can watch remotely without setting the server on fire.
Where it falls short: The remote-access model still runs sign-in through Plex servers, so a Plex outage takes your library with it even though the media is on your NAS. Ads on the free tier are aggressive on the discovery screen.
Pricing:
- Free: server and clients, ads in the discovery UI
- Paid: Plex Pass at about 5 USD/month or a lifetime pass
- Notes: hardware transcoding needs Plex Pass
Platforms: Android, Android TV, iOS, Windows, macOS, Linux, web
Download: Plex on Aptoide · Google Play
Bottom line: Pick this if you want the polished experience and the widest device support, and you are fine with a hosted sign-in in exchange.
2. Jellyfin — Best fully self-hosted option
Jellyfin is the fork that removed Plex’s cloud dependency. The Android app talks directly to your server over LAN or a reverse proxy, and there is no sign-in through a third party. Direct play behavior on Jellyfin is more predictable than on Plex because the Android client respects the codec profile the server publishes without silently downgrading.
Where it falls short: Metadata scraping is worse than Plex or Infuse. The mobile UI does not surface transcoding decisions as clearly, so you need the server dashboard to confirm what is happening.
Pricing:
- Free: everything, GPL open source
- Paid: none
Platforms: Android, Android TV, iOS, web, desktop
Download: Jellyfin on Aptoide · Google Play
Bottom line: Pick this if you are done trusting anyone else’s account infrastructure with your movie library.
3. Emby — Best middle ground
Emby kept a foot in both camps after the Jellyfin fork. The server is source-available, the mobile client is polished, and the direct play settings let you distinguish LAN and remote profiles so you can force-transcode over cellular without ever touching LAN playback. The DLNA support is the most reliable of any option here for older receivers.
Where it falls short: Some newer features (mobile downloads, Chromecast) are gated behind Emby Premiere. The Android app crashes on Dolby Vision profile 5 more often than Plex or Jellyfin.
Pricing:
- Free: base client and server
- Paid: Emby Premiere at about 5 USD/month or a lifetime tier
- Notes: hardware transcode and sync gated to Premiere
Platforms: Android, Android TV, iOS, Fire TV, Windows, macOS, Linux
Download: Emby on Aptoide · Google Play
Bottom line: Pick this if the Plex UX suits you but you want the server binaries closer to home.
4. Kodi — Best for mixed sources and add-ons
Kodi is not a Plex-style client. It scans local and network storage directly and plays whatever you point it at. That makes it the strongest direct play option for people who never centralised on a media server, or who have a decade of oddly-encoded files. The Android build handles TrueHD passthrough on Nvidia Shield and modern Android TV boxes without any codec fiddling.
Where it falls short: The library scanner is slow on big collections. The default skin is dense and off-putting for guests. Add-on management drifts when Kodi versions change.
Pricing:
- Free: GPL open source, forever
- Paid: none
Platforms: Android, Android TV, iOS (sideload), Windows, macOS, Linux
Download: Kodi on Aptoide · Google Play
Bottom line: Pick this if your files sit on a share and you never wanted a media server in the middle.
5. Infuse — Best-looking client if you cross over to iOS
Infuse started on Apple platforms and only recently landed a proper Android app. The metadata artwork is the best in the category, the audio track picker is the fastest, and direct play works out of the box on almost any container. If your household mixes iPhones and Android tablets, Infuse gives everyone the same UI.
Where it falls short: The subscription model bit hard when it moved from a one-off purchase. Some codec support still lags the Apple TV build by a few weeks.
Pricing:
- Free: 7-day trial with limited features
- Paid: about 10 USD/year for the mobile plan, higher for family
- Notes: cross-platform sync of watched state is gated to the paid tier
Platforms: Android, iOS, tvOS, macOS
Download: Infuse on Aptoide · Google Play
Bottom line: Pick this if presentation matters and you want the same client across an Apple-and-Android household.
6. VLC — Best universal fallback
VLC does not manage a library the way the others do, but it will play a direct file link over SMB, WebDAV, or FTP without any codec pack. When Plex refuses to play a specific track or an obscure encoder trips Jellyfin, VLC is what lets you finish the movie without transcoding.
Where it falls short: Library discovery is minimal. The UI has not been rethought since the tablet-first era. Chromecast handoff is unreliable for HEVC.
Pricing:
- Free: GPL open source
- Paid: none
Platforms: Android, iOS, Android TV, Windows, macOS, Linux
Download: VLC on Aptoide · Google Play
Bottom line: Keep this installed even if your daily driver is Plex. It has finished more movies than any dedicated app.
7. Nova Video Player — Best for Android TV local libraries
Nova Video Player is a niche pick that deserves the last slot. It auto-mounts SMB and NFS shares on Android TV, scrapes metadata cleanly, and passes through TrueHD, DTS-HD MA, and Dolby Vision to receivers that can decode them. It runs as a foreground app on Android TV and Chromecast with Google TV without a paired server anywhere.
Where it falls short: No Android phone build worth using. Custom skinning is limited. Live TV support is absent.
Pricing:
- Free: open source
- Paid: none
Platforms: Android TV, Fire TV, some Android phones
Download: Nova Video Player on Aptoide · Google Play
Bottom line: Pick this if the goal is direct play on a living-room Android TV and you have never wanted a Plex-style app in between.
How to pick the right one
- If you want the widest device support and can accept a hosted sign-in: Plex.
- If you are done depending on a vendor for your own files: Jellyfin.
- If the Plex UX fits but the cloud model does not: Emby.
- If your library predates media servers and lives on a share: Kodi.
- If your household is half iPhones, half Android: Infuse.
- If nothing else will play a specific file: VLC.
- If the TV is the only device that matters: Nova Video Player.
Stay on your current transcoding-heavy client only if your server has spare CPU headroom, you never watch remotely, and every file in your library is already H.264 with AAC. That combination is rarer than most people expect.
FAQ
What is direct play? Direct play sends the original media file from your server to your player without any re-encoding. The client decodes it locally. If the codec is not supported, most apps fall back to direct stream (remuxing the container) or transcoding (re-encoding the video or audio).
Does direct play work over the internet? Yes, but you need upload bandwidth on your server that can sustain the file’s bit rate. A 4K remux at 60 Mbps needs 60 Mbps up. Most home connections cannot direct play 4K remotely, which is why Plex and Emby cap the remote bit rate by default.
Which server has the best direct play compatibility with Android? Jellyfin has the most predictable direct play behavior because the Android client respects the server’s advertised codec profile. Plex has broader device coverage. Emby lands between the two.
Why does my app show direct play but the server is still transcoding? Audio codec mismatches trigger transcoding even when the video is direct playing. TrueHD, DTS-HD MA, and Atmos over a codec your player does not support will kick off an audio-only transcode. Check the server dashboard, not the client, to confirm.
Is Kodi still worth using in 2026? Yes for local libraries and NAS shares, no for a Plex-style multi-device setup. It shines when your files are already organized and you never wanted a media server in the middle.