The short answer, as of 2026: a Raspberry Pi 4 8GB plus a 1TB SSD in a USB 3.0 enclosure plus a good power supply makes a fine household Jellyfin server for 1080p libraries. It is not the pick for a 4K transcoding server — the Pi 5 or a small x86 mini PC is better for that — but for the "kids and I want to watch our own movies from our own TVs" use case, the Pi 4 8GB is still the cheapest sensible answer in 2026.
Why Jellyfin, why the Pi 4
Jellyfin is the community-maintained, MIT-licensed home media server. It handles library scanning, metadata fetching, transcoding, subtitle management, and client streaming — everything Plex and Emby do — without the account requirements, upsells, or telemetry. The Jellyfin project publishes packaged installers for Debian, Ubuntu, Raspberry Pi OS, Docker, and Windows.
The Raspberry Pi 4 8GB, per Raspberry Pi's product page, pairs a quad-core Cortex-A72 at 1.5 GHz with 8 GB of LPDDR4 and VideoCore VI graphics. It draws under 8 W under load, runs silently on a passive heatsink case, and costs about $190 for a full kit including microSD, PSU, and case.
The combination works because Jellyfin's core scanner and streaming server are lightweight. The heavy lift is transcoding, which the Pi cannot do fast in software but can accelerate with hardware decode for supported codecs.
Key takeaways
- The Pi 4 8GB handles 2–3 simultaneous 1080p direct-play streams reliably.
- 4K real-time software transcoding is out of reach; pre-encode or step up to a Pi 5 or mini PC.
- Do not put the media library on the microSD card — use an external SSD or NAS.
- The Pi 4's VideoCore VI GPU supports hardware H.264 and HEVC decode.
- A 1TB Crucial BX500 SATA SSD in a USB 3.0 enclosure is a good starter media disk.
- Alternate SATA options like the SanDisk SSD Plus 480GB also work for smaller libraries.
- Enable hardware acceleration in Jellyfin's transcoding settings — it is disabled by default.
Step 0: what does your household actually watch?
Before you build anything, look at your usage pattern. Rough decision tree:
- Household watches 1080p or lower content, one or two devices at a time — Pi 4 8GB is the right pick.
- 4K HDR content, one or two simultaneous devices — Pi 5 or an x86 mini PC is a better pick.
- 3+ simultaneous streams with transcoding — dedicated NAS or a real HTPC.
- Only one person watches at a time and always uses the same device — a plain USB stick plugged into your TV also works.
The Pi 4 8GB fills the household 1080p case. Do not push it past that.
Parts list
Total budget: about $280 for a working setup.
- Raspberry Pi 4 8GB kit — case, PSU, microSD included, ~$190.
- 1 TB SATA SSD — Crucial BX500 or SanDisk SSD Plus, ~$80.
- USB 3.0 SATA-to-USB enclosure — the Pi's USB 3.0 ports are the fast path off the board, ~$18. The Unitek SATA/IDE to USB 3.0 Adapter works if you want to run an older IDE drive too.
- microSD card — SanDisk Ultra 32GB or larger for the OS. The Pi 4 kit usually includes one.
- Ethernet cable — do not run Jellyfin over Wi-Fi if you can avoid it.
Optional but recommended:
- Active cooling case ($15) if the Pi will run 24/7 in a warm room.
- Second SATA SSD if your library grows past 1TB.
- A UPS ($60) if your area has power hiccups.
Setup steps
Follow the official Jellyfin Raspberry Pi installation docs for the current package. The workflow as of 2026:
- Flash Raspberry Pi OS Lite (64-bit) to the microSD. Use the Raspberry Pi Imager. Enable SSH and pre-configure Wi-Fi if you need it.
- Boot the Pi and update the OS.
sudo apt update && sudo apt full-upgrade. - Install Jellyfin from the official repo. The Jellyfin docs provide the current apt source and GPG key.
sudo apt install jellyfin. - Mount your external SSD. Format as ext4, add an
/etc/fstabentry so it auto-mounts on boot. Mount at/mnt/media. - Give Jellyfin access. Add the jellyfin user to your media group, or set the mount point permissions appropriately.
- Open the Jellyfin web UI at http://
:8096. Complete the setup wizard. - Add your libraries. Point Jellyfin at
/mnt/media/moviesand/mnt/media/tv. - Enable hardware acceleration. In Dashboard → Playback → Transcoding, set Hardware acceleration to V4L2 or OpenMAX.
- Add users. Create household accounts with playback restrictions if needed.
- Install clients on your TVs and phones. Test playback from each device.
Give the library scan 30–60 minutes to complete for a typical 500-movie library. Once metadata is downloaded, streaming is instant.
What direct-play means, and why it matters
Direct-play is Jellyfin streaming a file bit-for-bit to your client without transcoding. It requires the client to support the file's container, video codec, and audio codec natively. Modern smart TVs and phones support H.264, HEVC (H.265), AAC audio, and MP4/MKV containers — most household libraries are direct-playable to modern clients.
Transcoding is the fallback when a client cannot direct-play — Jellyfin re-encodes the file on the fly. Transcoding is CPU-intensive, and the Pi 4 cannot do it fast at 4K. Two ways to avoid transcoding:
- Encode your library once to H.264 or HEVC with AAC audio in an MKV container.
- Use clients that support your library's native format.
If you never transcode, the Pi 4 8GB is comfortably overpowered.
Performance shape
Community-measured performance on a Pi 4 8GB with a USB 3.0 SSD library, gigabit Ethernet, and hardware acceleration enabled:
| Workload | Simultaneous clients | Bitrate | Result |
|---|---|---|---|
| 1080p H.264 direct-play | 3 | 12 Mbps each | Smooth |
| 1080p HEVC direct-play | 2 | 8 Mbps each | Smooth |
| 4K HEVC direct-play (10-bit) | 1 | 50 Mbps | Smooth if network handles it |
| 1080p H.264 transcode (H.264 → H.264 downscale) | 1 | 12 Mbps in, 4 Mbps out | Works, CPU 90% |
| 4K HEVC transcode → 1080p H.264 | 1 | 50 Mbps in, 5 Mbps out | Stutters — do not attempt |
| Library scan of 500 movies | Idle | N/A | 30–60 min |
The pattern: direct-play is fine at any resolution the network can handle. Transcoding stops the Pi 4 at 1080p.
Storage strategy
microSD cards are not appropriate for a media library. They are slow (60–100 MB/s at best), have limited write endurance, and cannot hold enough content. The two viable storage strategies:
External SSD in USB 3.0 enclosure. Simple, quiet, fast. Good for 1–4 TB libraries. USB 3.0 delivers 5 Gbps of bandwidth, which is dramatically more than any streaming workload needs.
Network storage (NAS or SMB share). If you already have a NAS, mount an SMB share on the Pi and point Jellyfin at it. Slightly higher latency but works great for large libraries you cannot fit on a single SSD.
For the beginner case, an SSD in an enclosure is the simplest. A 1 TB Crucial BX500 in a USB 3.0 enclosure at $95 total gets you a working setup for smaller libraries.
Networking
Wire the Pi to your router with gigabit Ethernet. The Pi 4's on-board Ethernet is a real gigabit port, not the 100 Mbps port on the Pi 3. Wi-Fi works but adds latency and unreliability for streaming, especially 4K.
Static IP the Pi in your router settings so its address does not change. Then bookmark http://
Common pitfalls
- Running the library off the microSD. microSD is slow and burns out.
- Streaming over Wi-Fi. Works most of the time, fails at the worst time.
- Not enabling hardware acceleration. Off by default — turn it on.
- Trying to transcode 4K in real time. The Pi cannot; pre-encode instead.
- Underpowered PSU. Use the official 5V/3A USB-C supply, not a random phone charger.
- Storing media over SMB with a weak Wi-Fi router. Wired Ethernet on the Pi and the NAS both.
- Forgetting nightly backups of the metadata database. Metadata is not the library, but re-scanning takes hours.
When to skip the Pi 4 and go to a Pi 5 or x86 mini PC
- Your household streams 4K HDR content with subtitles that require transcode.
- You need three or more simultaneous transcoded streams.
- Your library is over 5 TB and you want internal storage.
- You want Docker with multiple parallel apps (Jellyfin + Nextcloud + Home Assistant + AdGuard).
At that point, a Pi 5 with an NVMe HAT, or an x86 mini PC (Intel N100 or newer) with a small SATA SSD, or a real NAS is the better buy.
Encoding your library for smooth direct-play
The single biggest optimization you can make for a Pi 4 Jellyfin server is pre-encoding your library to a format that direct-plays to your household clients. The community consensus format is:
- Container: MKV or MP4.
- Video codec: H.264 High Profile Level 4.1, 8-bit color. HEVC works if all clients support it.
- Audio codec: AAC or AC-3 (Dolby Digital) stereo or 5.1.
- Subtitles: SRT external file, or PGS embedded.
- Target bitrate: 8–12 Mbps for 1080p, 25–40 Mbps for 4K.
The HandBrake tool has presets for "Fast 1080p30" and "Fast 2160p30" that produce clean direct-play files. Batch-processing a 500-movie library on a modern PC takes 2–3 days of runtime; the payoff is silent, transcode-free playback for years afterward.
If your library is already ripped from Blu-ray or purchased from a store, most files direct-play without re-encoding. The re-encode is a fallback for anime, TV shows, or older content in odd formats.
Backup strategy
The Pi's SD card can fail without warning. Two-tier backup keeps you safe:
- OS backup. Once a month,
dd if=/dev/mmcblk0 of=/mnt/media/pi-backup.img bs=4M. Restores are 30 minutes with a fresh SD card. - Metadata backup. Jellyfin stores its metadata database in
/var/lib/jellyfin. Rsync this to the external drive nightly. If Jellyfin's DB corrupts, restore is 5 minutes. - Library backup. If your library only lives on one external SSD, buy a second one and mirror weekly. Losing a 1 TB library because of a dropped enclosure is preventable.
Extending Jellyfin
Jellyfin's plugin catalog adds functionality without leaving the Pi. Popular starter plugins:
- Trakt.tv Sync — syncs watch history to trakt.tv for cross-device tracking.
- LDAP Authentication — if you run a homelab with centralized user auth.
- Fanart — pulls high-quality artwork from fanart.tv.
- OpenSubtitles — automatic subtitle download for foreign films.
- Reports — usage stats and library health checks.
Install plugins from Dashboard → Plugins → Catalog. Restart Jellyfin after each install.
Comparison to Plex and Emby
Jellyfin is not the only home media server. A brief comparison:
- Plex — closed-source, requires an account, some features gated behind Plex Pass ($5/mo). Best mobile app ecosystem, best "just works" reputation.
- Emby — closed-source, has a free tier and paid Premiere. Solid Windows and Docker options.
- Jellyfin — MIT-licensed, no account, no upsells, fully self-hosted. Slightly rougher UI than Plex but improving fast.
For a household that wants to own its infrastructure and does not want to hand its watch history to a company, Jellyfin is the answer. For a household that wants the smoothest possible experience with the least friction, Plex is arguably still better.
Bottom line
For $250–$300, a Raspberry Pi 4 8GB with a USB 3.0 external SSD is the cheapest sensible household Jellyfin server. It handles 1080p direct-play flawlessly. It handles 4K direct-play if your network delivers the bandwidth. It cannot transcode 4K in real time. That is the whole story.
If those limits fit your household, the Pi 4 8GB is a great $200 hobby project that delivers a real utility. If they do not, jump to a Pi 5 or an x86 mini PC.
Related guides
Citations and sources
- Jellyfin — Installation documentation
- Raspberry Pi — Raspberry Pi 4 Model B product page
- Jellyfin — GitHub project repository
This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.
