[FFmpeg-user] How to compile static FFmpeg to a .so file?

Leo Izen leo.izen at gmail.com
Mon Feb 6 19:37:01 EET 2023

On 1/30/23 13:22, Ricardo Zacarias wrote:
> I am trying to build a static ffmpeg to produce a .so file.
> I was able to build FFmpeg into a Windows dll using this configuration.
> ./configure --extra-ldexeflags='-dll' --target-os=win64 --arch=x86_64 --toolchain=msvc --prefix=/c/ffmpeg/out --enable-static -–disabled-shared --enable-gpl --enable-version3 --disable-ffprobe --disable-ffplay --disable-doc --enable-libx264 --extra-ldflags="-LIBPATH:/c/ffmpeg/external/x264/lib/" --extra-cflags="-I/c/ffmpeg/external/x264/include/"
> I would like to know if there is a way to do the equivalent on Ubuntu 22.04 that will result in a .so file.

FFmpeg doesn't have one library that contains all its code, but rather 
several, libavcodec, libavformat, etc.

If you build with --disable-programs --disable-static --enable-shared it 
will produce all of these libraries as various .so files (e.g. 
libavutil.so, libavcodec.so, etc.) but there's no single, self-contained 
library for all of FFmpeg. If you want to link to one of these 
libraries, you need to link to the right one.

More information about the ffmpeg-user mailing list