|
|
@ -146,6 +146,40 @@ ffmpeg -i INPUT -f framemd5 - |
|
|
|
|
|
|
|
|
|
|
|
See also the @ref{md5} muxer. |
|
|
|
See also the @ref{md5} muxer. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@anchor{gif} |
|
|
|
|
|
|
|
@section gif |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Animated GIF muxer. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It accepts the following options: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@table @option |
|
|
|
|
|
|
|
@item loop |
|
|
|
|
|
|
|
Set the number of times to loop the output. Use @code{-1} for no loop, @code{0} |
|
|
|
|
|
|
|
for looping indefinitely (default). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@item final_delay |
|
|
|
|
|
|
|
Force the delay (expressed in centiseconds) after the last frame. Each frame |
|
|
|
|
|
|
|
ends with a delay until the next frame. The default is @code{-1}, which is a |
|
|
|
|
|
|
|
special value to tell the muxer to re-use the previous delay. In case of a |
|
|
|
|
|
|
|
loop, you might want to customize this value to mark a pause for instance. |
|
|
|
|
|
|
|
@end table |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For example, to encode a gif looping 10 times, with a 5 seconds delay between |
|
|
|
|
|
|
|
the loops: |
|
|
|
|
|
|
|
@example |
|
|
|
|
|
|
|
ffmpeg -i INPUT -loop 10 -final_delay 500 out.gif |
|
|
|
|
|
|
|
@end example |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note 1: if you wish to extract the frames in separate GIF files, you need to |
|
|
|
|
|
|
|
force the @ref{image2} muxer: |
|
|
|
|
|
|
|
@example |
|
|
|
|
|
|
|
ffmpeg -i INPUT -c:v gif -f image2 "out%d.gif" |
|
|
|
|
|
|
|
@end example |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Note 2: the GIF format has a very small time base: the delay between two frames |
|
|
|
|
|
|
|
can not be smaller than one centi second. |
|
|
|
|
|
|
|
|
|
|
|
@anchor{hls} |
|
|
|
@anchor{hls} |
|
|
|
@section hls |
|
|
|
@section hls |
|
|
|
|
|
|
|
|
|
|
|