FFmpeg Audio Transformer Filter Specification
The FFmpeg Audio Transformer is a wrapper for one or more FFmpeg audio filter effects. The FFmpeg Audio Transformer can be inserted in input and output graphs.
JSON Structure
{
"name": "FFmpeg Audio Transformer",
"id": "...",
"bypass": false/true,
"configuration": {
...
}
}
Field | Description |
---|---|
id | The FFmpeg Audio Transformer supports updating its settings while the ROAD job is already running. If this feature is to be used, an ID must be specified here to address the filter via ROAD's filterSettings API. The ID is optional; default is empty, |
bypass | If |
configuration | The list of FFmpeg audio effects, and their settings |
JSON Structure of "configuration":
|
Field | Description |
---|---|
filters | An array of filter objects (required). A filter object consists of a filterName and options
|
Notes:
FFmpeg filter effects, which have non-audio input pads or output pads are not supported.
The version of documentation https://ffmpeg.org/ffmpeg-filters.html may differ from the FFmpeg version used in the DAVID FFmpeg Audio Transformer. This means the documentation may differ from the currently supported version in ROAD.
The mapping between JSON configuration and the command line parameter of FFmpeg.exe can be found in the example below.
How to create the audio filter configuration
Example: Audio Limiter
When you search for limiter, you find "alimiter" (https://ffmpeg.org/ffmpeg-filters.html#alimiter)

Optionally, you can use FFmpeg.exe (ffmpeg.exe -hide_banner -h filter=alimiter), which shows you the actual parameters with default and minimum and maximum values

Create the JSON configuration for the ROAD pipe specification
alimiter
JS{ "filterName": "alimiter", "options": { "level_in": 1.0, "level_out": 1.0, "limit": 1.0, "attack": 5.0, "release": 50.0, "asc": false, "asc_level": 0.5, "level": true } }
Example: audio compressor
When you search for compressor you find acompressor https://ffmpeg.org/ffmpeg-filters.html#acompressor

Optionally, you can use FFmpeg.exe (ffmpeg.exe -hide_banner -h filter=acompressor), which shows you the actual parameters with default and minimum and maximum values

Create the JSON configuration for the Pipe specification
acompressor
JS{ "filterName": "acompressor", "options": { "level_in": 1.0, "mode": "downward", "threshold": 0.125, "ratio": 2.0, "attack": 20.0, "release": 250.0, "makeup": 1.0, "knee": 2.82843, "link": "average", "detection": "rms", "level_sc": 1.0, "mix": 1.0 } }