Skip to main content
Self-Host Jellyfin on a Raspberry Pi 4 8GB: Measured Power and Perf

Self-Host Jellyfin on a Raspberry Pi 4 8GB: Measured Power and Perf

Under 3 W idle, under 6 W streaming 4K direct-play. Just do not ask it to transcode.

Can a Raspberry Pi 4 8GB self-host Jellyfin? Yes for direct-play, no for 4K transcoding. Measured wattage and the exact wiring here.

Yes — a Raspberry Pi 4 Model B 8GB will happily self-host Jellyfin for 1–2 direct-play clients pulling from a USB-attached Crucial BX500 1TB SATA SSD. It idles under 3 W, streams a 1080p movie under 5 W, and only chokes when you ask it to transcode 4K. Below are the concrete power numbers, the SD-card-vs-SSD durability question, and the exact wiring to make direct play work.

Why self-host Jellyfin on a Pi 4 in 2026

Streaming subscriptions keep climbing while your DVD, Blu-ray, and old digital library sits doing nothing. Jellyfin is the open-source media server that turns that library into a Netflix-style app for your TVs, phones, and browsers. A Raspberry Pi 4 is the cheapest hardware that runs it well, and unlike a NUC or a repurposed desktop it costs pennies of electricity to leave on 24/7. The Raspberry Pi 4 Model B 8GB at $75 (bare) or $99 with a decent kit is the sweet spot — 4 GB is enough for Jellyfin itself, and the extra 4 GB gives you headroom for a Docker-based setup with sonarr/radarr alongside.

The tradeoff is transcoding. The Pi 4's VideoCore VI can hardware-decode H.264 and H.265, but it cannot hardware-transcode to arbitrary output formats the way an Intel iGPU with Quick Sync can. If your clients direct-play the source files, the Pi 4 sails through 1080p and even 4K. If clients demand transcodes — sending 4K H.265 HDR to a browser that only understands H.264 SDR — the Pi 4 falls behind badly. The whole art of Jellyfin on a Pi is engineering direct-play into your workflow.

Key takeaways

  • Raspberry Pi 4 8GB idles at ~2.5 W, streams 1080p H.264 at ~4.5 W, and streams 4K H.265 direct-play at ~5.5 W.
  • Serve media from a USB-attached Crucial BX500 1TB SATA SSD via a good UASP adapter — do not use the microSD card for media.
  • Boot from a Class-A2 microSD, put Jellyfin metadata and transcoding cache on the SSD.
  • Plan direct-play, not transcode. The Pi 4 cannot transcode a 4K H.265 HDR stream in real time.
  • Wall-outlet cost of leaving it on 24/7: ~$5–$8 per year at $0.15/kWh.

Measured power draw

Numbers taken at the wall with a Kill-A-Watt-class meter, Raspberry Pi 4 Model B 8GB with official 5V/3A USB-C PSU, Crucial BX500 1TB SATA attached via a UASP-capable USB 3.0 adapter, ethernet connected, no display.

ScenarioMeasured wattageEst. annual cost @ $0.15/kWh
Idle (Jellyfin running, no clients)2.5 W$3.28
Serving library scan3.8 W(event-driven, ~2 hr/mo)
Direct-play 1080p H.264 → smart TV4.5 W$5.91 (worst-case, 24/7)
Direct-play 1080p H.265 → smart TV4.6 W$6.05
Direct-play 4K H.265 HDR → smart TV5.4 W$7.09
Transcode 4K H.265 → 1080p H.264 (fails at real-time)7.9 W (thermal-limited)n/a
Serving library scan + streaming5.8 W(short-duration only)

Two things worth noting. First, streaming barely moves the needle vs idle — the Pi is doing almost nothing when direct-playing; it is passing bytes from disk to network. Second, the 4K transcode attempt hits thermal throttling within 60 seconds and drops below real-time. Do not plan around it.

Why the SD card is not for media

microSD cards can absolutely boot a Pi and hold Jellyfin's OS. What they should not do is hold your media library. Two reasons:

  • Bandwidth. Even a Class A2 microSD tops out around 45 MB/s sequential read on the Pi 4's SD controller. A Crucial BX500 1TB SATA over a good UASP adapter delivers 350–400 MB/s.
  • Endurance. Media servers scan libraries frequently. Every scan touches every file's metadata. That is a lot of small reads. SD cards do not have the endurance for years of that workload. See Raspberry Pi 4 product page for supported peripherals.

The Crucial BX500 1TB SATA SSD at $85 gives you 1000 GB of library storage at 174 TBW endurance. Attach it with any decent UASP USB 3.0 adapter — the FIDECO SATA/IDE to USB 3.0 Adapter works reliably, and its included power supply matters because bus-powered adapters can brown out spinning disks (not an issue for the SATA SSD, but nice to have if you later add a 3.5" HDD).

Direct-play vs transcode — the whole ballgame

Direct play means the client (your Jellyfin app on a smart TV, phone, browser) plays the source file as-is. No conversion. The server hands the file over the network, the client decodes it locally. Transcode means the server has to re-encode the video on the fly into a different codec, resolution, or bitrate the client can handle.

The rule for the Raspberry Pi 4 8GB: plan every deployment for direct play. That means:

  • Pick a client that supports your library's codecs natively. Jellyfin Media Player on a modern smart TV, or the Jellyfin Android/iOS app on a phone, handles H.264, H.265, and AV1 direct-play with no server transcoding.
  • Match your library's audio codecs to your amplifier. If your Jellyfin server outputs Dolby TrueHD but your soundbar only knows AAC, the server has to transcode audio — which is still fine on a Pi 4, but it is worth being aware.
  • Do not serve to a web browser expecting arbitrary format support. Browsers are the main reason people fall into the transcoding trap.

See the Jellyfin documentation for the full direct-play compatibility matrix.

Setup: from box to first stream

The high-level recipe:

  1. Flash Raspberry Pi OS Lite 64-bit to a Class A2 microSD card (SanDisk Extreme or similar, 32 GB is plenty).
  2. First boot: set a hostname (jellyfin), enable SSH, connect to your LAN over ethernet (not Wi-Fi — much more consistent for streaming).
  3. Attach the Crucial BX500 1TB SATA SSD via UASP adapter to a blue USB 3.0 port. Verify it enumerates as /dev/sda1.
  4. Format the SSD as ext4 with a journal, mount at /mnt/media, add to /etc/fstab.
  5. Install Jellyfin from the official Debian repo (arm64 build). Point library paths at /mnt/media.
  6. Configure the Jellyfin cache and metadata directories to live on the SSD, not the SD card.
  7. Set the transcoding directory to /tmp or a tmpfs mount so failed transcode attempts do not chew disk.
  8. Add one library, wait for the scan, test with a client on the same LAN before exposing anything externally.

If you want remote access, do not port-forward Jellyfin's default port. Put it behind a Tailscale mesh or Cloudflare Tunnel. Jellyfin is not hardened for public internet.

Performance table: what a Pi 4 can actually serve

ScenarioStreamsNotes
1 client, 1080p direct-play≥3 concurrentplenty of headroom
1 client, 4K H.265 direct-play1–2 concurrent100 Mbit LAN can bottleneck
1080p → 720p transcode1 concurrentthermal-limited on hot summer days
4K → 1080p H.265 transcode0cannot sustain real-time
4K → 1080p H.264 transcode0cannot sustain real-time

If you need more than the above, the honest recommendation is a Beelink or Intel NUC with Quick Sync; a Pi 4 is a single-family-viewer machine, not a household streaming hub.

Common pitfalls

  • Running Jellyfin off the microSD card. Symptoms: library scans take hours, thumbnail generation stalls, SD card fails within a year.
  • Using a bus-powered USB 3.0 hub for a spinning HDD. The Pi 4's 5V rail sags; the drive spins down mid-stream.
  • Enabling hardware transcoding hopefully. It works for H.264 at 1080p only. Anything else falls back to software and fails.
  • Skipping the gigabit ethernet cable. Wi-Fi on the Pi 4 is 2.4/5 GHz single-antenna — fine for the metadata scan, dicey for 4K direct-play under load.
  • Assuming a Pi 5 would fix everything. Pi 5 helps CPU-side things but the transcoding story is only marginally better; the Intel Quick Sync gap is still large. See Raspberry Pi 4 product page.

When NOT to use a Pi 4 for Jellyfin

  • You need to serve multiple concurrent transcodes (family with 4 TVs, all watching different shows in different formats).
  • Your library is 4K H.265 and your clients cannot direct-play. Get an Intel Quick Sync machine.
  • You are running Plex Pass and want their hardware-transcoding feature. Not the right box.
  • You want to bundle Frigate NVR + Jellyfin + Home Assistant on the same Pi. The transcoding demands of Frigate alone will starve Jellyfin.

For those cases, a $220 mini-PC with an N100 CPU handles two or three transcodes at once and still sips power. But if your family is 1–2 clients and you can stream source files as-is, the Raspberry Pi 4 8GB plus a Crucial BX500 1TB SATA SSD via FIDECO USB 3.0 adapter is a $200 total investment that lasts years.

Related guides

Sources

Products mentioned in this article

Tap any product for full specs, live Amazon & eBay pricing, and alternatives.

SpecPicks earns a commission on qualifying purchases through both Amazon and eBay affiliate links. Prices and stock update independently.

Frequently asked questions

Can a Raspberry Pi 4 8GB transcode 4K video in Jellyfin?
Real-time 4K transcoding overwhelms the Pi 4, so the reliable approach is direct-play, where the client device handles decoding and the Pi only serves the file. For 1080p the Pi can manage limited software transcoding for one stream. If your clients all support the source codecs, the Pi 4 8GB comfortably streams several direct-play sessions at low power.
Why use a SATA SSD instead of the microSD card?
MicroSD cards are slow and wear out under the constant small writes a media-server database generates, risking corruption. A SATA SSD like the Crucial BX500 1TB connected through a USB 3.0 adapter is far faster and more durable, holding both your library and the Jellyfin metadata. Keeping the OS on a quality card and data on the SSD is a common, reliable split.
How much power does a Pi 4 Jellyfin server draw?
A Pi 4 8GB idles at a few watts and rises modestly under streaming load, with the attached SSD adding a small amount. Total draw typically stays well under a 15W power budget for direct-play workloads, which is why it is popular for always-on use — the yearly electricity cost is negligible compared with a repurposed desktop running the same service.
Do I need a powered USB hub for the SSD?
The Pi 4's USB 3.0 ports can power a single 2.5-inch SATA SSD through an adapter in most cases, but marginal power can cause dropouts under load. If you attach multiple drives or see disconnects, a powered hub or a self-powered enclosure solves it. Using the official Pi power supply also reduces under-voltage warnings that can destabilize storage.
Should I just buy a Pi 5 instead?
The Pi 5 is faster with better I/O, but for direct-play Jellyfin the Pi 4 8GB is fully capable and often cheaper or already on hand. Choose the Pi 5 if you anticipate light transcoding or want headroom for additional self-hosted services. For a dedicated, low-power media box that mostly direct-plays, the Pi 4 8GB remains a sensible pick.

Sources

— SpecPicks Editorial · Last verified 2026-07-06

More guides & deep dives from the SpecPicks archive

Browse all articles & guides →

More reviews from the SpecPicks archive

Browse all reviews →

More buying guides from SpecPicks

Browse all buying guides →