OpenSourcePicks

Open source alternatives to popular software, with live GitHub data

GitHub stats refreshed every day

Jellyfin

Self-hosted server for movies, TV, music, books and live TV, with no paid tier

Open source alternative to

Visit JellyfinGitHubDocumentation

Main features

  • Libraries for movies, shows, music, books and photos with online metadata and artwork
  • Live TV and DVR with HDHomeRun or M3U tuners and XMLTV or Schedules Direct guides
  • On-the-fly transcoding with hardware acceleration (QSV, NVENC, AMF, VA-API, VideoToolbox, RKMPP)
  • SyncPlay for watching together from different places
  • Per-user permissions for transcoding, remote access and deletion
  • Quick Connect sign-in with a six-character code
  • Official clients for web, Android, iOS, Android TV, Fire TV, Roku, webOS, Tizen and Xbox
  • Plugin catalog including LDAP, OpenSubtitles, Trakt and TVHeadend
  • DLNA through an official plugin
  • Built-in backup and restore (from 10.11)

What Jellyfin does

Jellyfin is a media server that scans folders of movies, TV shows, music, books and photos, matches them with metadata and artwork from online providers, and streams them to apps on almost any screen. It began in December 2018 as a fork of Emby 3.5.2, after Emby’s later versions moved to closed source, and it remains a volunteer project with no paid tier: every feature is in the free server.

Besides on-demand libraries, Jellyfin handles live TV. With an HDHomeRun or M3U tuner and guide data from XMLTV or Schedules Direct, it shows a program guide and can record to DVR. SyncPlay lets several people watch the same thing in sync from different places, and Quick Connect signs in a TV app by typing a six-character code instead of a password.

Clients and playback

The project maintains official apps for web, Android, iOS, Android TV and Fire TV, Roku, webOS, Tizen and Xbox, plus a desktop player and two Kodi add-ons. When a device cannot play a file directly, the server transcodes it with its own FFmpeg build. Hardware acceleration is supported for Intel QSV, NVIDIA NVENC, AMD AMF, VA-API, Apple VideoToolbox and Rockchip RKMPP.

Administrators set permissions per user, including whether a user may trigger transcoding, connect from outside the network or delete media. Extra features come from a plugin catalog, such as LDAP sign-in, OpenSubtitles, Trakt sync, TVHeadend and NextPVR for TV, and playback reporting. DLNA was moved out of the base install into an official plugin in version 10.9.

Self-hosting Jellyfin

Jellyfin runs on Windows, macOS, Debian and Ubuntu packages, generic Linux, and in Docker, Podman or Kubernetes. Synology and TrueNAS SCALE apps exist but are maintained by third parties. FreeBSD, and so TrueNAS CORE, is not supported.

Video transcoding drives the hardware needs. The documentation suggests 8 GB of RAM (4 GB can do on a headless Linux server), an SSD of about 100 GB for the system, Jellyfin data and transcode cache, wired gigabit networking and at least 20 Mbps of upload bandwidth for remote viewers. It strongly recommends a GPU or integrated GPU for hardware transcoding and advises against servers without one; most single-board computers, the Raspberry Pi included, are described as too slow. From 10.11, x86 processors need SSE4.1.

Metadata lives in a SQLite database. Version 10.11 added built-in backup and restore, which matters because upgrades migrate the database and there is no downgrade path.

Hosted version

There is none. The project says it does not run servers for users and has no relay service, so remote access is set up by the administrator: port forwarding, a reverse proxy (the docs recommend terminating HTTPS there), a VPN or a VPS.

Limitations

Remote access, TLS and security exposure are your responsibility, which is more work than a service with a vendor-run relay. Transcoding several 4K streams needs real hardware. Releases have no fixed schedule, and rolling back after an upgrade means restoring a backup. Client quality varies between platforms because each app is a separate volunteer project.

Who it suits

Jellyfin suits households that want one server for films, series, music and live TV, with apps on their TVs, and that prefer no account with a third party and no subscription. It is the closest open source match to Plex. For music only, a lighter server such as Navidrome uses far fewer resources, and audiobooks are better served by Audiobookshelf. See the media server guide for the other options.

License details

GPL-2.0. Clients and plugins live in separate repositories with their own licenses. The project states there are no premium licenses or paid features.

Technical details

Self-hosting needs

  • FFmpeg (jellyfin-ffmpeg)

Built with

  • C#
  • .NET

GitHub topics

  • csharp
  • dotnet
  • hacktoberfest
  • jellyfin

Reviewed by the OpenSourcePicks editors from the project's repository and documentation. Something out of date? Tell us.