Yes — a Raspberry Pi 4 Model B 8GB runs a Jellyfin media server well for one or two simultaneous direct-play streams to 4K clients. The 8GB RAM is generous headroom for metadata and thumbnails, an external SSD over USB 3.0 keeps the library fast, and Jellyfin itself is lean. Where the Pi 4 falls down is hardware transcoding — plan your library to avoid it and the Pi 4 is a genuinely good home media server.
Who wants a low-power self-hosted media box in 2026?
Self-hosting a media server has moved from "hobbyist tinkering" to "sensible response to streaming-service fatigue." Netflix, Disney+, and every other service periodically shuffles their catalog and raises prices. If you already own a personal library of movies, music, ripped Blu-rays, home videos, or a legally acquired collection of anything, a media server puts them all under one clean interface across every screen in your house — on the TV via a Fire TV or Chromecast, on your phone, on a laptop at a coffee shop, on a browser tab.
The Raspberry Pi 4 Model B 8GB is the small-quiet-cheap answer to "what runs my media server?" It draws under 15W under Jellyfin load, needs no fan for typical use, and costs less than three months of Netflix. The main constraint is transcoding: the Pi 4's VideoCore VI GPU is limited to H.264 hardware decode and cannot hardware-transcode HEVC or AV1 in a Jellyfin-usable form. Plan your library to direct-play (no transcode) and the Pi 4 is genuinely enough.
We walk through installing Jellyfin, sizing storage with a Crucial BX500 1TB SSD or Samsung 870 EVO 250GB via a Unitek SATA/IDE-to-USB 3.0 adapter, and where the Pi 4 hits a real ceiling.
Key takeaways
- The Raspberry Pi 4 8GB handles one or two direct-play streams cleanly.
- External SSD over USB 3.0 is the storage sweet spot — SD cards die under sustained writes.
- Hardware transcoding is limited to H.264; plan a direct-play library (compatible codecs on clients).
- Under-15W typical power draw makes 24/7 uptime almost free.
- Not the pick if you need multi-stream 4K HEVC transcoding for out-of-home clients.
What you'll need — checklist
- Raspberry Pi 4 Model B 8GB
- A quality USB-C power supply (5V/3A official Pi supply)
- A microSD card for the boot OS (32GB, A2 class)
- An external SSD for the media library. A Crucial BX500 1TB is the value pick; the Samsung 870 EVO 250GB is the smaller-but-quality alternative.
- A SATA-to-USB-3.0 enclosure or a Unitek SATA/IDE-to-USB 3.0 adapter for bench work
- Ethernet cable — do not use WiFi for the server if you can help it
- A case with a small heatsink or a fan for sustained load
Total budget: $150-200 for the whole box, less if you have parts on hand.
Spec-delta table: Pi 4 8GB vs alternatives
| Attribute | Pi 4 Model B 8GB | Pi 5 8GB | Mini-PC (N100) |
|---|---|---|---|
| RAM | 8 GB LPDDR4 | 8 GB LPDDR4X | 8-16 GB DDR5 |
| Storage | microSD + external SSD | microSD + NVMe HAT | Internal NVMe SSD |
| Power draw (idle/load) | 3-15 W | 4-18 W | 6-25 W |
| HW transcode (H.264) | Yes | Yes | Yes (Intel QSV) |
| HW transcode (HEVC) | No usable path | Limited | Yes (Intel QSV) |
| Cost | $75 | $80 | $150-300 |
| Idle noise | Silent | Silent (typical) | Fan-audible |
The Pi 4 8GB is the value pick when your library is mostly H.264 or when you can direct-play HEVC files without transcoding. Step up to a mini-PC when the library is HEVC-heavy and clients on your network cannot direct-play. See the Raspberry Pi 4 Model B product page for the reference internals.
How do you install Jellyfin on a Raspberry Pi 4?
Short version, using Debian-based Raspberry Pi OS (64-bit):
- Flash a 32GB microSD with Raspberry Pi OS 64-bit Lite using the Raspberry Pi Imager. Configure hostname, SSH, and WiFi (or ethernet-only) in the imager's advanced settings.
- Boot the Pi, SSH in, and update:
sudo apt update && sudo apt full-upgrade. - Install Jellyfin from the official repo. Per the Jellyfin docs:
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash— this adds the repo and installs the package in one step. - Mount your external SSD. Plug it in via USB 3.0 (the blue port). Find its device path with
lsblk. Add a permanent mount via/etc/fstab— use the UUID, not/dev/sda1, so the mount survives reboots. - Point Jellyfin at the library. Open
http://<pi-ip>:8096in a browser, run the first-boot wizard, and add the SSD mount as a library. - Set up an ffmpeg version that supports VideoCore hardware acceleration. On modern Raspberry Pi OS this is typically the default, but confirm in the Jellyfin admin panel under Playback -> Transcoding.
Total time from Pi 4 out-of-box to Jellyfin serving: 30-45 minutes.
How many simultaneous direct-play streams can the Pi 4 8GB handle?
For direct-play (no transcode) the Pi 4 8GB comfortably serves:
- 1080p H.264 — 4-5 simultaneous streams over gigabit ethernet, network-bound not CPU-bound
- 1080p HEVC — 3-4 simultaneous streams, still network-bound
- 4K H.264 — 2-3 simultaneous streams over gigabit
- 4K HEVC — 2 simultaneous streams over gigabit, occasionally 3 for small file bitrates
Direct-play means the client (Fire TV, TV app, phone) decodes the file itself. The Pi 4 is essentially serving the bytes from disk to network. The bottleneck is disk I/O and NIC saturation, not CPU.
Add transcoding to that picture and the number drops to zero for HEVC and one for H.264. This is the single most important sizing decision for a Pi 4 media server: use client-compatible codecs and direct-play, or accept that transcoding will drop you to a single stream.
Why does hardware transcoding limit the Pi, and how do you avoid it?
The Pi 4's VideoCore VI GPU supports hardware decoding for H.264 (up to 4K30) and limited hardware capabilities for HEVC. The Jellyfin server needs both decode and encode to transcode; the Pi 4 can decode acceptably but does not encode efficiently. That leaves software transcoding as your only real path when a client needs a codec the file does not have, and software transcoding at 4K is slow enough to buffer.
Avoid transcoding by:
- Standardizing on H.264 or client-compatible HEVC. Most modern TVs handle HEVC direct-play.
- Using Jellyfin apps that direct-play well. The Jellyfin Android TV, Fire TV, and iOS apps handle codec matrices better than a browser tab.
- Pre-converting your library. For a large library, spend a weekend converting to a codec/container matrix your clients handle natively.
ffmpeg -c:v libx265 -crf 23is the typical HEVC target. - Restricting remote streaming. If you access from outside the home, cap the transcoding bitrate to what the Pi can sustain, or use a mini-PC for that role.
See Phoronix for benchmark coverage of ARM-based video acceleration; the numbers do move with new Jellyfin/ffmpeg builds.
Which storage keeps the library fast and reliable?
Do not run the media library from a microSD card. SD cards die under sustained write load, and even if writes are rare, sustained reads across a large library are noticeably slower than a SATA SSD.
The recommended layout is:
- microSD (boot + OS): 32GB A2-class card. This holds Raspberry Pi OS, Jellyfin's config, and the metadata cache.
- External SSD (library): Crucial BX500 1TB for a spacious cheap option or Samsung 870 EVO 250GB for a smaller premium option, in a USB 3.0 SATA enclosure. A Unitek SATA/IDE-to-USB 3.0 adapter works for bench setup or dual-purpose use, though a proper enclosure is nicer for 24/7 deployment.
USB 3.0 gives you around 350-400 MB/s sustained on a Pi 4, which is well above what any media stream needs. Total library capacity for 1TB is roughly 300-500 movies at 1080p or 100-150 at 4K.
Measured power draw and perf-per-watt vs a mini-PC
Under a typical serving-single-stream load, the Pi 4 8GB draws 6-8W. Idle draw is 3-4W. Peak during library scans or thumbnail generation is 12-15W.
Compare to a mini-PC (Intel N100 class): idle 6W, single-stream 10-12W, transcoding 20-25W. The Pi 4 wins on idle and modest-load power by a factor of two, roughly.
Over a year of 24/7 uptime, a Pi 4 at average 5W draws 44 kWh, or about $6 at $0.14/kWh. A mini-PC at average 10W is roughly double. That is not the reason to pick the Pi 4, but it is a nice bonus.
Common pitfalls
- Running the library from the SD card. It will die.
- Using WiFi for the server. Wired ethernet is worth the cable run.
- Powering the Pi from a phone charger. Under-current from a cheap USB-C supply causes filesystem corruption. Use the official Pi 4 supply.
- Ignoring cooling. Under sustained load the Pi 4 CPU throttles at 80°C. A small heatsink or a case fan keeps you well under.
- Adding hardware transcoding into your plan. Do not size around it; you will be disappointed.
- Skipping backups of the config. The Jellyfin metadata cache and configuration are worth their weight in restored evenings.
When NOT to use a Pi 4 for Jellyfin
If your library is 4K HEVC and your clients cannot direct-play HEVC (older smart TVs, some browsers), buy a mini-PC. If you want to serve five simultaneous transcoded streams to family members outside the home, buy a mini-PC. If you want a NAS with hardware RAID and 10GbE, buy a NAS.
If you want one or two people in the house watching movies from a personal library on hardware that pays for itself in two months of skipped Netflix, the Pi 4 8GB is the right answer.
Bottom line
The Raspberry Pi 4 Model B 8GB with an external Crucial BX500 1TB SSD or Samsung 870 EVO 250GB SSD over USB 3.0 makes a genuinely good Jellyfin media server for a household of two to four regular viewers. Direct-play everything, put it on wired ethernet, and enjoy 24/7 uptime at coffee-money power draw. A Unitek SATA/IDE-to-USB 3.0 adapter is a useful bench tool for prepping the SSD and imaging backups. If your library is codec-diverse or your clients need transcoding, plan for a mini-PC instead — but for the direct-play case, this is one of the most satisfying $150 builds in the homelab.
Related guides
- CompactFlash vs SATA SSD via IDE Adapter for Retro PC Storage
- A 2007 Samsung UMPC Becomes a Wii U Gamepad
- Anthropic's 2GW AMD Deal: Should You Still Run Local?
Citations and sources
- Jellyfin documentation — official installation and hardware acceleration guides
- Raspberry Pi 4 Model B product page — reference internals and power specs
- Phoronix — Pi and ARM video acceleration benchmarks
As of 2026, Jellyfin has continued to improve ARM ffmpeg support; check the release notes before you commit to a codec migration plan.
