# Audio/video filters

The available options can depend on the version of the underlying encoding tools that Transloadit uses for the following Robots:

* [🤖/audio/artwork](/docs/robots/audio-artwork.md)
* [🤖/audio/concat](/docs/robots/audio-concat.md)
* [🤖/audio/split](/docs/robots/audio-split.md)
* [🤖/audio/encode](/docs/robots/audio-encode.md)
* [🤖/audio/loop](/docs/robots/audio-loop.md)
* [🤖/audio/merge](/docs/robots/audio-merge.md)
* [🤖/audio/waveform](/docs/robots/audio-waveform.md)
* [🤖/meta/write](/docs/robots/meta-write.md)
* [🤖/video/adaptive](/docs/robots/video-adaptive.md)
* [🤖/video/artwork](/docs/robots/video-artwork.md)
* [🤖/video/concat](/docs/robots/video-concat.md)
* [🤖/video/encode](/docs/robots/video-encode.md)
* [🤖/video/merge](/docs/robots/video-merge.md)
* [🤖/video/split](/docs/robots/video-split.md)
* [🤖/video/subtitle](/docs/robots/video-subtitle.md)
* [🤖/video/thumbs](/docs/robots/video-thumbs.md)

Transloadit recommends having: `ffmpeg_stack: "v7"` in these Robots’ Assembly Instructions. We are intimately aware of how important continuity is for our customers, so stack version upgrades are always opt-in. Stack versions are typically supported for many years before we start issuing deprecation warnings (for example, we had been supporting `"v1.0.0"` for 11 years before we deprecated it).

**ffmpeg\_stack**

|v5|v6|v7||||||
|-|-|-|-|-|-|-|-|
|Name|Description|Read|Write|Read|Write|Read|Write|
|a3dscope|Convert input audio to 3d scope video output.|No|No|No|Yes|No|Yes|
|aap|Apply Affine Projection algorithm to first audio stream.|No|No|No|No|Yes|Yes|
|abench|Benchmark part of a filtergraph.|Yes|Yes|Yes|Yes|Yes|Yes|
|abitscope|Convert input audio to audio bit scope video output.|No|Yes|No|Yes|No|Yes|
|abuffer|Buffer audio frames, and make them accessible to the filterchain.|Yes|Yes|Yes|Yes|Yes|Yes|
|abuffersink|Buffer audio frames, and make them available to the end of the filter graph.|No|Yes|No|Yes|No|Yes|
|acompressor|Audio compressor.|Yes|Yes|Yes|Yes|Yes|Yes|
|acontrast|Simple audio dynamic range compression/expansion filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|acopy|Copy the input audio unchanged to the output.|Yes|Yes|Yes|Yes|Yes|Yes|
|acrossfade|Cross fade two input audio streams.|Yes|Yes|Yes|Yes|Yes|Yes|
|acrossover|Split audio into per-bands streams.|No|No|No|No|No|No|
|acrusher|Reduce audio bit resolution.|Yes|Yes|Yes|Yes|Yes|Yes|
|acue|Delay filtering to match a cue.|Yes|Yes|Yes|Yes|Yes|Yes|
|addroi|Add region of interest to frame.|Yes|Yes|Yes|Yes|Yes|Yes|
|adeclick|Remove impulsive noise from input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|adeclip|Remove clipping from input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|adecorrelate|Apply decorrelation to input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|adelay|Delay one or more audio channels.|Yes|Yes|Yes|Yes|Yes|Yes|
|adenorm|Remedy denormals by adding extremely low-level noise.|Yes|Yes|Yes|Yes|Yes|Yes|
|aderivative|Compute derivative of input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|adrawgraph|Draw a graph using input audio metadata.|No|Yes|No|Yes|No|Yes|
|adrc|Audio Spectral Dynamic Range Controller.|No|No|Yes|Yes|Yes|Yes|
|adynamicequalizer|Apply Dynamic Equalization of input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|adynamicsmooth|Apply Dynamic Smoothing of input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|aecho|Add echoing to the audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|aemphasis|Audio emphasis.|Yes|Yes|Yes|Yes|Yes|Yes|
|aeval|Filter audio signal according to a specified expression.|Yes|Yes|Yes|Yes|Yes|Yes|
|aevalsrc|Generate an audio signal generated by an expression.|Yes|Yes|Yes|Yes|Yes|Yes|
|aexciter|Enhance high frequency part of audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|afade|Fade in/out input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|afdelaysrc|Generate a Fractional delay FIR coefficients.|No|No|Yes|Yes|Yes|Yes|
|afftdn|Denoise audio samples using FFT.|Yes|Yes|Yes|Yes|Yes|Yes|
|afftfilt|Apply arbitrary expressions to samples in frequency domain.|Yes|Yes|Yes|Yes|Yes|Yes|
|afifo|Buffer input frames and send them when they are requested.|Yes|Yes|Yes|Yes|No|No|
|afir|Apply Finite Impulse Response filter with supplied coefficients in additional stream(s).|No|No|No|No|Yes|Yes|
|afireqsrc|Generate a FIR equalizer coefficients audio stream.|No|No|Yes|Yes|Yes|Yes|
|afirsrc|Generate a FIR coefficients audio stream.|Yes|Yes|Yes|Yes|Yes|Yes|
|aformat|Convert the input audio to one of the specified formats.|Yes|Yes|Yes|Yes|Yes|Yes|
|afreqshift|Apply frequency shifting to input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|afwtdn|Denoise audio stream using Wavelets.|Yes|Yes|Yes|Yes|Yes|Yes|
|agate|Audio gate.|Yes|Yes|Yes|Yes|Yes|Yes|
|agraphmonitor|Show various filtergraph stats.|No|Yes|No|Yes|No|Yes|
|ahistogram|Convert input audio to histogram video output.|No|Yes|No|Yes|No|Yes|
|aiir|Apply Infinite Impulse Response filter with supplied coefficients.|No|No|No|No|No|No|
|aintegral|Compute integral of input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|ainterleave|Temporally interleave audio inputs.|Yes|Yes|Yes|Yes|Yes|Yes|
|alatency|Report audio filtering latency.|Yes|Yes|Yes|Yes|Yes|Yes|
|alimiter|Audio lookahead limiter.|Yes|Yes|Yes|Yes|Yes|Yes|
|allpass|Apply a two-pole all-pass filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|allrgb|Generate all RGB colors.|Yes|Yes|Yes|Yes|Yes|Yes|
|allyuv|Generate all yuv colors.|Yes|Yes|Yes|Yes|Yes|Yes|
|aloop|Loop audio samples.|Yes|Yes|Yes|Yes|Yes|Yes|
|alphaextract|Extract an alpha channel as a grayscale image component.|Yes|Yes|Yes|Yes|Yes|Yes|
|alphamerge|Copy the luma value of the second input into the alpha channel of the first input.|Yes|Yes|Yes|Yes|Yes|Yes|
|amerge|Merge two or more audio streams into a single multi-channel stream.|Yes|Yes|Yes|Yes|Yes|Yes|
|ametadata|Manipulate audio frame metadata.|Yes|Yes|Yes|Yes|Yes|Yes|
|amix|Audio mixing.|Yes|Yes|Yes|Yes|Yes|Yes|
|amovie|Read audio from a movie source.|Yes|No|Yes|No|Yes|No|
|amplify|Amplify changes between successive video frames.|Yes|Yes|Yes|Yes|Yes|Yes|
|amultiply|Multiply two audio streams.|Yes|Yes|Yes|Yes|Yes|Yes|
|anequalizer|Apply high-order audio parametric multi band equalizer.|No|No|No|No|No|No|
|anlmdn|Reduce broadband noise from stream using Non-Local Means.|Yes|Yes|Yes|Yes|Yes|Yes|
|anlmf|Apply Normalized Least-Mean-Fourth algorithm to first audio stream.|Yes|Yes|Yes|Yes|Yes|Yes|
|anlms|Apply Normalized Least-Mean-Squares algorithm to first audio stream.|Yes|Yes|Yes|Yes|Yes|Yes|
|anoisesrc|Generate a noise audio signal.|Yes|Yes|Yes|Yes|Yes|Yes|
|anull|Pass the source unchanged to the output.|Yes|Yes|Yes|Yes|Yes|Yes|
|anullsink|Do absolutely nothing with the input audio.|No|Yes|No|Yes|No|Yes|
|anullsrc|Null audio source, return empty audio frames.|Yes|Yes|Yes|Yes|Yes|Yes|
|apad|Pad audio with silence.|Yes|Yes|Yes|Yes|Yes|Yes|
|aperms|Set permissions for the output audio frame.|Yes|Yes|Yes|Yes|Yes|Yes|
|aphasemeter|Convert input audio to phase meter video output.|No|No|No|No|No|No|
|aphaser|Add a phasing effect to the audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|aphaseshift|Apply phase shifting to input audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|apsnr|Measure Audio Peak Signal-to-Noise Ratio.|No|No|Yes|Yes|Yes|Yes|
|apsyclip|Audio Psychoacoustic Clipper.|Yes|Yes|Yes|Yes|Yes|Yes|
|apulsator|Audio pulsator.|Yes|Yes|Yes|Yes|Yes|Yes|
|arealtime|Slow down filtering to match realtime.|Yes|Yes|Yes|Yes|Yes|Yes|
|aresample|Resample audio data.|Yes|Yes|Yes|Yes|Yes|Yes|
|areverse|Reverse an audio clip.|Yes|Yes|Yes|Yes|Yes|Yes|
|arls|Apply Recursive Least Squares algorithm to first audio stream.|No|No|Yes|Yes|Yes|Yes|
|arnndn|Reduce noise from speech using Recurrent Neural Networks.|Yes|Yes|Yes|Yes|Yes|Yes|
|asdr|Measure Audio Signal-to-Distortion Ratio.|Yes|Yes|Yes|Yes|Yes|Yes|
|asegment|Segment audio stream.|No|No|No|No|No|No|
|aselect|Select audio frames to pass in output.|No|No|No|No|No|No|
|asendcmd|Send commands to filters.|Yes|Yes|Yes|Yes|Yes|Yes|
|asetnsamples|Set the number of samples for each output audio frames.|Yes|Yes|Yes|Yes|Yes|Yes|
|asetpts|Set PTS for the output audio frame.|Yes|Yes|Yes|Yes|Yes|Yes|
|asetrate|Change the sample rate without altering the data.|Yes|Yes|Yes|Yes|Yes|Yes|
|asettb|Set timebase for the audio output link.|Yes|Yes|Yes|Yes|Yes|Yes|
|ashowinfo|Show textual information for each audio frame.|Yes|Yes|Yes|Yes|Yes|Yes|
|asidedata|Manipulate audio frame side data.|Yes|Yes|Yes|Yes|Yes|Yes|
|asisdr|Measure Audio Scale-Invariant Signal-to-Distortion Ratio.|No|No|Yes|Yes|Yes|Yes|
|asoftclip|Audio Soft Clipper.|Yes|Yes|Yes|Yes|Yes|Yes|
|aspectralstats|Show frequency domain statistics about audio frames.|Yes|Yes|Yes|Yes|Yes|Yes|
|asplit|Pass on the audio input to N audio outputs.|No|No|No|No|No|No|
|ass|Render ASS subtitles onto input video using the libass library.|Yes|Yes|Yes|Yes|Yes|Yes|
|astats|Show time domain statistics about audio frames.|Yes|Yes|Yes|Yes|Yes|Yes|
|astreamselect|Select audio streams|No|No|No|No|No|No|
|asubboost|Boost subwoofer frequencies.|Yes|Yes|Yes|Yes|Yes|Yes|
|asubcut|Cut subwoofer frequencies.|Yes|Yes|Yes|Yes|Yes|Yes|
|asupercut|Cut super frequencies.|Yes|Yes|Yes|Yes|Yes|Yes|
|asuperpass|Apply high order Butterworth band-pass filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|asuperstop|Apply high order Butterworth band-stop filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|atadenoise|Apply an Adaptive Temporal Averaging Denoiser.|Yes|Yes|Yes|Yes|Yes|Yes|
|atempo|Adjust audio tempo.|Yes|Yes|Yes|Yes|Yes|Yes|
|atilt|Apply spectral tilt to audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|atrim|Pick one continuous section from the input, drop the rest.|Yes|Yes|Yes|Yes|Yes|Yes|
|avectorscope|Convert input audio to vectorscope video output.|No|Yes|No|Yes|No|Yes|
|avgblur|Apply Average Blur filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|avgblur\_opencl|Apply average blur filter|No|No|Yes|Yes|Yes|Yes|
|avgblur\_vulkan|Apply avgblur mask to input video|Yes|Yes|Yes|Yes|Yes|Yes|
|avsynctest|Generate an Audio Video Sync Test.|No|No|Yes|Yes|Yes|Yes|
|axcorrelate|Cross-correlate two audio streams.|Yes|Yes|Yes|Yes|Yes|Yes|
|azmq|Receive commands through ZMQ and broker them to filters.|Yes|Yes|Yes|Yes|Yes|Yes|
|backgroundkey|Turns a static background into transparency.|No|No|Yes|Yes|Yes|Yes|
|bandpass|Apply a two-pole Butterworth band-pass filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|bandreject|Apply a two-pole Butterworth band-reject filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|bass|Boost or cut lower frequencies.|Yes|Yes|Yes|Yes|Yes|Yes|
|bbox|Compute bounding box for each frame.|Yes|Yes|Yes|Yes|Yes|Yes|
|bench|Benchmark part of a filtergraph.|Yes|Yes|Yes|Yes|Yes|Yes|
|bilateral|Apply Bilateral filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|bilateral\_cuda|GPU accelerated bilateral filter|No|No|Yes|Yes|Yes|Yes|
|biquad|Apply a biquad IIR filter with the given coefficients.|Yes|Yes|Yes|Yes|Yes|Yes|
|bitplanenoise|Measure bit plane noise.|Yes|Yes|Yes|Yes|Yes|Yes|
|blackdetect|Detect video intervals that are (almost) black.|Yes|Yes|Yes|Yes|Yes|Yes|
|blackframe|Detect frames that are (almost) black.|Yes|Yes|Yes|Yes|Yes|Yes|
|blend|Blend two video frames into each other.|Yes|Yes|Yes|Yes|Yes|Yes|
|blend\_vulkan|Blend two video frames in Vulkan|No|No|Yes|Yes|Yes|Yes|
|blockdetect|Blockdetect filter.|No|No|Yes|Yes|Yes|Yes|
|blurdetect|Blurdetect filter.|No|No|Yes|Yes|Yes|Yes|
|bm3d|Block-Matching 3D denoiser.|No|Yes|No|Yes|No|Yes|
|boxblur|Blur the input.|Yes|Yes|Yes|Yes|Yes|Yes|
|boxblur\_opencl|Apply boxblur filter to input video|No|No|Yes|Yes|Yes|Yes|
|bs2b|Bauer stereo-to-binaural filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|buffer|Buffer video frames, and make them accessible to the filterchain.|Yes|Yes|Yes|Yes|Yes|Yes|
|buffersink|Buffer video frames, and make them available to the end of the filter graph.|Yes|Yes|Yes|Yes|Yes|Yes|
|bwdif|Deinterlace the input image.|Yes|Yes|Yes|Yes|Yes|Yes|
|bwdif\_cuda|Deinterlace CUDA frames|No|No|Yes|Yes|Yes|Yes|
|bwdif\_vulkan|Deinterlace Vulkan frames via bwdif|No|No|Yes|Yes|Yes|Yes|
|cas|Contrast Adaptive Sharpen.|Yes|Yes|Yes|Yes|Yes|Yes|
|ccrepack|Repack CEA-708 closed caption metadata|No|No|Yes|Yes|Yes|Yes|
|cellauto|Create pattern generated by an elementary cellular automaton.|Yes|Yes|Yes|Yes|Yes|Yes|
|channelmap|Remap audio channels.|Yes|Yes|Yes|Yes|Yes|Yes|
|channelsplit|Split audio into per-channel streams.|No|No|No|No|No|No|
|chorus|Add a chorus effect to the audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|chromaber\_vulkan|Offset chroma of input video (chromatic aberration)|Yes|Yes|Yes|Yes|Yes|Yes|
|chromahold|Turns a certain color range into gray.|Yes|Yes|Yes|Yes|Yes|Yes|
|chromakey|Turns a certain color into transparency. Operates on YUV colors.|Yes|Yes|Yes|Yes|Yes|Yes|
|chromakey\_cuda|GPU accelerated chromakey filter|No|No|Yes|Yes|Yes|Yes|
|chromanr|Reduce chrominance noise.|Yes|Yes|Yes|Yes|Yes|Yes|
|chromashift|Shift chroma.|Yes|Yes|Yes|Yes|Yes|Yes|
|ciescope|Video CIE scope.|Yes|Yes|Yes|Yes|Yes|Yes|
|codecview|Visualize information about some codecs.|Yes|Yes|Yes|Yes|Yes|Yes|
|color|Provide an uniformly colored input.|Yes|Yes|Yes|Yes|Yes|Yes|
|color\_vulkan|Generate a constant color (Vulkan)|No|No|Yes|Yes|Yes|Yes|
|colorbalance|Adjust the color balance.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorchannelmixer|Adjust colors by mixing color channels.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorchart|Generate color checker chart.|No|No|Yes|Yes|Yes|Yes|
|colorcontrast|Adjust color contrast between RGB components.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorcorrect|Adjust color white balance selectively for blacks and whites.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorhold|Turns a certain color range into gray. Operates on RGB colors.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorize|Overlay a solid color on the video stream.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorkey|Turns a certain color into transparency. Operates on RGB colors.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorkey\_opencl|Turns a certain color into transparency. Operates on RGB colors.|No|No|Yes|Yes|Yes|Yes|
|colorlevels|Adjust the color levels.|Yes|Yes|Yes|Yes|Yes|Yes|
|colormap|VVV->V Apply custom Color Maps to video stream.|No|No|No|No|No|No|
|colormatrix|Convert color matrix.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorspace|Convert between colorspaces.|Yes|Yes|Yes|Yes|Yes|Yes|
|colorspace\_cuda|CUDA accelerated video color converter|No|No|Yes|Yes|Yes|Yes|
|colorspectrum|Generate colors spectrum.|Yes|Yes|Yes|Yes|Yes|Yes|
|colortemperature|Adjust color temperature of video.|Yes|Yes|Yes|Yes|Yes|Yes|
|compand|Compress or expand audio dynamic range.|Yes|Yes|Yes|Yes|Yes|Yes|
|compensationdelay|Audio Compensation Delay Line.|Yes|Yes|Yes|Yes|Yes|Yes|
|concat|Concatenate audio and video streams.|No|No|No|No|No|No|
|convolution|Apply convolution filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|convolution\_opencl|Apply convolution mask to input video|No|No|Yes|Yes|Yes|Yes|
|convolve|Convolve first video stream with second video stream.|Yes|Yes|Yes|Yes|Yes|Yes|
|copy|Copy the input video unchanged to the output.|Yes|Yes|Yes|Yes|Yes|Yes|
|corr|Calculate the correlation between two video streams.|No|No|Yes|Yes|Yes|Yes|
|cover\_rect|Find and cover a user specified object.|Yes|Yes|Yes|Yes|Yes|Yes|
|crop|Crop the input video.|Yes|Yes|Yes|Yes|Yes|Yes|
|cropdetect|Auto-detect crop size.|Yes|Yes|Yes|Yes|Yes|Yes|
|crossfeed|Apply headphone crossfeed filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|crystalizer|Simple audio noise sharpening filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|cue|Delay filtering to match a cue.|Yes|Yes|Yes|Yes|Yes|Yes|
|curves|Adjust components curves.|Yes|Yes|Yes|Yes|Yes|Yes|
|datascope|Video data analysis.|Yes|Yes|Yes|Yes|Yes|Yes|
|dblur|Apply Directional Blur filter.|Yes|Yes|Yes|Yes|Yes|Yes|
|dcshift|Apply a DC shift to the audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|dctdnoiz|Denoise frames using 2D DCT.|Yes|Yes|Yes|Yes|Yes|Yes|
|deband|Debands video.|Yes|Yes|Yes|Yes|Yes|Yes|
|deblock|Deblock video.|Yes|Yes|Yes|Yes|Yes|Yes|
|decimate|Decimate frames (post field matching filter).|No|Yes|No|Yes|No|Yes|
|deconvolve|Deconvolve first video stream with second video stream.|Yes|Yes|Yes|Yes|Yes|Yes|
|dedot|Reduce cross-luminance and cross-color.|Yes|Yes|Yes|Yes|Yes|Yes|
|deesser|Apply de-essing to the audio.|Yes|Yes|Yes|Yes|Yes|Yes|
|deflate|Apply deflate effect.|Yes|Yes|Yes|Yes|Yes|Yes|
|deflicker|Remove temporal frame luminance variations.|Yes|Yes|Yes|Yes|Yes|Yes|
|deinterlace\_qsv|QuickSync video deinterlacing|Yes|Yes|Yes|Yes|Yes|Yes|
|deinterlace\_vaapi|Deinterlacing of VAAPI surfaces|Yes|Yes|Yes|Yes|Yes|Yes|

**ffmpeg\_stack**

|v5|v6|v7||||||
|-|-|-|-|-|-|-|-|
|Name|Description|Read|Write|Read|Write|Read|Write|
|afir|Apply Finite Impulse Response filter with supplied coefficients in additional stream(s).|No|No|No|No|Yes|Yes|
