[FFmpeg-user] options of vidstabdetect video filter

Moritz Barsnick barsnick at gmx.net
Fri Aug 7 21:17:00 EEST 2020

On Fri, Aug 07, 2020 at 17:16:24 +0200, PPRJ01 wrote:
> Is there a maximum value for the "stepsize" option of vidstabdetect ? I don't see any in the documentation.

If it's not in the documentation (it should be), you can query all
ranges with a command such as
$ ffmpeg -h filter=vidstabdetect

ffmpeg allows a maximum of 32.

> ffmpeg -i "INPUT.mp4" -an -vf vidstabdetect=shakiness=10:accuracy=15:stepsize=6:result="TRF06.txt" "dummy.mp4"
> ffmpeg -i "INPUT.mp4" -an -vf vidstabdetect=shakiness=10:accuracy=15:stepsize=32:result="TRF32.txt" "dummy.mp4"

> In both cases ffmpeg says that the parsed value is 6 and the two output TRF*.txt files are identical.

I can see that vid.stab's source code has a limitation:
If accuracy is larger than 9, step size is automatically reduced to 6.

That would explain your observation. Actually, the vid.stab library
even emits a message explaining this. So please always do have a look
at ffmpeg's console messages:

[vidstabdetect @ 0xbffe58a0] Multitheading: use 1 threads
[vidstabdetect @ 0xbffe58a0] For high accuracy use lower stepsize  -- set to 6 nowFieldsize: 32, Maximal translation: 34 pixel
[vidstabdetect @ 0xbffe5840] Number of used measurement fields: 24 out of 24
[vidstabdetect @ 0xbffe5840] Fieldsize: 16, Maximal translation: 16 pixel
[vidstabdetect @ 0xbffe5840] Number of used measurement fields: 40 out of 40

Note how it's hidden a bit due to a missing line break:
    For high accuracy use lower stepsize  -- set to 6 now

Reducing your accuracy to nine should result in changing behavior.


More information about the ffmpeg-user mailing list