Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Handle FFMPEG dependency

I'm developping an application (using the Qt framework that has several dependencies like ffmpeg. Since I'm mostly developping for the MacOS plateform, I use Homebrew to manage my dependencies like ffmpeg.

As a result, I'm facing problem with unexpected API changes when the brew formula changes.

Homebrew mainteners advice me it's a bad practice to handle dependencies via brew. So I wonder what would be the best option?

I'm thinking about adding ffmpeg as a submodule of my project. What's your thought about it?

like image 570
Martin Delille Avatar asked Jan 22 '26 06:01

Martin Delille


1 Answers

If you need a specific release of some library which conflicts with default as supplied then

uninstall current release

download source of desired release https://ffmpeg.org/download.html#releases

decompress source code into some location then cd into there

issue as yourself

./configure 

carefully examine output and if no sign of ERROR and its finding upstream libraries correctly then issue as yourself one of the following

make       # only uses one CPU core still works but slower than -jxxx
make -j4   # to speed up make and you have a dual core CPU
make -j8   # to speed up make and you have a quad core CPU

now examine output of make for and errors ... you typically can ignore compile warnings ... if all seems in order then issue (linux/OSX)

sudo make install

this will dist the libraries and executables to the standard locations which are visible for subsequent linking by downstream apps

Now you can compile your downstream code as normal to link to your freshly disted libraries from ffmpeg (there are many)

Above is the simplest case given that you already have installed the developer utilities necessary to compile source (compilers,linkers, ...)

If above fails due to missing or incorrect version of upstream librarie(s), repeat similar steps for those first then return back to compiling ffmpeg (recursive descent into library dependency install madness) ... I find compiling massive numbers of open source libraries easier and more standardized on linux than OSX ... YMMV

like image 144
Scott Stensland Avatar answered Jan 23 '26 19:01

Scott Stensland



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!