[FFmpeg-devel] Vid.stab video stabilization ready for libavfilter

Georg Martius georg.martius at web.de
Fri Feb 22 00:58:49 CET 2013

On Thursday 21 February 2013 22:55:10 Stefano Sabatini wrote:
> On date Wednesday 2013-02-20 23:06:22 +0100, Georg Martius encoded:
> > Dear ffmpeg developers,
> > 
> > I am the author of the vid.stab [1] video stabilization library that is
> > used in transcode so far.
> > Now I have implemented filters for libavfilter which work great.
> > The code-base was completely restructured and is now independent of
> > transcode and available as a library. The code is on github [2].
> > 
> > How can it become part of ffmpeg?
> > a) the library becomes part of ffmpeg (a subdir in the tree)
> > b) the library stays stand-alone and only the two filter files go into the
> > libavfilter directory.
> > 
> > I would like to keep the implementation of the lib independent of ffmpeg
> > to be able to integrate it into other tools.
> > What is your opinion?
> It really depends on you. Integration into an already existing
> framework may simplify things for you (no need to reinvent the wheel),
> at the cost that you become dependant on that framework.
> And of course libavfilter is *meant* to be used as a library from
> other frameworks/applications, but the cost is that you have to build
> a filtergraph in order to use a single filter (that's opposed to the
> design e.g. of OpenCV, where they provide filtering capabilities as
> low level functions).
Well that is not the problem, but there is for instance transcode which does 
not use libavfilter (but okay transcode is essentially dead).
> So that really depends on the granularity of control that you want to
> deliver to your users (OTOH it is not completely unreasonable the idea
> to add a low-level C API for specific filtering operations, e.g. like
> the one in libavilter/transform.h).
Yes, the transform.h would be obsolete (it was taken from vid.stab originally 
anyway ;-) but I have quite some other modules.
> BTW we do currently *have* a deshake/stabilization filter - deshake,
> benchmarks and comparisons are very welcome.
See my answer to Clément's post.
> Also ideally we should avoid to have different filters for the same
> functionality, unless there are compelling reasons for that
> (e.g. completely different design/features/license).
My approach is a two-pass one, but I have a single pass filter as well (so far 
only for transcode). Otherwise vid.stab is more advanced than deshake. It 
supports rotations, interpolation, foreground motion and the like...

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20130222/92f162c2/attachment.asc>

More information about the ffmpeg-devel mailing list