FFmpeg 4.1.11
Audio
acompressor
A compressor is mainly used to reduce the dynamic range of a signal.
acontrast
Simple audio dynamic range commpression/expansion filter.
acopy
Copy the input audio source unchanged to the output.
acrossfade
Apply cross fade from one input audio stream to another input audio stream.
acrossover
Split audio stream into several bands.
acrusher
Reduce audio bit resolution.
acue
Delay audio filtering until a given wallclock timestamp.
adeclick
Remove impulsive noise from input audio.
adeclip
Remove clipped samples from input audio.
adelay
Delay one or more audio channels.
aderivative
Compute derivative/integral of audio stream.
aintegral
Compute derivative/integral of audio stream.
aecho
Apply echoing to the input audio.
aemphasis
Audio emphasis filter creates or restores material directly taken from LPs or emphased CDs with different filter curves.
aeval
Modify an audio signal according to the specified expressions.
afade
Apply fade-in/out effect to input audio.
afftdn
Denoise audio samples with FFT.
afftfilt
Apply arbitrary expressions to samples in frequency domain.
afir
Apply an arbitrary Frequency Impulse Response filter.
aformat
Set output format constraints for the input audio.
agate
A gate is mainly used to reduce lower parts of a signal.
aiir
Apply an arbitrary Infinite Impulse Response filter.
alimiter
The limiter prevents an input signal from rising over a desired threshold.
allpass
Apply a two-pole all-pass filter with central frequency (in Hz) frequency, and filter-width width.
aloop
Loop audio samples.
amerge
Merge two or more audio streams into a single multi-channel stream.
amix
Mixes multiple audio inputs into a single output.
amultiply
Multiply first audio stream with second audio stream and store result in output audio stream.
anequalizer
High-order parametric multiband equalizer for each channel.
anull
Pass the audio source unchanged to the output.
apad
Pad the end of an audio stream with silence.
aphaser
Add a phasing effect to the input audio.
apulsator
Audio pulsator is something between an autopanner and a tremolo.
aresample
Resample the input audio to the specified parameters, using the libswresample library.
areverse
Reverse an audio clip.
asetnsamples
Set the number of samples per each output audio frame.
asetrate
Set the sample rate without altering the PCM data.
ashowinfo
Show a line containing various information for each input audio frame.
astats
Display time domain statistical information about the audio channels.
atempo
Adjust audio tempo.
atrim
Trim the input so that the output contains one continuous subpart of the input.
bandpass
Apply a two-pole Butterworth band-pass filter with central frequency frequency, and (3dB-point) band-width width.
bandreject
Apply a two-pole Butterworth band-reject filter with central frequency frequency, and (3dB-point) band-width width.
bass
Boost or cut the bass (lower) frequencies of the audio using a two-pole shelving filter with a response similar to that of a standard hi-fi’s tone-controls.
lowshelf
Boost or cut the bass (lower) frequencies of the audio using a two-pole shelving filter with a response similar to that of a standard hi-fi’s tone-controls.
biquad
Apply a biquad IIR filter with the given coefficients.
bs2b
Bauer stereo to binaural transformation, which improves headphone listening of stereo audio records.
channelmap
Remap input channels to new locations.
channelsplit
Split each channel from an input audio stream into a separate output stream.
chorus
Add a chorus effect to the audio.
compand
Compress or expand the audio’s dynamic range.
compensationdelay
Compensation Delay Line is a metric based delay to compensate differing positions of microphones or speakers.
crossfeed
Apply headphone crossfeed filter.
crystalizer
Simple algorithm to expand audio dynamic range.
dcshift
Apply a DC shift to the audio.
drmeter
Measure audio dynamic range.
dynaudnorm
Dynamic Audio Normalizer.
earwax
Make audio easier to listen to on headphones.
equalizer
Apply a two-pole peaking equalisation (EQ) filter.
extrastereo
Linearly increases the difference between left and right channels which adds some sort of "live" effect to playback.
firequalizer
Apply FIR Equalization using arbitrary frequency response.
flanger
Apply a flanging effect to the audio.
haas
Apply Haas effect to audio.
hdcd
Decodes High Definition Compatible Digital (HDCD) data.
headphone
Apply head-related transfer functions (HRTFs) to create virtual loudspeakers around the user for binaural listening via headphones.
highpass
Apply a high-pass filter with 3dB point frequency.
join
Join multiple input streams into one multi-channel stream.
ladspa
Load a LADSPA (Linux Audio Developer’s Simple Plugin API) plugin.
loudnorm
EBU R128 loudness normalization.
lowpass
Apply a low-pass filter with 3dB point frequency.
lv2
Load a LV2 (LADSPA Version 2) plugin.
mcompand
Multiband Compress or expand the audio’s dynamic range.
pan
Mix channels with specific gain levels.
replaygain
ReplayGain scanner filter.
resample
Convert the audio sample format, sample rate and channel layout.
rubberband
Apply time-stretching and pitch-shifting with librubberband.
sidechaincompress
This filter acts like normal compressor but has the ability to compress detected signal using second input signal.
sidechaingate
A sidechain gate acts like a normal (wideband) gate but has the ability to filter the detected signal before sending it to the gain reduction stage.
silencedetect
Detect silence in an audio stream.
silenceremove
Remove silence from the beginning, middle or end of the audio.
sofalizer
SOFAlizer uses head-related transfer functions (HRTFs) to create virtual loudspeakers around the user for binaural listening via headphones (audio formats up to 9 channels supported).
stereotools
This filter has some handy utilities to manage stereo signals, for converting M/S stereo recordings to L/R signal while having control over the parameters or spreading the stereo image of master track.
stereowiden
This filter enhance the stereo effect by suppressing signal common to both channels and by delaying the signal of left into right and vice versa, thereby widening the stereo effect.
superequalizer
Apply 18 band equalizer.
surround
Apply audio surround upmix filter.
treble
Boost or cut treble (upper) frequencies of the audio using a two-pole shelving filter with a response similar to that of a standard hi-fi’s tone-controls.
highshelf
Boost or cut treble (upper) frequencies of the audio using a two-pole shelving filter with a response similar to that of a standard hi-fi’s tone-controls.
tremolo
Sinusoidal amplitude modulation.
vibrato
Sinusoidal phase modulation.
volume
Adjust the input audio volume.
volumedetect
Detect the volume of the input video.
Video
alphaextract
Extract the alpha component from the input as a grayscale video.
alphamerge
Add or replace the alpha component of the primary input with the grayscale value of a second input.
amplify
Amplify differences between current pixel and pixels of adjacent frames in same pixel location.
ass
Same as the subtitles filter, except that it doesn’t require libavcodec and libavformat to work.
atadenoise
Apply an Adaptive Temporal Averaging Denoiser to the video input.
avgblur
Apply average blur filter.
bbox
Compute the bounding box for the non-black pixels in the input frame luminance plane.
bitplanenoise
Show and measure bit plane noise.
blackdetect
Detect video intervals that are (almost) completely black.
blackframe
Detect frames that are (almost) completely black.
blend
The blend filter takes two input streams and outputs one stream, the first input is the "top" layer and second input is "bottom" layer.
tblend
The tblend (time blend) filter takes two consecutive frames from one single stream, and outputs the result obtained by blending the new frame on top of the old frame.
bm3d
Denoise frames using Block-Matching 3D algorithm.
boxblur
Apply a boxblur algorithm to the input video.
bwdif
Deinterlace the input video ("bwdif" stands for "Bob Weaver Deinterlacing Filter").
chromahold
Remove all color information for all colors except for certain one.
chromakey
YUV colorspace color/chroma keying.
ciescope
Display CIE color diagram with pixels overlaid onto it.
codecview
Visualize information exported by some codecs.
colorbalance
Modify intensity of primary colors (red, green and blue) of input frames.
colorkey
RGB colorspace color keying.
colorlevels
Adjust video input frames using levels.
colorchannelmixer
Adjust video input frames by re-mixing color channels.
colormatrix
Convert color matrix.
colorspace
Convert colorspace, transfer characteristics or color primaries.
convolution
Apply convolution of 3x3, 5x5, 7x7 or horizontal/vertical up to 49 elements.
convolve
Apply 2D convolution of video stream in frequency domain using second stream as impulse.
copy
Copy the input video source unchanged to the output.
coreimage
Video filtering on GPU using Apple’s CoreImage API on OSX.
crop
Crop the input video to given dimensions.
cropdetect
Auto-detect the crop size.
cue
Delay video filtering until a given wallclock timestamp.
curves
Apply color adjustments using curves.
datascope
Video data analysis filter.
dctdnoiz
Denoise frames using 2D DCT (frequency domain filtering).
deband
Remove banding artifacts from input video.
deblock
Remove blocking artifacts from input video.
decimate
Drop duplicated frames at regular intervals.
deconvolve
Apply 2D deconvolution of video stream in frequency domain using second stream as impulse.
deflate
Apply deflate effect to the video.
deflicker
Remove temporal frame luminance variations.
dejudder
Remove judder produced by partially interlaced telecined content.
delogo
Suppress a TV station logo by a simple interpolation of the surrounding pixels.
deshake
Attempt to fix small changes in horizontal and/or vertical shift.
despill
Remove unwanted contamination of foreground colors, caused by reflected color of greenscreen or bluescreen.
detelecine
Apply an exact inverse of the telecine operation.
dilation
Apply dilation effect to the video.
displace
Displace pixels as indicated by second and third input stream.
drawbox
Draw a colored box on the input image.
drawgrid
Draw a grid on the input image.
drawtext
Draw a text string or text from a specified file on top of a video, using the libfreetype library.
edgedetect
Detect and draw edges.
eq
Set brightness, contrast, saturation and approximate gamma adjustment.
erosion
Apply erosion effect to the video.
extractplanes
Extract color channel components from input video stream into separate grayscale video streams.
elbg
Apply a posterize effect using the ELBG (Enhanced LBG) algorithm.
entropy
Measure graylevel entropy in histogram of color channels of video frames.
fade
Apply a fade-in/out effect to the input video.
fftfilt
Apply arbitrary expressions to samples in frequency domain .
fftdnoiz
Denoise frames using 3D FFT (frequency domain filtering).
field
Extract a single field from an interlaced image using stride arithmetic to avoid wasting CPU time.
fieldhint
Create new frames by copying the top and bottom fields from surrounding frames supplied as numbers by the hint file.
fieldmatch
Field matching filter for inverse telecine.
fieldorder
Transform the field order of the input video.
fifo
Buffer input images and send them when they are requested.
afifo
Buffer input images and send them when they are requested.
fillborders
Fill borders of the input video, without changing video stream dimensions.
find_rect
Find a rectangular object .
cover_rect
Cover a rectangular object .
floodfill
Flood area with values of same pixel components with another values.
format
Convert the input video to one of the specified pixel formats.
fps
Convert the video to specified constant frame rate by duplicating or dropping frames as necessary.
framepack
Pack two different video streams into a stereoscopic video, setting proper metadata on supported codecs.
framerate
Change the frame rate by interpolating new video output frames from the source frames.
framestep
Select one frame every N-th frame.
frei0r
Apply a frei0r effect to the input video.
fspp
Apply fast and simple postprocessing.
gblur
Apply Gaussian blur filter.
geq
Apply generic equation to each pixel.
gradfun
Fix the banding artifacts that are sometimes introduced into nearly flat regions by truncation to 8-bit color depth.
graphmonitor
Show various filtergraph stats.
agraphmonitor
Show various filtergraph stats.
greyedge
A color constancy variation filter which estimates scene illumination via grey edge algorithm and corrects the scene colors accordingly.
haldclut
Apply a Hald CLUT to a video stream.
hflip
Flip the input video horizontally.
histeq
This filter applies a global color histogram equalization on a per-frame basis.
histogram
Compute and draw a color distribution histogram for the input video.
hqdn3d
This is a high precision/quality 3d denoise filter.
hwdownload
Download hardware frames to system memory.
hwmap
Map hardware frames to system memory or to another device.
hwupload
Upload system memory frames to hardware surfaces.
hwupload_cuda
Upload system memory frames to a CUDA device.
hqx
Apply a high-quality magnification filter designed for pixel art.
hstack
Stack input videos horizontally.
hue
Modify the hue and/or the saturation of the input.
hysteresis
Grow first stream into second stream by connecting components.
idet
Detect video interlacing type.
il
Deinterleave or interleave fields.
inflate
Apply inflate effect to the video.
interlace
Simple interlacing filter from progressive contents.
kerndeint
Deinterlace input video by applying Donald Graft’s adaptive kernel deinterling.
lenscorrection
Correct radial lens distortion .
lensfun
Apply lens correction via the lensfun library.
libvmaf
Obtain the VMAF (Video Multi-Method Assessment Fusion) score between two input videos.
limiter
Limits the pixel components values to the specified range [min, max].
loop
Loop video frames.
lut1d
Apply a 1D LUT to an input video.
lut3d
Apply a 3D LUT to an input video.
lumakey
Turn certain luma values into transparency.
lut
Compute a look-up table for binding each pixel component input value to an output value, and apply it to the input video.
lutrgb
Compute a look-up table for binding each pixel component input value to an output value, and apply it to the input video.
lutyuv
Compute a look-up table for binding each pixel component input value to an output value, and apply it to the input video.
lut2
The lut2 filter takes two input streams and outputs one stream.
tlut2
The tlut2 (time lut2) filter takes two consecutive frames from one single stream.
maskedclamp
Clamp the first input stream with the second input and third input stream.
maskedmerge
Merge the first input stream with the second input stream using per pixel weights in the third input stream.
mcdeint
Apply motion-compensation deinterlacing.
mergeplanes
Merge color channel components from several video streams.
mestimate
Estimate and export motion vectors using block matching algorithms.
midequalizer
Apply Midway Image Equalization effect using two video streams.
minterpolate
Convert the video to specified frame rate using motion interpolation.
mix
Mix several video input streams into one video stream.
mpdecimate
Drop frames that do not differ greatly from the previous frame in order to reduce frame rate.
negate
Negate (invert) the input video.
nlmeans
Denoise frames using Non-Local Means algorithm.
nnedi
Deinterlace video using neural network edge directed interpolation.
noformat
Force libavfilter not to use any of the specified pixel formats for the input to the next filter.
noise
Add noise on video input frame.
normalize
Normalize RGB video (aka histogram stretching, contrast stretching).
null
Pass the video source unchanged to the output.
ocr
Optical Character Recognition .
ocv
Apply a video transform using libopencv.
oscilloscope
2D Video Oscilloscope.
overlay
Overlay one video on top of another.
owdenoise
Apply Overcomplete Wavelet denoiser.
pad
Add paddings to the input image, and place the original input at the provided x, y coordinates.
palettegen
Generate one palette for a whole video stream.
paletteuse
Use a palette to downsample an input video stream.
perspective
Correct perspective of video not recorded perpendicular to the screen.
phase
Delay interlaced video by one field time so that the field order changes.
pixdesctest
Pixel format descriptor test filter, mainly useful for internal testing.
pixscope
Display sample values of color channels.
pp
Enable the specified chain of postprocessing subfilters using libpostproc.
pp7
Apply Postprocessing filter 7.
premultiply
Apply alpha premultiply effect to input video stream using first plane of second stream as alpha.
prewitt
Apply prewitt operator to input video stream.
program_opencl
Filter video using an OpenCL program.
pseudocolor
Alter frame colors in video with pseudocolors.
psnr
Obtain the average, maximum and minimum PSNR (Peak Signal to Noise Ratio) between two input videos.
pullup
Pulldown reversal (inverse telecine) filter, capable of handling mixed hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive content.
qp
Change video quantization parameters (QP).
random
Flush video frames from internal cache of frames into a random order.
readeia608
Read closed captioning (EIA-608) information from the top lines of a video frame.
readvitc
Read vertical interval timecode (VITC) information from the top lines of a video frame.
remap
Remap pixels using 2nd: Xmap and 3rd: Ymap input video stream.
removegrain
The removegrain filter is a spatial denoiser for progressive video.
removelogo
Suppress a TV station logo, using an image file to determine which pixels comprise the logo.
repeatfields
This filter uses the repeat_field flag from the Video ES headers and hard repeats fields based on its value.
reverse
Reverse a video clip.
roberts
Apply roberts cross operator to input video stream.
rotate
Rotate video by an arbitrary angle expressed in radians.
sab
Apply Shape Adaptive Blur.
scale
Scale (resize) the input video, using the libswscale library.
scale_npp
Use the NVIDIA Performance Primitives (libnpp) to perform scaling and/or pixel format conversion on CUDA video frames.
scale2ref
Scale (resize) the input video, based on a reference video.
selectivecolor
Adjust cyan, magenta, yellow and black (CMYK) to certain ranges of colors (such as "reds", "yellows", "greens", "cyans", .
separatefields
The separatefields takes a frame-based video input and splits each frame into its components fields, producing a new half height clip with twice the frame rate and twice the frame count.
setdar
The setdar filter sets the Display Aspect Ratio for the filter output video.
setsar
The setsar filter sets the Sample (aka Pixel) Aspect Ratio for the filter output video.
setfield
Force field for the output video frame.
setparams
Force frame parameter for the output video frame.
showinfo
Show a line containing various information for each input video frame.
showpalette
Displays the 256 colors palette of each frame.
shuffleframes
Reorder and/or duplicate and/or drop video frames.
shuffleplanes
Reorder and/or duplicate video planes.
signalstats
Evaluate various visual metrics that assist in determining issues associated with the digitization of analog video media.
signature
Calculates the MPEG-7 Video Signature.
smartblur
Blur the input video without impacting the outlines.
ssim
Obtain the SSIM (Structural SImilarity Metric) between two input videos.
stereo3d
Convert between different stereoscopic image formats.
streamselect
The streamselect and astreamselect filter supports the following commands: .
astreamselect
The streamselect and astreamselect filter supports the following commands: .
sobel
Apply sobel operator to input video stream.
spp
Apply a simple postprocessing filter that compresses and decompresses the image at several (or - in the case of quality level 6 - all) shifts and average the results.
sr
Scale the input by applying one of the super-resolution methods based on convolutional neural networks.
subtitles
Draw subtitles on top of input video using the libass library.
super2xsai
Scale the input by 2x and smooth using the Super2xSaI (Scale and Interpolate) pixel art scaling algorithm.
swaprect
Swap two rectangular objects in video.
swapuv
Swap U & V plane.
telecine
Apply telecine process to the video.
threshold
Apply threshold effect to video stream.
thumbnail
Select the most representative frame in a given sequence of consecutive frames.
tile
Tile several successive frames together.
tinterlace
Perform various types of temporal field interlacing.
tmix
Mix successive video frames.
tonemap
Tone map colors from different dynamic ranges.
transpose
Transpose rows with columns in the input video and optionally flip it.
transpose_npp
Transpose rows with columns in the input video and optionally flip it.
trim
Trim the input so that the output contains one continuous subpart of the input.
unpremultiply
Apply alpha unpremultiply effect to input video stream using first plane of second stream as alpha.
unsharp
Sharpen or blur the input video.
uspp
Apply ultra slow/simple postprocessing filter that compresses and decompresses the image at several (or - in the case of quality level 8 - all) shifts and average the results.
vaguedenoiser
Apply a wavelet based denoiser.
vectorscope
Display 2 color component values in the two dimensional graph (which is called a vectorscope).
vidstabdetect
Analyze video stabilization/deshaking.
vidstabtransform
Video stabilization/deshaking: pass 2 of 2, see vidstabdetect for pass 1.
vflip
Flip the input video vertically.
vfrdet
Detect variable frame rate video.
vibrance
Boost or alter saturation.
vignette
Make or reverse a natural vignetting effect.
vmafmotion
Obtain the average vmaf motion score of a video.
vstack
Stack input videos vertically.
w3fdif
Deinterlace the input video ("w3fdif" stands for "Weston 3 Field Deinterlacing Filter").
waveform
Video waveform monitor.
weave
The weave takes a field-based video input and join each two sequential fields into single frame, producing a new double height clip with half the frame rate and half the frame count.
doubleweave
The doubleweave works same as weave but without halving frame rate and frame count.
xbr
Apply the xBR high-quality magnification filter which is designed for pixel art.
xstack
Stack video inputs into custom layout.
yadif
Deinterlace the input video ("yadif" means "yet another deinterlacing filter").
yadif_cuda
Deinterlace the input video using the yadif algorithm, but implemented in CUDA so that it can work as part of a GPU accelerated pipeline with nvdec and/or nvenc.
zoompan
Apply Zoom & Pan effect.
zscale
Scale (resize) the input video, using the z.
Multimedia
abitscope
Convert input audio to a video output, displaying the audio bit scope.
ahistogram
Convert input audio to a video output, displaying the volume histogram.
aphasemeter
Measures phase of input audio, which is exported as metadata lavfi.
avectorscope
Convert input audio to a video output, representing the audio vector scope.
bench
Benchmark part of a filtergraph.
abench
Benchmark part of a filtergraph.
concat
Concatenate audio and video streams, joining them together one after the other.
drawgraph
Draw a graph using input video or audio metadata.
adrawgraph
Draw a graph using input video or audio metadata.
ebur128
EBU R128 scanner filter.
interleave
interleave works with video inputs, ainterleave with audio.
ainterleave
interleave works with video inputs, ainterleave with audio.
metadata
Manipulate frame metadata.
ametadata
Manipulate frame metadata.
perms
Set read/write permissions for the output frames.
aperms
Set read/write permissions for the output frames.
realtime
Slow down filtering to match real time approximately.
arealtime
Slow down filtering to match real time approximately.
select
Select frames to pass in output.
aselect
Select frames to pass in output.
sendcmd
sendcmd must be inserted between two video filters, asendcmd must be inserted between two audio filters, but apart from that they act the same way.
asendcmd
sendcmd must be inserted between two video filters, asendcmd must be inserted between two audio filters, but apart from that they act the same way.
setpts
setpts works on video frames, asetpts on audio frames.
asetpts
setpts works on video frames, asetpts on audio frames.
setrange
Force color range for the output video frame.
settb
Set the timebase to use for the output frames timestamps.
asettb
Set the timebase to use for the output frames timestamps.
showcqt
Convert input audio to a video output representing frequency spectrum logarithmically using Brown-Puckette constant Q transform algorithm with direct frequency domain coefficient calculation (but the transform itself is not really constant Q, instead the Q factor is actually variable/clamped), with musical tone scale, from E0 to D#10.
showfreqs
Convert input audio to video output representing the audio power spectrum.
showspectrum
Convert input audio to a video output, representing the audio frequency spectrum.
showspectrumpic
Convert input audio to a single video frame, representing the audio frequency spectrum.
showvolume
Convert input audio volume to a video output.
showwaves
Convert input audio to a video output, representing the samples waves.
showwavespic
Convert input audio to a single video frame, representing the samples waves.
sidedata
Delete frame side data, or select frames based on it.
asidedata
Delete frame side data, or select frames based on it.
spectrumsynth
Sythesize audio from 2 input video spectrums, first input stream represents magnitude across time and second represents phase across time.
split
asplit works with audio input, split with video.
asplit
asplit works with audio input, split with video.
zmq
zmq and azmq work as a pass-through filters.
azmq
zmq and azmq work as a pass-through filters.