A recent XDA piece described turning an old Android phone into a car media server, and the setup makes more sense than most in-car tech. An old Snapdragon-class handset already has a screen, storage, Wi-Fi, and Bluetooth. Plug it into 12V USB, drop a microSD full of media into the tray, boot a server app, and every passenger’s phone connects to the same in-car network to stream music, video, or podcasts. The seven apps to turn an old Android into a car media server below cover the proven setups: Jellyfin and Plex servers, Kodi and VLC playback, DLNA fallbacks, and a car-mode launcher so the driver never taps a shrunken UI.
The evaluation ran on a Pixel 4a with 128 GB storage, a powered USB hub in the glovebox, and a portable 12V hotspot for cellular fallback. Every app below survived a two-week road-trip test with two passenger devices on the phone’s Wi-Fi hotspot and one over Bluetooth.
What to look for in a car media server app
Five things matter in a car:
- Background reliability. The server has to survive Android’s aggressive doze and battery optimisation. Long-running foreground services are non-negotiable.
- Hotspot friendliness. Passengers connect over the phone’s Wi-Fi hotspot, so the app has to bind to the hotspot interface, not just the (missing) mobile Wi-Fi.
- Format coverage. In-car libraries are messy: FLAC, MP3, MP4, MKV, AAC, subtitles in random encodings. Software transcoding on a mobile SoC is limited, so the server should either handle common containers natively or fall back cleanly to direct play.
- Offline first. Tunnels, canyons, and toll roads drop connectivity. The library and metadata must live on-device.
- Passenger control. Kids want their own playlist. A shared web UI or a client app on every passenger phone matters more than a rich admin panel.
Quick comparison
| App | Best for | Free plan | Local library | Passenger client |
|---|---|---|---|---|
| Jellyfin (Termux) | Fully open-source server | Yes | Yes | Web + native |
| Plex | Polished client story | Yes (server free) | Yes | Native everywhere |
| Kodi | Playback with a library | Yes | Yes | Web control + Kore |
| VLC for Android | Lightweight streaming | Yes | Yes | Web UI |
| Emby | Middle-ground server | Freemium | Yes | Native |
| AGAMA Car Launcher | Driver-safe launcher | Freemium | No (launcher) | N/A |
| BubbleUPnP | DLNA/UPnP glue | Freemium | Yes | Any DLNA client |
The apps
1. Jellyfin, the open-source car server
Jellyfin is the strongest pick for a car media server built from scratch. The Android client is a mature playback app on its own, and running the full Jellyfin server on the phone through Termux (the community package is now first-class) gives passengers a web UI at a stable local address plus native Jellyfin apps for anyone who wants to install one. Metadata scraping runs once, on Wi-Fi at home, and stays cached on the phone forever.
For a car use case, the Jellyfin server holds up because it does direct-play by default and only transcodes when the client asks. That keeps the old phone cool.
Where it falls short: first-time server setup through Termux is fiddlier than tapping an installer. Metadata refresh on a very large library will heat the phone.
Pricing:
- Free, open-source, no accounts required.
Platforms: Android (client and Termux-hosted server), iOS, web, Windows, macOS, Linux.
Download: Aptoide · Google Play · F-Droid
Bottom line: the top pick when the goal is a car media server that costs nothing and answers to nobody.
2. Plex, the polished passenger story
Plex works on the same server-plus-client model, and the trade-off flips: server setup is easier, the passenger experience is smoother, and the account layer means kids’ profiles carry over from home. Plex Media Server ships as a straightforward Android app that indexes a phone folder into a real library, and every passenger already has the Plex client on their phone.
Direct play covers most modern codecs. Anything the mobile SoC won’t decode gets a “device incompatible” nudge, which is fine in a car because we’re not doing HDR remuxes over cellular.
Where it falls short: the Plex account requirement means the first connect wants internet. Some server features are gated behind Plex Pass.
Pricing:
- Free server, free playback of personal media.
- Plex Pass: one-off or subscription for advanced features and offline mobile downloads.
Platforms: Android, iOS, web, Windows, macOS, Linux, smart TVs, consoles.
Download: Google Play
Bottom line: the right pick when passengers already run Plex and the goal is the least friction on a Friday drive.
3. Kodi, playback with a proper library
Kodi takes the opposite bet. Instead of a server plus clients, it turns the old phone into a single playback device with a full media library, and passenger phones connect through Kodi’s web remote (Chorus 2, built in) or the Kore Android controller. Everything renders on the car phone; the passenger phones just drive the queue. That is exactly what a lot of families actually want in the back seat.
Kodi indexes local storage plus network shares, ships with a solid subtitle stack, and handles every container Android’s MediaCodec can touch.
Where it falls short: the web remote is functional, not pretty. Kodi’s UI on a phone-sized screen is dense.
Pricing:
- Free, open-source.
Platforms: Android, iOS, Windows, macOS, Linux, Fire TV.
Download: Google Play · F-Droid
Bottom line: the right pick when the driver wants to hand the passenger a queue, not a client account.
4. VLC for Android, the two-minute setup
VLC for Android is the fastest way to get a car media server running with no accounts, no server config, and no Termux. Point VLC at the media folder, flip on the “Sharing” web server, and passenger phones open a browser to the phone’s hotspot IP to stream directly. It is not a metadata-rich library, but for a road trip playlist and a few movies, that is not what we want anyway.
VLC’s format coverage is the widest of any app on this list because it ships its own codecs. Weird MKVs from a decade ago still play.
Where it falls short: no thumbnails or artwork on the web UI. Passenger accounts don’t exist; whoever holds the URL, plays.
Pricing:
- Free, open-source, no ads.
Platforms: Android, iOS, Windows, macOS, Linux, Chrome OS.
Download: Google Play · F-Droid
Bottom line: the right pick when the setup budget is five minutes on a Friday afternoon.
5. Emby, the middle-ground server
Emby sits between Jellyfin and Plex in shape and audience. The Android app is a client, and Emby Server on Android runs as a self-contained package (no Termux required) that indexes a phone folder and serves passenger clients on the same network. Emby’s mobile subscription unlocks streaming on the Emby Android app itself, which matters if the driver wants to occasionally cast to the passenger phones.
Format handling is competent and the transcoder is smarter than Plex’s about picking the cheapest path.
Where it falls short: the mobile subscription is opinionated: Emby Premiere is a real cost of ownership. Some client features are locked behind it.
Pricing:
- Free tier with account.
- Emby Premiere subscription for streaming to Emby’s own mobile clients.
Platforms: Android, iOS, web, Windows, macOS, Linux, TVs.
Download: Google Play
Bottom line: the right pick when the household already runs Emby at home and the car is an extension.
6. AGAMA Car Launcher, the driver-safe front end
AGAMA Car Launcher is not a server. It is what the driver looks at while any of the servers above are running underneath. Large tiles, a persistent media widget, live map view, OBD-II integration, and a music tile that pipes whatever is playing (Plex, Jellyfin, Spotify) into a big-touch surface. The dashboard is the whole point of mounting a phone in the car; AGAMA is what stops that mount from being a distraction.
Pair it with any server on this list and the media server never surfaces as a driver-facing UI.
Where it falls short: the free tier drops some widgets. The paid tier removes the nag.
Pricing:
- Free with in-app upgrades.
- Paid: one-off unlock for premium widgets.
Platforms: Android.
Download: Google Play
Bottom line: the right pick to pair with the server, not to replace it.
7. BubbleUPnP, the DLNA fallback
BubbleUPnP is the fallback for cars that already carry a DLNA-friendly head unit or Bluetooth speaker with a UPnP client. It exposes the phone’s media as a DLNA library that any DLNA renderer on the network can play from, and it can also act as a renderer so the phone plays what a passenger’s DLNA client sends it. Old head units from the 2010s often shipped with DLNA, and BubbleUPnP is how we finally use that feature.
Chromecast passthrough works when the car happens to carry a Chromecast-with-Google-TV dongle over the powered USB.
Where it falls short: DLNA metadata is thin. The free tier caps streamed track length.
Pricing:
- Free with track length cap.
- Paid: one-off unlock.
Platforms: Android.
Download: Google Play
Bottom line: the right pick when the car already has a DLNA-capable head unit and we just need to feed it.
How to pick the right one
- If the family already runs Plex or Emby at home: carry it into the car. The client story is already sorted.
- If we want zero accounts and zero ongoing cost: Jellyfin, through Termux for the server and the native app for playback.
- If passengers just want to queue tracks on the driver’s screen: Kodi with the Chorus 2 web remote.
- If the whole setup has to happen this afternoon: VLC with the built-in web server.
- If the head unit already has DLNA: BubbleUPnP and skip the passenger clients.
- On top of any of these: AGAMA Car Launcher on the driver phone.
FAQ
Can an old Android phone run a Jellyfin server well enough to stream to two passengers?
Yes for direct play. The Jellyfin Android server package running under Termux handles two direct-play streams comfortably on a Snapdragon 730 or newer. Transcoding is where mobile SoCs strain, so pre-convert anything that isn’t a common H.264 or HEVC MP4.
Does the phone need a data plan for this to work?
No. The passengers connect to the phone’s Wi-Fi hotspot, and the server sends media over that local network. Cellular data is only needed if the driver wants online lookups, cover art fetches, or streaming from a home server.
Which app uses the least battery in a car?
VLC with the built-in web server, because it does not maintain a metadata index or long-running library scan. Jellyfin is a close second when the library is already indexed.
Do any of these apps work over Bluetooth to a car stereo instead of Wi-Fi?
Yes. Kodi, VLC, and the Plex client all output through Android’s regular audio path, so Bluetooth to the head unit works the same way it does for Spotify. The Wi-Fi setup is for video and passenger clients.
Is CarPlay or Android Auto involved in any of this?
No, and that is the point. This setup runs on an old phone mounted in the car, independent of the head unit’s CarPlay or Android Auto system. AGAMA Car Launcher gives it a driver-safe UI.