[FFmpeg-devel] RFC: opinions on making fftools work like a library

Rémi Denis-Courmont remi at remlab.net
Sun Mar 19 11:01:55 EET 2023


Le lauantaina 18. maaliskuuta 2023, 13.33.36 EET Neal Gompa a écrit :
> > Maybe you should first clarify what exactly do you mean by "work like a
> > library". Meaning literally turn it into a library with a C API you can
> > call? That would be a massive amount of work, though my current
> > refactorings are moving in that direction.
> > Or provide stronger guarantees for commandline options? Or something
> > else?
> 
> I think the idea is to turn fftools (e.g. ffmpeg/ffplay/ffprobe) into
> a generic, simple high level stable API that consumers can use. The
> raw libav* APIs are difficult for most people to use, which leads to a
> ton of wrappers around the fftools instead.

That sounds like a self-contradictory goal, TBH.

There are so many different settings, complex interactions between settings, 
and so much variability depending on versions and build parameters.

> Yes, it would be a lot of work, but it would make using ffmpeg way easier.

Or not. You would have to define an API for literally every command line switch 
that each of the tools exhibits. This would unavoidably result in some kind of 
high-level abstract and rather complex settings API that would be prone to 
silent breaks has the names, values and semantics of settings vary with 
versions and builds.

There may be value in doing that anyway. In particular, it could improve the 
progress and error reporting with callbacks rather than parsing the standard 
output. But it probably wouldn't be in "simplifying" the use of the tools.

-- 
レミ・デニ-クールモン
http://www.remlab.net/





More information about the ffmpeg-devel mailing list