FFmpeg Explorer

A tool to help you explore FFmpeg filters. To use:

  1. Add filters from the list on the left.
  2. Click on filters in the node editor to modify options.
  3. Hit "render" to preview the output in browser.
  4. To edit the graph, disable "lock layout."

Note: work in progress, many things may be broken! Refresh if it hangs or crashes. May not work on mobile. Post issues/feedback to GitHub. By Sam Lavigne.

Output Command

Error Log

Filters (click to add)

addroi V⇒V
Add region of interest to frame.
alphaextract V⇒V
Extract an alpha channel as a grayscale image component.
alphamerge VV⇒V
Copy the luma value of the second input into the alpha channel of the first input.
amplify V⇒V
Amplify changes between successive video frames.
ass V⇒V
Render ASS subtitles onto input video using the libass library.
atadenoise V⇒V
Apply an Adaptive Temporal Averaging Denoiser.
avgblur V⇒V
Apply Average Blur filter.
bbox V⇒V
Compute bounding box for each frame.
bench V⇒V
Benchmark part of a filtergraph.
bilateral V⇒V
Apply Bilateral filter.
bitplanenoise V⇒V
Measure bit plane noise.
blackdetect V⇒V
Detect video intervals that are (almost) black.
blackframe V⇒V
Detect frames that are (almost) black.
blend VV⇒V
Blend two video frames into each other.
blockdetect V⇒V
Blockdetect filter.
blurdetect V⇒V
Blurdetect filter.
bm3d N⇒V
Block-Matching 3D denoiser.
boxblur V⇒V
Blur the input.
bwdif V⇒V
Deinterlace the input image.
cas V⇒V
Contrast Adaptive Sharpen.
chromahold V⇒V
Turns a certain color range into gray.
chromakey V⇒V
Turns a certain color into transparency. Operates on YUV colors.
chromanr V⇒V
Reduce chrominance noise.
chromashift V⇒V
Shift chroma.
ciescope V⇒V
Video CIE scope.
codecview V⇒V
Visualize information about some codecs.
colorbalance V⇒V
Adjust the color balance.
colorchannelmixer V⇒V
Adjust colors by mixing color channels.
colorcontrast V⇒V
Adjust color contrast between RGB components.
colorcorrect V⇒V
Adjust color white balance selectively for blacks and whites.
colorize V⇒V
Overlay a solid color on the video stream.
colorkey V⇒V
Turns a certain color into transparency. Operates on RGB colors.
colorhold V⇒V
Turns a certain color range into gray. Operates on RGB colors.
colorlevels V⇒V
Adjust the color levels.
colormap VVV⇒V
Apply custom Color Maps to video stream.
colormatrix V⇒V
Convert color matrix.
colorspace V⇒V
Convert between colorspaces.
colortemperature V⇒V
Adjust color temperature of video.
convolution V⇒V
Apply convolution filter.
convolve VV⇒V
Convolve first video stream with second video stream.
copy V⇒V
Copy the input video unchanged to the output.
cover_rect V⇒V
Find and cover a user specified object.
crop V⇒V
Crop the input video.
cropdetect V⇒V
Auto-detect crop size.
cue V⇒V
Delay filtering to match a cue.
curves V⇒V
Adjust components curves.
datascope V⇒V
Video data analysis.
dblur V⇒V
Apply Directional Blur filter.
dctdnoiz V⇒V
Denoise frames using 2D DCT.
deband V⇒V
Debands video.
deblock V⇒V
Deblock video.
decimate N⇒V
Decimate frames (post field matching filter).
deconvolve VV⇒V
Deconvolve first video stream with second video stream.
dedot V⇒V
Reduce cross-luminance and cross-color.
deflate V⇒V
Apply deflate effect.
deflicker V⇒V
Remove temporal frame luminance variations.
dejudder V⇒V
Remove judder produced by pullup.
delogo V⇒V
Remove logo from input video.
derain V⇒V
Apply derain filter to the input.
deshake V⇒V
Stabilize shaky video.
despill V⇒V
Despill video.
detelecine V⇒V
Apply an inverse telecine pattern.
dilation V⇒V
Apply dilation effect.
displace VVV⇒V
Displace pixels.
dnn_classify V⇒V
Apply DNN classify filter to the input.
dnn_detect V⇒V
Apply DNN detect filter to the input.
dnn_processing V⇒V
Apply DNN processing filter to the input.
doubleweave V⇒V
Weave input video fields into double number of frames.
drawbox V⇒V
Draw a colored box on the input video.
drawgraph V⇒V
Draw a graph using input video metadata.
drawgrid V⇒V
Draw a colored grid on the input video.
drawtext V⇒V
Draw text on top of video frames using libfreetype library.
edgedetect V⇒V
Detect and draw edge.
elbg V⇒V
Apply posterize effect, using the ELBG algorithm.
entropy V⇒V
Measure video frames entropy.
epx V⇒V
Scale the input using EPX algorithm.
eq V⇒V
Adjust brightness, contrast, gamma, and saturation.
erosion V⇒V
Apply erosion effect.
estdif V⇒V
Apply Edge Slope Tracing deinterlace.
exposure V⇒V
Adjust exposure of the video stream.
extractplanes V⇒N
Extract planes as grayscale frames.
fade V⇒V
Fade in/out input video.
feedback VV⇒VV
Apply feedback video filter.
fftdnoiz V⇒V
Denoise frames using 3D FFT.
fftfilt V⇒V
Apply arbitrary expressions to pixels in frequency domain.
field V⇒V
Extract a field from the input video.
fieldhint V⇒V
Field matching using hints.
fieldmatch N⇒V
Field matching for inverse telecine.
fieldorder V⇒V
Set the field order.
fillborders V⇒V
Fill borders of the input video.
find_rect V⇒V
Find a user specified object.
floodfill V⇒V
Fill area with same color with another color.
format V⇒V
Convert the input video to one of the specified pixel formats.
fps V⇒V
Force constant framerate.
framepack VV⇒V
Generate a frame packed stereoscopic video.
framerate V⇒V
Upsamples or downsamples progressive source between specified frame rates.
framestep V⇒V
Select one frame every N frames.
freezedetect V⇒V
Detects frozen video input.
freezeframes VV⇒V
Freeze video frames.
fspp V⇒V
Apply Fast Simple Post-processing filter.
gblur V⇒V
Apply Gaussian Blur filter.
geq V⇒V
Apply generic equation to each pixel.
gradfun V⇒V
Debands video quickly using gradients.
graphmonitor V⇒V
Show various filtergraph stats.
grayworld V⇒V
Adjust white balance using LAB gray world algorithm
greyedge V⇒V
Estimates scene illumination by grey edge assumption.
guided N⇒V
Apply Guided filter.
haldclut VV⇒V
Adjust colors using a Hald CLUT.
hflip V⇒V
Horizontally flip the input video.
histeq V⇒V
Apply global color histogram equalization.
histogram V⇒V
Compute and draw a histogram.
hqdn3d V⇒V
Apply a High Quality 3D Denoiser.
hqx V⇒V
Scale the input by 2, 3 or 4 using the hq*x magnification algorithm.
hstack N⇒V
Stack video inputs horizontally.
hsvhold V⇒V
Turns a certain HSV range into gray.
hsvkey V⇒V
Turns a certain HSV range into transparency. Operates on YUV colors.
hue V⇒V
Adjust the hue and saturation of the input video.
huesaturation V⇒V
Apply hue-saturation-intensity adjustments.
hwdownload V⇒V
Download a hardware frame to a normal frame
hwmap V⇒V
Map hardware frames
hwupload V⇒V
Upload a normal frame to a hardware frame
hysteresis VV⇒V
Grow first stream into second stream by connecting components.
identity VV⇒V
Calculate the Identity between two video streams.
idet V⇒V
Interlace detect Filter.
il V⇒V
Deinterleave or interleave fields.
inflate V⇒V
Apply inflate effect.
interlace V⇒V
Convert progressive video into interlaced.
interleave N⇒V
Temporally interleave video inputs.
kerndeint V⇒V
Apply kernel deinterlacing to the input.
kirsch V⇒V
Apply kirsch operator.
lagfun V⇒V
Slowly update darker pixels.
latency V⇒V
Report video filtering latency.
lenscorrection V⇒V
Rectify the image by correcting for lens distortion.
limitdiff N⇒V
Apply filtering with limiting difference.
limiter V⇒V
Limit pixels components to the specified range.
loop V⇒V
Loop video frames.
lumakey V⇒V
Turns a certain luma into transparency.
lut V⇒V
Compute and apply a lookup table to the RGB/YUV input video.
lut1d V⇒V
Adjust colors using a 1D LUT.
lut2 VV⇒V
Compute and apply a lookup table from two video inputs.
lut3d V⇒V
Adjust colors using a 3D LUT.
lutrgb V⇒V
Compute and apply a lookup table to the RGB input video.
lutyuv V⇒V
Compute and apply a lookup table to the YUV input video.
maskedclamp VVV⇒V
Clamp first stream with second stream and third stream.
maskedmax VVV⇒V
Apply filtering with maximum difference of two streams.
maskedmerge VVV⇒V
Merge first stream with second stream using third stream as mask.
maskedmin VVV⇒V
Apply filtering with minimum difference of two streams.
maskedthreshold VV⇒V
Pick pixels comparing absolute difference of two streams with threshold.
maskfun V⇒V
Create Mask.
median V⇒V
Apply Median filter.
mergeplanes N⇒V
Merge planes.
mestimate V⇒V
Generate motion vectors.
metadata V⇒V
Manipulate video frame metadata.
midequalizer VV⇒V
Apply Midway Equalization.
minterpolate V⇒V
Frame rate conversion using Motion Interpolation.
mix N⇒V
Mix video inputs.
monochrome V⇒V
Convert video to gray using custom color filter.
morpho VV⇒V
Apply Morphological filter.
mpdecimate V⇒V
Remove near-duplicate frames.
msad VV⇒V
Calculate the MSAD between two video streams.
multiply VV⇒V
Multiply first video stream with second video stream.
negate V⇒V
Negate input video.
nlmeans V⇒V
Non-local means denoiser.
nnedi V⇒V
Apply neural network edge directed interpolation intra-only deinterlacer.
noformat V⇒V
Force libavfilter not to use any of the specified pixel formats for the input to the next filter.
noise V⇒V
Add noise.
normalize V⇒V
Normalize RGB video.
null V⇒V
Pass the source unchanged to the output.
oscilloscope V⇒V
2D Video Oscilloscope.
overlay VV⇒V
Overlay a video source on top of the input.
owdenoise V⇒V
Denoise using wavelets.
pad V⇒V
Pad the input video.
palettegen V⇒V
Find the optimal palette for a given stream.
paletteuse VV⇒V
Use a palette to downsample an input video stream.
perms V⇒V
Set permissions for the output video frame.
perspective V⇒V
Correct the perspective of video.
phase V⇒V
Phase shift fields.
photosensitivity V⇒V
Filter out photosensitive epilepsy seizure-inducing flashes.
pixdesctest V⇒V
Test pixel format definitions.
pixelize V⇒V
Pixelize video.
pixscope V⇒V
Pixel data analysis.
pp V⇒V
Filter video using libpostproc.
pp7 V⇒V
Apply Postprocessing 7 filter.
premultiply N⇒V
PreMultiply first stream with first plane of second stream.
prewitt V⇒V
Apply prewitt operator.
pseudocolor V⇒V
Make pseudocolored video frames.
psnr VV⇒V
Calculate the PSNR between two video streams.
pullup V⇒V
Pullup from field sequence to frames.
qp V⇒V
Change video quantization parameters.
random V⇒V
Return random frames.
readeia608 V⇒V
Read EIA-608 Closed Caption codes from input video and write them to frame metadata.
readvitc V⇒V
Read vertical interval timecode and write it to frame metadata.
realtime V⇒V
Slow down filtering to match realtime.
remap VVV⇒V
Remap pixels.
removegrain V⇒V
Remove grain.
removelogo V⇒V
Remove a TV logo based on a mask image.
repeatfields V⇒V
Hard repeat fields based on MPEG repeat field flag.
reverse V⇒V
Reverse a clip.
rgbashift V⇒V
Shift RGBA.
roberts V⇒V
Apply roberts cross operator.
rotate V⇒V
Rotate the input image.
sab V⇒V
Apply shape adaptive blur.
scale V⇒V
Scale the input video size and/or convert the image format.
scale2ref VV⇒VV
Scale the input video size and/or convert the image format to the given reference.
scdet V⇒V
Detect video scene change
scharr V⇒V
Apply scharr operator.
scroll V⇒V
Scroll input video.
segment V⇒N
Segment video stream.
select V⇒N
Select video frames to pass in output.
selectivecolor V⇒V
Apply CMYK adjustments to specific color ranges.
sendcmd V⇒V
Send commands to filters.
separatefields V⇒V
Split input video frames into fields.
setdar V⇒V
Set the frame display aspect ratio.
setfield V⇒V
Force field for the output video frame.
setparams V⇒V
Force field, or color property for the output video frame.
setpts V⇒V
Set PTS for the output video frame.
setrange V⇒V
Force color range for the output video frame.
setsar V⇒V
Set the pixel sample aspect ratio.
settb V⇒V
Set timebase for the video output link.
shear V⇒V
Shear transform the input image.
showinfo V⇒V
Show textual information for each video frame.
showpalette V⇒V
Display frame palette.
shuffleframes V⇒V
Shuffle video frames.
shufflepixels V⇒V
Shuffle video pixels.
shuffleplanes V⇒V
Shuffle video planes.
sidedata V⇒V
Manipulate video frame side data.
signalstats V⇒V
Generate statistics from video analysis.
signature N⇒V
Calculate the MPEG-7 video signature
siti V⇒V
Calculate spatial information (SI) and temporal information (TI).
smartblur V⇒V
Blur the input video without impacting the outlines.
sobel V⇒V
Apply sobel operator.
split V⇒N
Pass on the input to N video outputs.
spp V⇒V
Apply a simple post processing filter.
sr V⇒V
Apply DNN-based image super resolution to the input.
ssim VV⇒V
Calculate the SSIM between two video streams.
stereo3d V⇒V
Convert video stereoscopic 3D view.
subtitles V⇒V
Render text subtitles onto input video using the libass library.
super2xsai V⇒V
Scale the input by 2x using the Super2xSaI pixel art algorithm.
swaprect V⇒V
Swap 2 rectangular objects in video.
swapuv V⇒V
Swap U and V components.
tblend V⇒V
Blend successive frames.
telecine V⇒V
Apply a telecine pattern.
thistogram V⇒V
Compute and draw a temporal histogram.
threshold VVVV⇒V
Threshold first video stream using other video streams.
thumbnail V⇒V
Select the most representative frame in a given sequence of consecutive frames.
tile V⇒V
Tile several successive frames together.
tinterlace V⇒V
Perform temporal field interlacing.
tlut2 V⇒V
Compute and apply a lookup table from two successive frames.
tmedian V⇒V
Pick median pixels from successive frames.
tmidequalizer V⇒V
Apply Temporal Midway Equalization.
tmix V⇒V
Mix successive video frames.
tonemap V⇒V
Conversion to/from different dynamic ranges.
tpad V⇒V
Temporarily pad video frames.
transpose V⇒V
Transpose input video.
trim V⇒V
Pick one continuous section from the input, drop the rest.
unpremultiply N⇒V
UnPreMultiply first stream with first plane of second stream.
unsharp V⇒V
Sharpen or blur the input video.
untile V⇒V
Untile a frame into a sequence of frames.
v360 V⇒V
Convert 360 projection of video.
vaguedenoiser V⇒V
Apply a Wavelet based Denoiser.
varblur VV⇒V
Apply Variable Blur filter.
vectorscope V⇒V
Video vectorscope.
vflip V⇒V
Flip the input video vertically.
vfrdet V⇒V
Variable frame rate detect filter.
vibrance V⇒V
Boost or alter saturation.
vif VV⇒V
Calculate the VIF between two video streams.
vignette V⇒V
Make or reverse a vignette effect.
vmafmotion V⇒V
Calculate the VMAF Motion score.
vstack N⇒V
Stack video inputs vertically.
w3fdif V⇒V
Apply Martin Weston three field deinterlace.
waveform V⇒V
Video waveform monitor.
weave V⇒V
Weave input video fields into frames.
xbr V⇒V
Scale the input using xBR algorithm.
xcorrelate VV⇒V
Cross-correlate first video stream with second video stream.
xfade VV⇒V
Cross fade one video with another video.
xmedian N⇒V
Pick median pixels from several video inputs.
xstack N⇒V
Stack video inputs into custom layout.
yadif V⇒V
Deinterlace the input image.
yaepblur V⇒V
Yet another edge preserving blur filter.
zoompan V⇒V
Apply Zoom & Pan effect.
nullsink V⇒|
Do absolutely nothing with the input video.
spectrumsynth VV⇒A
Convert input spectrum videos to audio output.
fifo V⇒V
Buffer input images and send them when they are requested.
buffersink V⇒|
Buffer video frames, and make them available to the end of the filter graph.
Download
input
v
a
output
v
a