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 true , the whole FFmpeg filter chain is bypassed, and the audio passes through the filter unmodified. The setting is optional, default is false . |
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 at FFmpeg Audio Transformer - Configuration
How to create the audio filter configuration
Example: Audio Limiter
- Go to https://ffmpeg.org/ffmpeg-filters.html
- 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
- Goto https://ffmpeg.org/ffmpeg-filters.html
- 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 } }