Skip to main content
Self-Hosted Jellyfin on a Raspberry Pi 4 8GB: Transcoding Limits in 2026

Self-Hosted Jellyfin on a Raspberry Pi 4 8GB: Transcoding Limits in 2026

Direct play forever, one 1080p transcode max — here is how to plan around it

A Raspberry Pi 4 8GB makes a fine Jellyfin host as long as you stay in direct-play territory. Here are the exact transcoding limits and a library plan that works.

A Raspberry Pi 4 8GB running Jellyfin handles direct-play streaming of any codec your devices natively support, plus single-stream H.264 1080p transcoding via the Pi's hardware encoder. It does NOT do 4K transcoding, multi-stream concurrent transcoding, or HEVC software transcoding at usable speed. Knowing exactly where the ceiling sits lets you plan a media library and client mix that never hits it.

Why a Pi 4 for Jellyfin in 2026?

The Raspberry Pi 4 8GB is the workhorse of cheap self-hosting. At roughly $85-95 for the board plus a power supply, microSD, and case, it costs less than a single year of Plex Pass plus a streaming service subscription it replaces.

Jellyfin is the open-source, free-forever Plex alternative. No license fees, no remote-streaming paywalls, no telemetry. The combination — Jellyfin + Pi 4 + a USB drive of your own media — is the cheapest credible home-media server you can build today.

The catch is transcoding. Jellyfin (like Plex) prefers "direct play" — streaming the original file to the client unchanged — because transcoding is CPU and GPU intensive. When the client cannot natively decode the source format, the server has to transcode in real time, and the Pi 4 has very specific limits.

This synthesis maps those limits exactly so you can plan around them.

Key takeaways

  • Direct play: unlimited streams, only limited by network bandwidth.
  • Hardware-accelerated H.264 → H.264 transcoding: 1 concurrent stream at 1080p, real-time.
  • Software H.264 transcoding: ~0.7-0.9x realtime on a fast SD card, NOT recommended.
  • HEVC (H.265) hardware decoding: yes, but no Pi 4 hardware encoder for HEVC. Transcoding HEVC source → H.264 output works at 1080p.
  • 4K transcoding: NO. Decoder maxes at 4K decode, encoder is 1080p only.
  • Concurrent streams: 1 transcode + N direct plays. Multiple simultaneous transcodes fail.

Hardware budget

PartNotesPrice
Raspberry Pi 4 8GB8 GB SKU recommended for OS + cache$85
Official 5V/3A power supplyDon't skimp — underpower causes crashes$11
64 GB high-endurance microSD or eMMCBoot drive$15
SanDisk Ultra 3D 1TB SATA SSDMedia library on a powered USB enclosure$90
FIDECO SATA/IDE-to-USB 3.0 enclosureHouses the SSD over USB 3.0$25
Crucial BX500 1TB SATA SSDAlternative budget media drive$59
Heatsink + active cooling caseMandatory under sustained load$20

Total: roughly $245-260 for a Pi 4 build with a credible storage backbone. Compare to a budget mini-PC with an Intel N100 + 4 TB drive at $400-500.

What direct play means and why it dominates

Direct play is when the client device decodes the source file natively. The server sends bytes; the client decodes them. The Pi 4's only role is reading from disk and writing to the network — trivial work that scales to dozens of concurrent streams on a single Pi.

A modern Apple TV 4K, Fire TV Stick 4K Max, Roku Ultra, or smart TV can directly play:

  • H.264 (Baseline, Main, High) up to 4K
  • HEVC (H.265) Main and Main10 up to 4K
  • AV1 on newer devices
  • AAC, AC3, EAC3 audio at most bitrates
  • DTS audio on many TVs (varies)

If your media library is mostly H.264 1080p or HEVC 1080p/4K, and your clients can decode those natively, the Pi 4 just shuffles bytes and you can run 5-10 concurrent streams without breaking a sweat.

When transcoding kicks in

Jellyfin transcodes in three situations:

  1. Subtitle burn-in. Image-based subtitles (PGS / VOBSUB) cannot be passed through to most clients; Jellyfin burns them into the video, which requires re-encoding the whole frame.
  2. Codec mismatch. If a client cannot decode HEVC (older browsers, some web players), Jellyfin re-encodes to H.264 on the fly.
  3. Bandwidth limit. If a client asks for a lower-bitrate stream (e.g., "limit to 4 Mbps" from a slow connection), Jellyfin re-encodes at the requested bitrate.

Each of these forces the Pi to decode the source, manipulate the frame, and re-encode — orders of magnitude more expensive than direct play.

Pi 4 transcoding ceiling

The Pi 4 has a Broadcom VideoCore VI GPU with hardware H.264 encode and H.264/HEVC decode. Specifically:

  • Hardware H.264 decoder: up to 1080p60 at high bitrates
  • Hardware H.264 encoder: up to 1080p30 at moderate bitrates (~10 Mbps)
  • Hardware HEVC decoder: up to 4K30
  • Hardware HEVC encoder: NONE. The Pi 4 cannot hardware-encode HEVC at all.

So the practical transcoding matrix is:

Source codecTarget codecPi 4 behavior
H.264 1080pH.264 1080pHardware accelerated, real-time ✓
H.264 4KH.264 4KFails. No 4K encoder.
H.264 4KH.264 1080p (downscale)Hardware decode + downscale + encode, real-time at 25-28 fps ⚠
HEVC 1080pH.264 1080pHardware decode + hardware encode, real-time ✓
HEVC 4KH.264 1080pHardware decode 4K + downscale + encode, ~24-26 fps ⚠
HEVC 4KHEVC 4KDirect play only. Cannot transcode.

In summary: the Pi 4 can do exactly one concurrent 1080p hardware-accelerated transcode. A second concurrent transcode forces software fallback, which is ~0.7x realtime and means the stream stutters.

Benchmark numbers

Community runs with Hardware Acceleration enabled (V4L2-M2M backend) on a Pi 4 8GB with an active cooler:

WorkloadPi 4 resultNotes
1080p H.264 direct play1+ Gbps possible (bottleneck is USB or network)trivial CPU load
1080p H.264 → 1080p H.264 (10 Mbps target)1 stream, 27-30 fpssustained, ~95% CPU + GPU usage
1080p H.264 → 720p H.264 (3 Mbps target)1 stream, 30+ fpsusable, ~80% CPU
1080p HEVC → 1080p H.2641 stream, 24-26 fpsborderline; client may buffer
4K HEVC → 1080p H.2641 stream, 18-22 fpsNOT real time; stuttering common
Two concurrent 1080p H.264 transcodesfails (software fallback)both streams stutter

The 4K → 1080p downscale-transcode case is the most common failure mode. People assume "the Pi 4 can decode 4K" means "it can transcode 4K." It cannot. The decoder handles the input fine; the encoder cannot keep up at 1080p when fed downscaled frames at 24+ fps.

How to design your library to never hit the ceiling

Three rules:

  1. Standardize on H.264 1080p for content most-watched on browsers and older clients. H.264 1080p direct-plays everywhere; no transcode pressure.
  2. Keep HEVC reserved for content viewed only on modern HEVC-capable clients. Apple TV 4K, Fire TV Stick 4K Max, recent Android TV boxes, and most 2019+ smart TVs handle HEVC direct play.
  3. Avoid image-based subtitles where possible. If a TV show has PGS subtitles, extract them to SRT format using mkvextract and pgsrip before adding to Jellyfin. SRT direct-plays; PGS forces burn-in transcoding.

Practical workflow: keep two libraries, "1080p direct-play H.264" for casual viewing and "4K HEVC archive" for big-screen Apple TV viewing only. Map clients to libraries accordingly.

Storage advice — USB 3.0, not microSD

The Pi 4 has two USB 3.0 ports. Use them.

A spinning USB drive works too if you have a 4 TB external lying around, but SSD is silent, faster, and reliably draws under the USB 3.0 power budget without an external supply.

Do NOT run Jellyfin off a microSD. Sustained reads at 4K+ direct-play bitrates wear the card and the cards are slow under random I/O. The boot card is fine; media must be on USB.

Common pitfalls

  1. Trying to run two transcodes concurrently: it just doesn't work. Direct play whatever you can and only allow one transcode at a time in the Jellyfin server settings.
  2. Forgetting active cooling: the Pi 4 throttles aggressively above ~80°C. Under sustained transcode load it heats fast; a $20 active-cooled case is non-optional.
  3. Underpowered USB: bus-powered hard drives spike to 1A on spin-up and can crash the Pi. Use a powered hub or an SSD that stays under 900 mA.
  4. Misconfigured hardware acceleration: Jellyfin defaults to no hardware accel. You must explicitly enable V4L2-M2M in the dashboard or all transcoding falls back to slow software.
  5. Library on a 2.5" mechanical USB drive without spin-down config: drives that spin down to save power add 5-8 seconds of stutter when a stream starts. Disable spin-down or use SSD.

When NOT to use a Pi 4 for Jellyfin

  • Heavy 4K transcoding workloads: get a mini-PC with Intel Quick Sync. An N100 or N305 transcodes 4K all day for ~$200-300 total.
  • Multiple concurrent transcodes from non-direct-play clients: again, mini-PC.
  • Plex Live TV with multiple recorders: tuner work on a Pi is OK; recording multiple streams simultaneously eats the USB bandwidth.
  • DVR with high write bandwidth: write loads kill SD cards; spinning drives or SSD are mandatory.

What about the Pi 5?

The Raspberry Pi 5 ships at $80 for the 8 GB SKU and roughly doubles CPU performance over the Pi 4. The transcoding picture only marginally improves, though, because the Pi 5 still has hardware H.264 encode at 1080p only and no HEVC encoder. The big wins are on CPU-bound work and PCIe-attached NVMe.

If you are starting fresh in 2026 and the Pi 5 8 GB is in stock at MSRP, take it. If you already own a Pi 4 8 GB, the upgrade is hard to justify for Jellyfin specifically — the transcoding limits are the same.

Networking and bandwidth math

A frequently overlooked planning step is how much network bandwidth each stream actually consumes, because even when transcoding is not the constraint, your home network might be.

SourceTypical bitrateConcurrent streams on 100 Mbps
1080p Blu-ray rip (H.264)8-15 Mbps6-12
1080p web-DL (H.264)4-6 Mbps16-24
4K Blu-ray rip (HEVC)40-80 Mbps1-2
4K web-DL (HEVC)12-25 Mbps4-8
Transcoded 1080p H.264 (default)8 Mbps12
Transcoded 720p H.264 (mobile)3 Mbps33

The Pi 4's gigabit Ethernet handles much more than the transcoder will ever produce; the network is not the bottleneck for local play. Where it matters is remote streaming over the home upload — if your ISP gives you a 20 Mbps upload, you can stream one 4K HEVC web-DL or two 1080p web-DL streams remotely, period.

For remote viewing, configure Jellyfin's "Internet bandwidth limit" per user and set it to ~80% of your upload to avoid bufferbloat. That forces the transcoder to drop quality before saturating the link.

Bottom line

A Raspberry Pi 4 8 GB running Jellyfin is the cheapest credible home-media server in 2026 — but it lives or dies on direct play. Standardize your library on H.264 1080p with SRT subtitles for casual clients, reserve HEVC 4K for direct-play-only clients like an Apple TV 4K, and accept that exactly one concurrent transcode is the ceiling.

For most home setups — one TV, two phones, a tablet, occasional remote stream — that ceiling is invisible. For a household streaming three transcoded streams simultaneously, you have outgrown the Pi 4 and an Intel N100 mini-PC is the next step.

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

Live prices from Amazon and eBay — both shown for every product so you can pick the channel that fits.

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

Frequently asked questions

How many concurrent streams can a Pi 4 8GB actually handle?
For direct play with no transcoding, the Pi 4 8GB can handle 5-10+ concurrent 1080p H.264 streams limited only by your network bandwidth and storage I/O. For transcoded streams, the practical limit is one 1080p hardware-accelerated H.264-to-H.264 stream at a time. A second concurrent transcode forces software fallback and both streams stutter. Plan your library around direct play to scale concurrent viewer count.
Can the Pi 4 transcode 4K content?
No, not at usable speeds. The Pi 4 can decode 4K HEVC in hardware but its hardware H.264 encoder is limited to 1080p, so any 4K-source transcode requires downscaling plus encode plus optional subtitle burn-in, which together run at 18-22 fps on the Pi 4 — well below real-time 24 fps for film content. For 4K transcoding workloads, an Intel N100 mini-PC with Quick Sync video is the next step up and runs about $200-300 total.
Is the Pi 5 meaningfully better for Jellyfin than the Pi 4?
Only marginally for the transcoding workload. The Pi 5 doubles CPU performance over the Pi 4 but the video encoder block stayed the same — still hardware H.264 at 1080p only, no HEVC encoder. CPU wins help with subtitle rendering, library scans, and any background tasks. Direct-play throughput improves on the Pi 5 thanks to faster USB and PCIe-attached NVMe, but the transcoding ceiling is essentially identical. If you are starting fresh in 2026 and Pi 5 8GB is in stock at MSRP take it; if you have a Pi 4, the upgrade is hard to justify just for Jellyfin.
Should I use Plex or Jellyfin on a Pi 4?
Jellyfin if cost or privacy matters; Plex if remote streaming convenience is the priority and you accept the Plex Pass subscription for full features. Both have similar transcoding profiles on the Pi 4 — both wrap FFmpeg with hardware acceleration, both handle direct play identically. Jellyfin is free, open-source, and has no telemetry. Plex has a more polished remote-streaming UX, better mobile apps for some clients, and a paid tier with hardware-acceleration unlock; without Plex Pass, transcoding is software-only and the Pi 4 is too slow for it.
Do I need a UPS for a Pi 4 Jellyfin server?
Strongly recommended if your power is unreliable. The Pi 4's microSD is the most vulnerable component to abrupt power loss; an interrupted write can corrupt the SD card and force a reinstall. A small UPS like a $40 APC BE600M1 keeps the Pi running for ~30 minutes during a brownout, giving it time to shut down cleanly. If you do not want to add a UPS, at minimum use a high-endurance SD card and configure read-only system partitions to reduce SD wear and corruption risk.

Sources

— SpecPicks Editorial · Last verified 2026-06-07

More guides & deep dives from the SpecPicks archive

Browse all articles & guides →

More reviews from the SpecPicks archive

Browse all reviews →