Tile several successive frames together.
It accepts a list of options in the form of key=value pairs separated by ":". A description of the accepted options follows.
- layout
-
Set the grid size (i.e. the number of lines and columns) in the form "wxh".
- margin
-
Set the outer border margin in pixels.
- padding
-
Set the inner border thickness (i.e. the number of pixels between frames). For more advanced padding options (such as having different values for the edges), refer to the pad video filter.
- nb_frames
-
Set the maximum number of frames to render in the given area. It must be less than or equal to wxh. The default value is
0
, meaning all the area will be used.
Alternatively, the options can be specified as a flat string:
layout[:nb_frames[:margin[:padding]]]
For example, produce 8x8 PNG tiles of all keyframes (-skip_frame nokey) in a movie:
ffmpeg -skip_frame nokey -i file.avi -vf 'scale=128:72,tile=8x8' -an -vsync 0 keyframes%03d.png
The -vsync 0 is necessary to prevent ffmpeg from duplicating each output frame to accomodate the originally detected frame rate.
Another example to display 5
pictures in an area of 3x2
frames,
with 7
pixels between them, and 2
pixels of initial margin, using
mixed flat and named options:
tile=3x2:nb_frames=5:padding=7:margin=2