Skip to main content
Skip table of contents

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

JS
{
	"name": "FFmpeg Audio Transformer",
    "id": "...",
	"bypass": false/true,
    "configuration": {
        ...
    }
}
FieldDescription
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,

bypassIf true , the whole FFmpeg filter chain is bypassed, and the audio passes through the filter unmodified. The setting is optional, default is false .
configurationThe list of FFmpeg audio effects, and their settings

JSON Structure of "configuration":

{
  "filters": [
    {
      "filterName": "loudnorm",
      "options": {
        "i": "-24.0",
        "linear": "true"
      }
    },
    {
      "filterName": "aformat",
      "options": {
        "sample_rates": "8000|16000",
        "sample_fmts": "s16"
      }
    }
  ]
}

Field

Description

filters

An array of filter objects (required). A filter object consists of a filterName and options

  • filterName is the  name of the FFmpeg Audio Filter as described on https://ffmpeg.org/ffmpeg-filters.html.
  • options: A list of key/value pairs, which are passed to the filter. The key/value pairs reflect the ffmpeg.exe command line parameter of the corresponding audio filter. Default: none

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


  • 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

  • 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
        }
    }


JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.