---
uid: server-transcoding
title: Transcoding
---

# Transcoding

These settings will relate to backend options that modify how the server transcodes media. Some improve or change the media quality while others reduce the resources required to transcode the media from its original format.

## Bitrate and Resolution

Transcoding of local sources is always requested by the client. The client will send transcoding profile(s) to the server containing information about its capabilities, such as supported codecs, resolutions, bitrate and additional constraints. The server will then pick the settings with the best quality within its capabilities.

The output resolution is determined by input resolution, input framerate, target output bitrate, input and output codecs, and client constraints. There is no way to manually override the resolution.

## Hardware Acceleration

If your hardware supports this you can enable [hardware acceleration](./hardware-acceleration/index.md) for much faster transcoding. Jellyfin
supports hardware accelerated transcoding on all modern GPUs from Intel, AMD, Nvidia, Apple and Rockchip
if the required hardware is available.

## Thread Count

This option will manually set the number of threads to use when transcoding. If you're not using the server for anything else, it's best to leave this option alone.

## Types of Transcoding

There are four types of playback; three of which involve transcoding. The type being used will be listed in the dashboard when playing a file. They are ordered below from lowest to highest load on the server:

- Direct Play: Delivers the file without transcoding. There is no modification to the file and almost no additional load on the server.
- Remux: Changes the container but leaves both audio and video streams untouched.
- Direct Stream: Transcodes audio but leaves original video untouched.
- Transcode: Transcodes the video stream.

## HDR to SDR Tone-mapping

When the source video is in HDR, it will need to be tone-mapped to SDR when transcoding, as Jellyfin currently
doesn't support HDR to HDR tone-mapping, or passing through HDR metadata. While this can be done in software, it is
very slow, and you may encounter situations where no modern consumer CPUs can transcode in real time. Therefore, a GPU
is always recommended, where even a basic Intel iGPU can handle as much load as a Ryzen 5800X for this use case.
