Skip to main content
Self-Hosted Jellyfin on a Raspberry Pi 4 8GB: What 1080p Transcoding Really Costs

Self-Hosted Jellyfin on a Raspberry Pi 4 8GB: What 1080p Transcoding Really Costs

Direct-play is fine — software transcoding isn't. How to build the right Pi 4 8GB media-server library.

Can a Raspberry Pi 4 8GB run Jellyfin for 1080p streaming? Direct-play yes, transcoding no — and an SSD over USB beats an SD card every time. Full build guide.

Yes, a Raspberry Pi 4 8GB can run Jellyfin for 1080p streaming — but only if you avoid live transcoding. Direct-play of compatible 1080p H.264 / H.265 files to a Jellyfin client (smart TV, Roku, Apple TV, phone) works fine because the Pi just serves bytes. Real-time software transcoding will collapse to 1 or 0 simultaneous streams; the BCM2711 lacks the dedicated encoders that make transcoding cheap on x86. Pair the Pi with a Crucial BX500 SSD over USB 3.0 for library storage — never run a 24/7 server off an SD card.

What you'll need: BOM checklist

The build sits around $200–$280 total, depending on case and PSU choices. Cheaper than any mini-PC, x86 NAS, or pre-built Plex box.

The low-power self-hosted media server use case

The Pi 4 Jellyfin build sits in a specific niche: low-power, always-on, single-user-or-small-household media serving where the library is curated for direct-play compatibility. That's not a limitation; it's the design. A Pi 4 8GB pulls 3–6 watts at idle and 8–10 watts under load. A typical x86 mini-PC media server (Intel NUC class) draws 15–35 watts. Over a year of always-on operation, the Pi saves $20–$50 in electricity. Over five years, the Pi's TCO is meaningfully lower than any x86 alternative for the right workload.

Why someone picks Jellyfin specifically over Plex: it's free, open-source, fully self-hosted with no Plex.tv account dependency, no per-feature paywalls, and no telemetry. The community has matured the project past Plex parity for most use cases. Jellyfin 10.9+ ships with a mature web client, mobile apps for iOS/Android, and broad client support on Roku, Apple TV, Fire TV, Chromecast, and major smart-TV platforms.

The Pi 4 8GB is the right hardware for this build when:

  • You have one to three people in the household and they mostly watch on smart TVs (which direct-play modern codecs)
  • Your library is under ~5TB (1TB BX500 or larger USB drive is plenty)
  • You're OK reformatting some files to direct-play-compatible codecs once, rather than transcoding on the fly forever
  • You want a homelab service that runs silently and uses negligible power

It's the wrong hardware when:

  • You need to transcode for multiple clients simultaneously (smart TVs from 2014, older Rokus, etc.)
  • Your library is 20TB+ and you need real RAID or ZFS
  • You also want to run heavy services (Plex-class transcoding, Nextcloud with thumbnails, Frigate NVR) on the same box

For the wrong-hardware case, step up to a mini-PC with a 12th-gen Intel iGPU (Beelink S12 Pro, ASUS PN64) — Quick Sync handles transcoding cheaply.

Per Jellyfin's hardware selection guide, the project's official position is that low-power ARM boards like the Pi 4 are fine for direct-play-only deployments and limited for transcoding. That matches what builders see in practice.

Key takeaways

  • Pi 4 8GB handles direct-play of compatible 1080p effortlessly. Several concurrent direct-play streams are realistic.
  • Real-time software transcoding tops out around 1 concurrent stream and often drops frames. Plan around it, not through it.
  • Use a BX500 SSD over USB 3.0 for library + database storage. Never use an SD card for 24/7 server I/O.
  • The 8GB RAM matters when you stack other services (download client, reverse proxy, Sonarr/Radarr) on the same box.
  • Power draw is 3–10 watts. Lower TCO than any x86 alternative for the same workload.
  • Standardize your library on direct-play formats (H.264/H.265 + AAC) and the Pi 4 punches above its weight.

Pi 4 8GB spec vs media-server demands

SpecPi 4 8GBMedia server bottleneck?
CPUBCM2711, 4× Cortex-A72 @ 1.8 GHzYes for transcoding; no for direct-play
GPUVideoCore VILimited transcoding capability (no x264 HW encode)
RAM8 GB LPDDR4More than enough for Jellyfin alone
USB2× USB 3.0 + 2× USB 2.0USB 3.0 SSD enclosure runs at ~300–400 MB/s sustained
NetworkGigabit EthernetTrue gigabit; not the rumored half-rate
WiFi2.4/5GHz Wi-Fi 5Use Ethernet for streaming
StoragemicroSD primaryAlways boot from SD, run data from USB SSD

The CPU and GPU are the limiting specs. For direct-play, the bottleneck is the network and storage — both of which the Pi 4 handles well. For transcoding, the BCM2711's hardware encoders are limited to H.264 decode and don't accelerate the modern HEVC encode path Jellyfin needs.

Direct-play vs transcoding: what really fails over

Per Phoronix's Pi 4 8GB review and community-shared Jellyfin benchmarks, here's what the Pi 4 8GB can actually handle.

WorkloadCPU loadConcurrent streamsVerdict
1080p H.264 direct-play to compatible client5–15%3–4 reliable, 5–6 marginalEasy
1080p H.265 (HEVC) direct-play to compatible client5–15%3–4 reliableEasy
4K H.265 direct-play to compatible client10–20%2–3 reliableWorks but tight on bandwidth
1080p H.264 → H.264 software transcode (re-encode)90–100%1 (often dropping frames)Marginal
1080p H.265 → H.264 software transcode100% pegged0 reliablyDon't try
4K H.265 → 1080p H.264 software transcodePegged0Don't try
Audio-only transcode (FLAC → MP3)10–20%ManyEasy

The pattern: anything that just moves bytes off the storage to the network is fine. Anything that requires the CPU to re-encode video is not. The Pi 4 doesn't have x264 hardware encode, so all video transcoding falls back to software (the slow path).

The practical implication is to design the library and the clients to never need transcoding. Two strategies:

  1. Standardize the library on direct-play-friendly formats. H.264 main/high profile, AAC audio, MP4 or MKV container. Pre-convert anything that isn't using HandBrake or ffmpeg once. The library on disk gets slightly larger; the server never has to transcode again.
  2. Choose clients that support modern codecs natively. Roku Ultra, Apple TV 4K, Fire TV Stick 4K Max, recent Samsung/LG smart TVs all direct-play H.265 + AAC + MKV natively. iPhones direct-play H.264 + AAC. Avoid old Rokus (pre-2018) and budget TVs from 2017 or earlier — those force the server to transcode.

Storage choice: SSD over USB vs SD card

Running a 24/7 Jellyfin server off an SD card is the single most common mistake new builders make. SD cards are designed for camera I/O — large sequential writes, occasional reads. A media server is the opposite: small random writes from the Jellyfin metadata database, occasional library scans, constant small reads. SD cards wear out fast under that pattern and corrupt unpredictably.

The right setup:

  • microSD card for boot. 32GB Samsung EVO Select or SanDisk Extreme. Boots the OS, runs systemd. After first boot, mount the SSD and move the Jellyfin data/metadata directory.
  • USB 3.0 SSD for library + metadata. A Crucial BX500 1TB or SanDisk SSD Plus 480GB in a USB 3.0 to SATA enclosure with UASP support delivers ~300–400 MB/s sustained read — far more than any media server needs.
  • Optional: large spinning disk for cold library. If your library outgrows 1TB, a 4TB or 8TB external HDD ($90–$160) plugged into the second USB 3.0 port handles the bulk while the SSD holds frequently-watched content + metadata.

Per the Pi 4 product page, the dual USB 3.0 ports each deliver true USB 3.0 speeds. This is one of the underrated reasons the Pi 4 outperforms older Pi generations for media serving.

Simultaneous streams: realistic and pessimistic

For a direct-play-only library, a Pi 4 8GB on gigabit Ethernet realistically handles:

  • 3–4 simultaneous 1080p H.264/H.265 streams to compatible clients
  • 2–3 simultaneous 4K streams (constrained by network bandwidth, not the Pi)
  • 5+ audio-only streams trivially

If any of those streams require transcoding, drop the number to 1 (and often 0). The strategy is to be intentional: build for direct-play, configure Jellyfin's transcoding settings to refuse the transcode rather than start one and fall over, and let clients fail gracefully so the user knows to fix codec compatibility instead of blaming the server.

Power draw and perf-per-watt vs a mini-PC

SetupIdle powerStreaming loadAnnual electricity cost (at $0.15/kWh)
Pi 4 8GB + USB SSD3.5 W8–10 W$7–$11
Intel NUC 13 i3 + 2.5" SSD8 W25–35 W$25–$40
Old x86 desktop repurposed30–60 W idle60–100 W$80–$140
Synology DS220+ NAS12 W idle18 W streaming$18–$24

Over five years, the Pi saves $50–$650 vs the x86 alternatives. Not life-changing money, but real — and on the right side of the carbon footprint argument too.

The trade-off: the mini-PC can transcode three concurrent streams without thinking. The Pi can transcode zero. Pick the hardware that matches the workload you actually run.

Common pitfalls

  • SD card for everything. Library on SD = corruption within months. Always use USB SSD for data.
  • Under-spec'd PSU. Pi 4 needs 5V/3A USB-C. Generic 5V/2A bricks under-volt and cause random reboots. Use the official PSU.
  • WiFi for streaming. Even Wi-Fi 5 introduces enough jitter to cause buffering. Use wired gigabit Ethernet.
  • Trying to transcode anyway. Configuring Jellyfin to "always allow transcoding" then watching one client fail is the most common new-builder loop. Configure transcoding to "match client" only, and fix the source library or upgrade the client instead.
  • Forgetting active cooling. The Pi 4 throttles after ~3 minutes of sustained 100% CPU. A library scan is enough to trigger it. Use a case with a fan or a passive heatsink (Argon ONE, FLIRC).
  • No backup strategy. The metadata database is precious. Schedule weekly rsync to a second drive or a cloud backup.

When NOT to build this

Skip the Pi 4 8GB Jellyfin build if any of these apply:

  • You have multiple clients that require transcoding (old TVs, generic Roku, mixed-codec library)
  • Your library exceeds 5TB and you want a real NAS / RAID setup
  • You also want Plex, Nextcloud, Photoprism, and Frigate on the same box
  • You're not comfortable with command-line Linux configuration

For any of those, a mini-PC with 12th-gen+ Intel Quick Sync is the right answer.

Bottom line: who the Pi 4 Jellyfin build is right for

The Pi 4 8GB Jellyfin build is the right answer for the careful, low-power, single-or-small-household builder who's willing to optimize their library for direct-play and accept that the Pi never transcodes. It's a $200 always-on media server that draws ~5 watts, sounds like nothing, and serves a curated library to smart TVs and modern Rokus all day every day. Pair it with a Crucial BX500 or SanDisk SSD Plus over USB 3.0, hard-wire it to the network, and forget it exists.

The build that wins this niche is not the one with the most performance — it's the one with the lowest power draw and silent operation. The Pi 4 8GB owns that.

Related guides

Citations and sources

This piece is editorial synthesis based on publicly available information. No independent first-party benchmarking is reported.

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 transcode 1080p video for Jellyfin?
The Pi 4 handles direct-play of compatible 1080p files easily, since that just passes the stream without re-encoding. Real-time software transcoding is where it struggles: the CPU is modest and lacks the dedicated hardware encoders that make transcoding cheap on x86 boxes. For one client playing supported formats, the Pi 4 8GB is fine. If you need to transcode for multiple incompatible clients at once, expect dropped frames and consider a more powerful server.
Should I run Jellyfin off an SD card or an SSD?
Run the OS and especially your media library from an SSD over USB 3.0 rather than an SD card. SD cards are slow for random access and wear out under constant writes, which causes corruption over time on an always-on server. A SATA SSD like the Crucial BX500 in a USB enclosure gives far better reliability and throughput. Keep the SD card, if any, only for initial boot and move the heavy I/O to the SSD.
How many simultaneous streams can the Pi 4 8GB handle?
If every client direct-plays compatible files, the Pi 4 can serve several streams limited mainly by your network and storage bandwidth. The number collapses quickly once transcoding is involved, often to a single transcoded stream or none. The practical strategy is to standardize your library on widely compatible formats and configure clients to direct-play, which lets the modest Pi 4 punch above its weight as a home media server.
Does the 8GB model matter, or is 4GB enough for Jellyfin?
Jellyfin itself isn't extremely RAM-hungry, so a 4GB Pi 4 can run it. The 8GB model gives breathing room for caching, running additional containers like a download client or reverse proxy, and avoiding memory pressure during library scans of large collections. If you plan to consolidate several homelab services on one board, the 8GB version is the safer long-term buy and ages better as your setup grows.
How much power does a Pi 4 media server use?
A Pi 4 with an attached USB SSD typically draws only a handful of watts at idle and modestly more under load, far less than a traditional PC or NAS. That low, always-on power profile is the Pi's biggest advantage for a 24/7 media server, keeping electricity costs negligible. A mini-PC will transcode far better but draws more power; the Pi wins on efficiency when your library is optimized for direct-play.

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 →