Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

Hardware transcoding can make Jellyfin streams start faster and play more smoothly, but only when the server’s GPU, drivers, operating system and the specific codec stages all line up. Software transcoding uses the CPU for the pipeline and can become expensive with HEVC, VP9, AV1, tone-mapping or subtitle burn-in. Neither method automatically makes your existing media library smaller.

Library size is governed by the files you keep. A transcoded stream or converted copy gets its size from the output codec and bitrate. Temporary transcode segments are a separate storage workload, and Jellyfin recommends fast storage for them because drive I/O can limit an otherwise capable GPU.

The short answer: what changes and what does not

Jellyfin transcoding is a chain of operations, not a single “GPU versus CPU” switch. A server may decode video in hardware, perform tone-mapping or subtitle rendering on the CPU, then encode in hardware—or fall back to software for one or more stages. Jellyfin warns that “Partial acceleration may result in higher CPU usage and lower transcoding speed.” See the Jellyfin Hardware Acceleration documentation for the supported paths and limitations.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Question Hardware acceleration Software transcoding
Where is most video work performed? Supported decode and/or encode stages run on an integrated GPU or discrete GPU; unsupported stages can remain on the CPU. The CPU performs decode, processing and encode.
Typical performance Can be much faster and support more simultaneous streams when the complete workload is supported. Can be adequate for light workloads, but CPU demand rises sharply with newer codecs and complex processing.
Does it shrink the original library? No. Source-file size is unchanged. No. Source-file size is unchanged.
What determines a streamed or converted file’s size? The output codec, bitrate, resolution and other client constraints—not whether the server used a GPU.
What storage matters during playback? The temporary transcode cache. Jellyfin notes that storage I/O can become the bottleneck, so cache placement matters.

There is no universal speed multiplier. Results depend on the exact hardware, codec, driver, operating system, Jellyfin acceleration method, number of concurrent streams and processing stages. The reviewed Jellyfin material does not establish a controlled, system-to-system benchmark that can be applied to every installation.

#1 Best Overall
ASUS Dual Radeon RX 9060 XT 16GB GDDR6 Gaming Graphics Card | PCIe 5.0, HDMI 2.1b, DisplayPort 2.1a, 2.5-slot design, Axial-tech Fans, 0dB Technology
  • Axial-tech fans now feature a smaller fan hub that facilitates longer blades and a barrier ring that increases downward air pressure
  • 2.5-slot design allows for greater build compatibility while maintaining cooling performance
  • 0dB technology lets you enjoy light gaming in relative silence
  • Dual BIOS switch lets you toggle between Quiet and Performance BIOS profiles
  • Dual ball fan bearings last up to twice as long as sleeve bearing designs

What Jellyfin actually does during a transcode

A direct-play client can use the original file, but a client may require a different container, codec, resolution, bitrate or audio format. Jellyfin then builds a transcode pipeline around the client’s capabilities and the server’s settings. The pipeline can include:

  • Video decoding from the source codec.
  • Deinterlacing for interlaced material.
  • Scaling to the client’s requested resolution.
  • Pixel-format or color-format conversion.
  • HDR tone-mapping when the display or client cannot handle the source format.
  • Subtitle rendering, including burn-in when the client cannot display the subtitle format itself.
  • Video and audio encoding into formats the client accepts.
  • Packaging the result into a stream and writing temporary segments to the transcode cache.

Acceleration can apply to decoding, encoding, or both. If any expensive stage is unsupported, Jellyfin may execute that stage in software. A GPU that can encode H.264, for example, does not automatically provide hardware support for every input codec, bit depth, tone-mapping path or subtitle mode.

For that reason, “hardware transcoding enabled” does not mean “the CPU is no longer involved.” Monitor the entire pipeline and test the media types your household actually plays.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Hardware acceleration methods Jellyfin supports

Jellyfin lists several validated acceleration families. Availability is platform- and model-specific, so use the current Hardware Acceleration documentation before buying or configuring hardware.

Rank #2
GIGABYTE GeForce RTX 5070 Ti Gaming OC 16G Graphics Card, 16GB 256-bit GDDR7, PCIe 5.0, WINDFORCE Cooling System, GV-N507TGAMING OC-16GD Video Card
  • Powered by the NVIDIA Blackwell architecture and DLSS 4
  • Powered by GeForce RTX 5070 Ti
  • Integrated with 16GB GDDR7 256bit memory interface
  • PCIe 5.0
  • WINDFORCE cooling system
Method Typical platform What to verify
Intel Quick Sync Video (QSV) Intel integrated graphics and supported Intel platforms Generation-specific decode and encode coverage, driver support and permissions.
NVIDIA NVDEC/NVENC NVIDIA GPUs GPU model, driver version, supported codecs and whether both decode and encode are available.
AMD AMF AMD GPUs on supported operating systems Model-specific codec support and the operating-system driver stack.
VA-API Intel or AMD graphics on Linux Correct VA-API drivers, device access and codec support exposed by the installed GPU.
Apple VideoToolbox macOS Mac hardware generation and the codecs exposed by VideoToolbox.
Rockchip RKMPP Supported Rockchip systems on Linux Board support, kernel and driver compatibility, and the exact codecs available.

Jellyfin recommends its modified jellyfin-ffmpeg build. Substituting another FFmpeg binary can produce partial acceleration, so a configuration that appears enabled may still send important stages to the CPU.

Performance: why hardware can be faster

Dedicated video engines reduce CPU work

When the input decoder and output encoder are both supported, a GPU’s dedicated video engines can process many streams while leaving the CPU available for the operating system, audio work and other applications. Jellyfin describes supported acceleration as capable of making transcoding much faster, but that is a conditional statement rather than a guaranteed ratio.

Software transcoding becomes costly with newer codecs

HEVC, VP9 and AV1 can place substantial load on a CPU when hardware decoding is unavailable. A server that handles an occasional H.264 stream in software may struggle when several clients request HEVC or AV1 conversion at the same time. Resolution, frame rate, bit depth and filters such as tone-mapping also affect the load.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Partial acceleration can be worse than expected

If decoding is accelerated but tone-mapping, scaling or subtitle burn-in remains on the CPU, the server may still saturate one or more cores. Data transfers between CPU memory and GPU memory can add overhead. Jellyfin’s documented warning about higher CPU usage and lower speed under partial acceleration is especially relevant to these mixed pipelines.

Rank #3
GIGABYTE GeForce RTX 5060 WINDFORCE OC 8G Graphics Card, Cooling System, 8GB 128-bit GDDR7, PCIe 5.0, Manufactured by NVIDIA, DisplayPort & HDMI - Video Output Interface, GV-N5060WF2OC-8GD Video Card
  • Powered by the NVIDIA Blackwell architecture and DLSS 4
  • Powered by GeForce RTX 5060
  • Integrated with 8GB GDDR7 128bit memory interface
  • PCIe 5.0
  • WINDFORCE cooling system

Playback smoothness depends on sustained throughput

A stream is successful only when the server continuously produces data faster than the client consumes it. A high peak number from a GPU is not useful if the cache disk, CPU filter, driver or network cannot sustain the workload. Judge a setup by uninterrupted playback, CPU and GPU utilization, cache activity and the number of concurrent streams it can sustain with your actual files.

Storage: separate the library, the output and the cache

Your existing library does not get smaller

Changing from software to hardware transcoding does not alter the source files already stored on disk. The acceleration method is a processing choice; it is not a compression setting.

Output size comes from codec and bitrate

A live stream or a converted file occupies space according to its output codec, bitrate, resolution, frame rate and audio choices. Jellyfin selects an output that fits the client’s supported codecs, resolution and bitrate limits. Two servers using different transcode methods can therefore produce similarly sized outputs, while two servers using different output settings can produce very different sizes even if both use the same GPU.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

AV1 can reduce size, but that is an encoding choice

Jellyfin’s AMD guidance says AV1 “saves a lot of storage space and network bandwidth due to smaller file size.” That statement describes AV1’s compression characteristics, not a guaranteed result from enabling hardware acceleration. AV1 encoding and decoding can be demanding on CPUs; Jellyfin identifies AV1 encoding support in Jellyfin 10.9 and newer, while actual hardware support still depends on the GPU and driver. If you choose AV1 output, confirm that every important client can decode it or you may create more transcodes instead of fewer.

Rank #4
Sale
GIGABYTE Radeon RX 9070 XT Gaming OC 16G Graphics Card, PCIe 5.0, 16GB GDDR6, GV-R9070XTGAMING OC-16GD Video Card
  • Powered by Radeon RX 9070 XT
  • WINDFORCE Cooling System
  • Hawk Fan
  • Server-grade Thermal Conductive Gel
  • RGB Lighting

Temporary transcode files are a separate budget

During playback, Jellyfin writes temporary segments and other working data to its transcode cache. Those files may be created and removed repeatedly, so cache capacity and write performance are different from the capacity needed for the permanent media library. Jellyfin’s hardware-selection guidance recommends a 100 GB SSD for the operating system, Jellyfin files and transcoding cache. It also gives a rule of thumb for transcoding space: the largest media file multiplied by the maximum number of concurrent streams. Jellyfin presents both figures as guidance, not a universal minimum.

For example, if your largest source file is 60 GB and you plan for four simultaneous transcodes, that rule of thumb points to roughly 240 GB of transcode space. It does not mean every session will consume that amount; it is a conservative planning formula that should be checked against your retention and workload.

When an SSD helps

Jellyfin notes that modern GPU throughput can be limited by drive I/O and suggests SSD or RAM-disk caching for temporary segments when storage is the bottleneck. An “SSD for Jellyfin transcoding cache” is therefore a sensible category to evaluate if cache reads and writes are saturating a hard drive. An SSD does not add codec support, fix an incompatible driver or automatically make an encoder faster; it helps only when I/O is limiting the pipeline.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Codec and feature compatibility matters more than the label

Before choosing hardware, make a matrix of the source codecs you own, the output codecs your clients accept and the processing stages your users trigger.

Best Value
Sale
ASUS Prime Radeon RX 9070 XT 16GB GDDR6 OC Edition Gaming Graphics Card | PCIe 5.0, HDMI/DP 2.1, 2.5-slot, Axial-tech Fans, Dual-ball Fan Bearings, dual BIOS, ASUS GPU Guard
  • Axial-tech fans now feature a smaller fan hub that facilitates longer blades and a barrier ring that increases downward air pressure
  • Phase-change GPU thermal pad helps ensure optimal heat transfer, lowering GPU temperatures for enhanced performance and reliability
  • 2.5-slot design allows for greater build compatibility while maintaining cooling performance
  • Dual-ball fan bearings last up to twice as long as standard conventional sleeve bearings designs
  • 0dB technology lets you enjoy light gaming in relative silence
Workload Why it can fall back to software What to check
H.264/AVC 10-bit input Jellyfin states that Intel, NVIDIA and AMD GPUs do not hardware-decode H.264/AVC 10-bit. Plan for software decoding or avoid this source format when selecting a server.
HEVC input Older or unsupported GPUs may lack the required decoder, and filters may still be CPU-based. Exact GPU generation, driver and operating-system support.
VP9 input Hardware decode is not universal, especially on older systems. Whether your specific acceleration path exposes VP9 decode.
AV1 input or output CPU processing is demanding when hardware support is absent; encode support varies by generation. Jellyfin 10.9 or newer for the documented AV1 encoding support, plus client and GPU compatibility.
HDR tone-mapping The tone-mapping implementation or pixel-format conversion may remain on the CPU. Whether your operating system and acceleration path support the required tone-mapping stage.
Burned-in subtitles Rendering subtitles into every video frame can bypass otherwise available hardware paths. Subtitle format, client support and whether burn-in is required.

Codec support must be checked at both ends. A server may be able to encode AV1, but a television or mobile client that cannot decode AV1 will request another output and trigger a second transcode path.

How to configure and verify hardware transcoding

  1. Inventory the real workload. List the codecs, resolutions, HDR formats, subtitle types and audio formats in your library. Record which clients are used and whether they direct-play those files. Include the maximum number of simultaneous users you expect.
  2. Match hardware to codecs. Check the exact GPU or integrated-graphics model against Jellyfin’s current Hardware Acceleration and Hardware Selection documentation. Do not rely on a product family name; codec coverage can change between generations.
  3. Install the supported driver stack. Use the driver and operating-system combination documented for your acceleration method. On Linux, ensure the Jellyfin service or container can access the relevant video device. On any platform, keep the driver aligned with the GPU generation.
  4. Use Jellyfin’s FFmpeg build. Install or retain the modified jellyfin-ffmpeg package recommended by Jellyfin. A different FFmpeg binary can leave only part of the pipeline accelerated.
  5. Open the transcoding settings. In the Jellyfin server dashboard, go to the Playback section and its Transcoding settings. Select the acceleration method available for your platform, then enable only the codecs and features your hardware actually supports. Labels and available checkboxes can vary by server version and operating system.
  6. Choose a fast cache location. Set the temporary transcoding directory to an SSD when drive I/O is a concern. If you use a RAM disk, reserve enough memory for the maximum concurrent workload and accept that its contents disappear after a restart.
  7. Test one file per difficult case. Play an HEVC, VP9, AV1, HDR and subtitle-heavy file from each important client. Confirm whether the session is direct play, direct stream or transcoding, and note the selected video decoder and encoder in the playback details.
  8. Increase concurrency gradually. Add streams one at a time while watching CPU utilization, GPU utilization, cache latency and playback buffer health. Stop when a bottleneck appears rather than assuming the advertised GPU engine count equals a guaranteed stream count.

A successful test should show stable playback, no repeated buffering and a pipeline that uses the intended hardware stages. If the server is idle because the client is direct-playing, that is expected; it does not prove or disprove the acceleration configuration.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting by symptom

CPU usage is high even though hardware acceleration is enabled

  • Check whether the input codec or bit depth is unsupported. H.264/AVC 10-bit is a documented example that falls back to software on Intel, NVIDIA and AMD GPUs.
  • Look for CPU-heavy tone-mapping, scaling, deinterlacing or subtitle burn-in.
  • Confirm that Jellyfin is using its modified jellyfin-ffmpeg build rather than another FFmpeg binary.
  • Verify driver installation and service permissions, then repeat the test with a file whose codec is known to be supported.

Playback buffers while the GPU appears underused

  • The workload may be limited by a CPU filter or by cache-disk I/O rather than the GPU engine.
  • Move the transcode directory to an SSD and watch disk latency during the same session.
  • Check network throughput and client limits; a client requesting a low bitrate can cause a different pipeline than a direct-play client.

One file works, but another file fails

  • Compare codec, bit depth, HDR format, subtitle mode and resolution. Hardware support is not all-or-nothing across a library.
  • Test with subtitles disabled, then with subtitles enabled. If only the latter fails, burn-in is likely changing the pipeline.
  • Check whether the failing client can decode the selected output codec.

AV1 playback or conversion fails

  • Confirm the server is running Jellyfin 10.9 or newer for the documented AV1 encoding support.
  • Verify that the specific GPU can decode or encode AV1; version support alone does not grant hardware capability.
  • Test a client that can decode AV1 before choosing AV1 as a library-wide conversion target.

The cache fills or the disk becomes noisy

  • Apply Jellyfin’s planning rule of the largest media file multiplied by maximum concurrent streams, then add operational headroom.
  • Separate permanent media storage from temporary transcode storage so cache churn does not compete with library reads.
  • Use SSD or RAM-disk caching only when I/O is the limiting factor, and size the medium for the streams you actually permit.

Choosing between CPU-only and hardware transcoding

CPU-only is reasonable when

  • Most clients direct-play your files and only occasional, low-complexity conversions occur.
  • Your library uses codecs that the CPU handles comfortably and you do not need many concurrent streams.
  • You prefer a simpler configuration and accept higher CPU utilization during the rare transcode.

Hardware acceleration is usually worthwhile when

  • Several users transcode at once.
  • HEVC, VP9, AV1, HDR tone-mapping or high-resolution sources are common.
  • The server is a small CPU system with supported integrated graphics or a GPU.
  • You need predictable playback while the server performs other work.

Use a hybrid expectation

The practical choice is often not “GPU or CPU,” but “which stages can this platform accelerate?” A system with excellent H.264 encode support may still use the CPU for AV1 decode, HDR tone-mapping or subtitle rendering. Plan capacity around the slowest stage in your most demanding session.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A repeatable way to measure your own setup

Because no general benchmark in the cited Jellyfin material establishes a universal hardware-versus-software speed ratio, measure the workload that matters to you.

  1. Choose representative files: one direct-play file, one HEVC or VP9 file, one AV1 file if applicable, one HDR file and one subtitle-heavy file.
  2. For each file, record the client, requested resolution and bitrate, whether the session is direct play or transcoding, and the reported decoder and encoder.
  3. Run a CPU-only test, then a hardware-acceleration test, without changing the client or output constraints.
  4. Add concurrent streams until playback begins to buffer or the server reaches an unacceptable CPU, GPU or disk limit.
  5. Repeat after moving the cache from the original disk to an SSD if I/O appears saturated.
  6. Keep notes by codec and feature. A single aggregate “streams per server” number hides the reason a particular file fails.

This method gives you a capacity envelope for your server without pretending that another machine’s result applies to yours.

Planning storage and hardware together

Start with three separate budgets:

  • Library capacity: the permanent source files and any converted copies you intentionally retain.
  • Cache capacity: temporary transcode segments, sized using the largest-file-times-concurrent-streams rule as an initial planning point.
  • Throughput: sustained read and write performance for the library and cache, plus enough CPU or GPU capacity for the most demanding pipeline stage.

Then decide whether you need conversion at all. If most clients direct-play, spending on faster cache storage may produce little visible benefit. If your clients frequently request HEVC, AV1 or HDR conversion, codec support and driver quality are more important than raw disk capacity. If cache I/O is demonstrably limiting a supported GPU, an SSD can remove that bottleneck without changing the library’s size.

Final verdict

Choose hardware transcoding for lower CPU pressure and potentially much higher throughput when your exact codecs and processing stages are supported. Keep software transcoding available for unsupported formats and filters. Treat storage as two independent questions: output codec and bitrate determine the size of streams or converted files, while the transcode cache needs enough fast temporary space for concurrent work. Validate the complete pipeline—decode, filters, encode, drivers and cache I/O—on the files and clients you actually use.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Quick Recap

Bestseller No. 1
ASUS Dual Radeon RX 9060 XT 16GB GDDR6 Gaming Graphics Card | PCIe 5.0, HDMI 2.1b, DisplayPort 2.1a, 2.5-slot design, Axial-tech Fans, 0dB Technology
ASUS Dual Radeon RX 9060 XT 16GB GDDR6 Gaming Graphics Card | PCIe 5.0, HDMI 2.1b, DisplayPort 2.1a, 2.5-slot design, Axial-tech Fans, 0dB Technology
0dB technology lets you enjoy light gaming in relative silence; Dual BIOS switch lets you toggle between Quiet and Performance BIOS profiles
$529.99
Bestseller No. 2
GIGABYTE GeForce RTX 5070 Ti Gaming OC 16G Graphics Card, 16GB 256-bit GDDR7, PCIe 5.0, WINDFORCE Cooling System, GV-N507TGAMING OC-16GD Video Card
GIGABYTE GeForce RTX 5070 Ti Gaming OC 16G Graphics Card, 16GB 256-bit GDDR7, PCIe 5.0, WINDFORCE Cooling System, GV-N507TGAMING OC-16GD Video Card
Powered by the NVIDIA Blackwell architecture and DLSS 4; Powered by GeForce RTX 5070 Ti; Integrated with 16GB GDDR7 256bit memory interface
Bestseller No. 3
GIGABYTE GeForce RTX 5060 WINDFORCE OC 8G Graphics Card, Cooling System, 8GB 128-bit GDDR7, PCIe 5.0, Manufactured by NVIDIA, DisplayPort & HDMI - Video Output Interface, GV-N5060WF2OC-8GD Video Card
GIGABYTE GeForce RTX 5060 WINDFORCE OC 8G Graphics Card, Cooling System, 8GB 128-bit GDDR7, PCIe 5.0, Manufactured by NVIDIA, DisplayPort & HDMI - Video Output Interface, GV-N5060WF2OC-8GD Video Card
Powered by the NVIDIA Blackwell architecture and DLSS 4; Powered by GeForce RTX 5060; Integrated with 8GB GDDR7 128bit memory interface
$497.06
SaleBestseller No. 4
GIGABYTE Radeon RX 9070 XT Gaming OC 16G Graphics Card, PCIe 5.0, 16GB GDDR6, GV-R9070XTGAMING OC-16GD Video Card
GIGABYTE Radeon RX 9070 XT Gaming OC 16G Graphics Card, PCIe 5.0, 16GB GDDR6, GV-R9070XTGAMING OC-16GD Video Card
Powered by Radeon RX 9070 XT; WINDFORCE Cooling System; Hawk Fan; Server-grade Thermal Conductive Gel
$814.99
SaleBestseller No. 5
ASUS Prime Radeon RX 9070 XT 16GB GDDR6 OC Edition Gaming Graphics Card | PCIe 5.0, HDMI/DP 2.1, 2.5-slot, Axial-tech Fans, Dual-ball Fan Bearings, dual BIOS, ASUS GPU Guard
ASUS Prime Radeon RX 9070 XT 16GB GDDR6 OC Edition Gaming Graphics Card | PCIe 5.0, HDMI/DP 2.1, 2.5-slot, Axial-tech Fans, Dual-ball Fan Bearings, dual BIOS, ASUS GPU Guard
0dB technology lets you enjoy light gaming in relative silence; Dual BIOS switch lets you toggle between Quiet and Performance BIOS profiles
$831.99

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.