FFmpeg 1.0.10
Since* 0.9
#

Attempt to fix small changes in horizontal and/or vertical shift. This filter helps remove camera shake from hand-holding a camera, bumping a tripod, moving on a vehicle, etc.

The filter accepts parameters as a string of the form "x:y:w:h:rx:ry:edge:blocksize:contrast:search:filename"

A description of the accepted parameters follows.

x, y, w, h

Specify a rectangular area where to limit the search for motion vectors. If desired the search for motion vectors can be limited to a rectangular area of the frame defined by its top left corner, width and height. These parameters have the same meaning as the drawbox filter which can be used to visualise the position of the bounding box.

This is useful when simultaneous movement of subjects within the frame might be confused for camera motion by the motion vector search.

If any or all of x, y, w and h are set to -1 then the full frame is used. This allows later options to be set without specifying the bounding box for the motion vector search.

Default - search the whole frame.

rx, ry

Specify the maximum extent of movement in x and y directions in the range 0-64 pixels. Default 16.

edge

Specify how to generate pixels to fill blanks at the edge of the frame. An integer from 0 to 3 as follows:

0

Fill zeroes at blank locations

1

Original image at blank locations

2

Extruded edge value at blank locations

3

Mirrored edge at blank locations

The default setting is mirror edge at blank locations.

blocksize

Specify the blocksize to use for motion search. Range 4-128 pixels, default 8.

contrast

Specify the contrast threshold for blocks. Only blocks with more than the specified contrast (difference between darkest and lightest pixels) will be considered. Range 1-255, default 125.

search

Specify the search strategy 0 = exhaustive search, 1 = less exhaustive search. Default - exhaustive search.

filename

If set then a detailed log of the motion search is written to the specified file.