freerdp(7) 3.0 freerdp(7)

H264 encoding and decoding can be provided by various backends. Not all of them might be available depending on operating system in use and compilation options used.

FFMPEG - FFMPEG based H264 encoding/decoding support

H264 encoding and decoding can be provided by various backends. One of these utilizes the FFMPEG framework. It provides a high level abstraction that is capable of using hardware backed encoding and decoding.

To enable this feature these three requirements must be met:

1. The RDP client or server must enable support for this feature.
2. The environment variables or configuration file must not have it disabled
3. The hardware must actually support the requested accelerator


Format and Location:

The configuration file is stored system wide or per user.

The XDG_CONFIG_HOME environment variable can be used to override the base directory for per user configurations.

The user configuration defaults to ~/.config The location relative to XDG_CONFIG_HOME is $XDG_CONFIG_HOME/freerdp/ffmpeg.json

For system wide configurations the default is /etc/freerdp/ffmpeg.json

The configuration is stored in JSON format

Supported options:

allowUserConfig

(system config only) Allow the user configuration file to be used.

Default true
A JSON bool value

allowEnvOverrides

Allow environment variables to be evaluated.

Default true
A JSON bool value

seHwDecoderfR

Enable hardware accelerated decoding.

Default true
A JSON bool value

useHwEncoder

Enable hardware accelerated encoding.

Default true
A JSON bool value

hwDeviceType

Set acceleration API to use.

Default platform dependent default accelerator
A JSON string value

hwDeviceName

Set hardware device to utilize.

Default Default device used by accelerator
A JSON string value

legacy option, superseded by FREERDP_HWCTX_DEVICE
For accelerators that support to select from different devices the device to us.
The accelerator type, see enum AVHWDeviceType for possible supported accelerators. Use av_hwdevice_get_type_name to get the actual values that can be put here.

Please report any bugs at https://github.com/FreeRDP/FreeRDP/issues

Additional information and the latest version is available at: https://freerdp.com

Armin Novak <anovak@thincast.com>

September 2026 Version