Most applications of ffmpeg both in terminal and code seem to be passing ffmpeg commands to the ffmpeg library with specific parameters. For example, you might run the following command to get an overlayed gif out of a video input and a png input:
-i i.mp4 -i me.png -filter_complex 'overlay' -pix_fmt yuv420p -c:a copy output.gif
Is it possible to work with the library without using commands and only programmatically? For example, by creating an FFmpeg object, passing it relevant parameters and then reading the output file from a specific directory, preferrably using C++ or Java.