Skip to content
All guides

Jellyfin vs Plex vs Emby: Choosing a Media Server

Three ways to serve your own media library to your own devices, compared on licensing, transcoding, client support, and what happens if the company disappears.

A media server indexes video and audio files you already own and streams them to whatever device you're using, with artwork, metadata, resume points and remote access. It's the difference between a folder of files and something that behaves like a streaming service.

Three products dominate this space. They do broadly the same job and differ mainly in who controls them, which turns out to matter more than any feature comparison.

What a Media Server Actually Does

Worth establishing before comparing, since the value isn't obvious if you've only ever browsed a network share.

Indexing and metadata. It scans your files, identifies what each one is, and fetches descriptions, artwork, cast lists and episode ordering. A folder becomes a browsable library.

Transcoding. If a client can't play a file's codec or container, the server converts it on the fly. This is the feature that makes a media server genuinely useful rather than merely tidy, and it's also the most demanding thing it does.

State. Watched status, resume position, and per-user history, shared across every device. Stop an episode on the TV, finish it on a phone.

Remote access. Reach your library from outside the house.

Multi-user. Separate accounts with separate libraries and permissions.

Kodi does the indexing part but runs on the device rather than serving to others, which is the fundamental architectural difference.

The Three

The most polished, and the most commercial. Plex started as a fork of an older version of Kodi and became a company.

The apps are excellent and available on essentially every platform, including televisions and streaming boxes that the others struggle to reach. Setup is straightforward. Remote access works without configuring anything, because Plex relays connections through its own infrastructure when direct connection fails.

The trade-off is that Plex is a service, not just software. Your server authenticates against Plex's servers, and account management runs through them. If their authentication is down, your local library can become inaccessible, on your own hardware, on your own network. This has happened, and it's the objection people raise most.

Several features sit behind Plex Pass, a paid subscription: hardware transcoding, mobile downloads, live TV and DVR, and skip-intro. Hardware transcoding being paid is the significant one, since it's the difference between a low-power server handling several streams and choking on one.

Plex has also increasingly pushed its own free ad-supported content into the interface, which some users find intrusive on software they're using to browse their own files.

A fork of Emby from the point Emby closed its source, and the only fully open-source option of the three. GPL licensed, no paid tier, no account with anyone, no telemetry.

Everything is free, including hardware transcoding. Nothing phones home. Your server is yours, works entirely offline, and will keep working regardless of what happens to any company.

The costs are real but shrinking. Client apps are less polished than Plex's and coverage on televisions is thinner, though it's improved considerably. Remote access requires configuring port forwarding or a reverse proxy yourself, since there's no relay infrastructure to fall back on. Setup generally assumes more willingness to read documentation.

For anyone who cares about controlling their own infrastructure, this is the obvious choice, and the gap in polish has narrowed to the point where it's no longer much of a sacrifice.

Sits between the two. Originally open source, now closed with an open core, and commercially run like Plex but smaller.

Feature-wise it's competitive and the apps are decent. Hardware transcoding and mobile sync require Emby Premiere. It's less popular than either alternative, which means a smaller community, fewer third-party clients, and less documentation when something goes wrong.

The honest assessment is that Emby doesn't have a clear case against either neighbour. If you want polish and breadth of client support, Plex is ahead. If you want openness, Jellyfin is unambiguous. Emby's position is mainly historical.

Comparison

Transcoding Is the Thing to Plan For

This is where server hardware decisions get made, so it deserves specifics.

Direct play means the client can handle the file as-is. The server sends bytes and does nothing else. Almost no CPU load, and several simultaneous streams are trivial.

Direct stream means the container needs changing but the video doesn't. Cheap.

Transcoding means re-encoding the video. Expensive. A single 4K HEVC to 1080p H.264 transcode in software will occupy a modest CPU completely.

Hardware transcoding uses dedicated silicon instead. Intel Quick Sync, available on most Intel integrated graphics, is remarkably effective here and will handle several simultaneous 4K transcodes on hardware that couldn't manage one in software. It's the single most cost-effective thing you can specify in a media server.

The best strategy, though, is avoiding transcoding altogether. Store files in formats your clients play natively and the server barely works at all. A Raspberry Pi can direct-play to several devices. The same Pi cannot transcode anything.

Common causes of unexpected transcoding: unsupported subtitle formats that need burning in, audio the client can't decode, and codecs the client lacks hardware support for. Subtitles catch people out most, because burning in subtitles forces a full video transcode for what is nominally a text overlay.

What To Actually Choose

Plex if you want it to work with minimum effort, you have clients on unusual platforms, and you're comfortable depending on a company. Budget for Plex Pass; the free tier without hardware transcoding is limiting.

Jellyfin if you want to own your setup, you're willing to configure remote access, and you'd rather not have your local library depend on anyone's authentication server. This is where most self-hosting enthusiasm has moved, and the free hardware transcoding alone often justifies it.

Emby if you've already got it working and see no reason to change.

There's also no rule against running two. They index the same files without interfering, and running Jellyfin alongside an existing Plex install is a low-risk way to evaluate it. The library is the valuable part, and the library is just your files on disk.