Jellyfin needs enough iGPU headroom to sustain the hardest normal mix of concurrent hardware-transcoded sessions without creating a queue.
There is no universal number of users per iGPU because codec decode, output resolution, HDR tone mapping, subtitle burn-in, frame rate, and memory bandwidth all change the load. Direct Play users consume almost no transcode capacity, while one difficult conversion can cost more than several simple ones. Build a workload mix before choosing a percentage or stream count.
Count Transcode Classes Instead of Users
A household of six users may require less graphics work than two remote users if most clients Direct Play. Capacity planning should count the playback modes and filters that actually enter the media engine.
Different Jellyfin conversion paths can produce very different throughput on the same system.
Classify expected sessions as Direct Play, simple hardware transcode, tone-mapped transcode, and subtitle burn-in. Size against the weighted mix rather than the account count.
Tone Mapping and Burn-In Consume Extra Margin
The media engine may perform more than encode and decode. HDR conversion and subtitle composition can become the stages that reduce concurrency first.
Subtitle burn-in behavior explains why a subtitle choice can force full video processing even when the underlying video codec is otherwise compatible.
Include at least one hard HDR-plus-subtitle case in the peak test if the household uses it. Otherwise the calculated headroom can disappear the first time that content plays.
Integrated Graphics Also Share System Memory Bandwidth
An iGPU does not have an isolated workstation-class memory subsystem; it competes for system memory and can be affected by channel configuration and other workloads. That makes host conditions part of the result.
Co-located applications can show resource interference when workloads overlap, so a clean transcode benchmark may overstate capacity on a busy home server.
Repeat the transcode matrix with normal companion services active. The hardware-accelerated streaming baseline should reflect the host as it will actually run, not an empty benchmark environment.
Reserve Margin Above the Measured Failure Point
High utilization is not automatically a problem if the engine keeps real-time output with stable latency, but saturation without margin makes the system fragile to one harder file. Define the point where transcode speed or playback stability degrades.
The USE method provides a clean language for utilization, saturation, and errors instead of a magic safe percentage.
Increase concurrency until the first repeatable failure, then set the operating limit below that point with enough margin for normal variability. Retest after driver, client, or major library changes.
Tech & AI HUB
More to Read

How Does a Secret Broker Give an AI Agent Credentials Without Exposing Them in Prompts?
Follow workload identity, policy, token issuance, request injection, redaction, expiry, and revocation through a secretless home AI agent architecture.

How Does a Tool Sandbox Contain AI Agent Side Effects?
See how isolation, capability gates, disposable state, egress control, quotas, and audit logs bound AI agent side effects without proving actions safe.

How Does Constrained Decoding Produce Schema-Valid JSON?
Understand schema compilation, token masking, parser state, supported subsets, latency, truncation, and why structural validity does not ensure correct values.

