[FFmpeg-user] How can I see what version of a library is linked? (e.g. libmp3lame)

Zak ffmpeg-user-email at m.allo.ws
Tue Jun 12 05:42:18 EEST 2018


Dear FFmpeg User Mailing List,

The versions of certain libraries are printed in the banner, such as 
libavcodec.

I am curious how to find information about linked libraries, such as 
libmp3lame, the LAME MP3 encoder. I would like to know:

1. Was it statically or dynamically linked?

2. If dynamically linked, where is the libmp3lame.so file?

(I think the answer is /usr/local/libmp3lame.dylib in my case on my Mac, 
but I want FFmpeg to tell me. I am not on Kubuntu right now, but I can 
probably find it on Kubuntu also, and I'm guessing it is an .so and not 
a .dylib file on that OS.)

3. What is the version of the linked library? Here is how I can ask LAME 
itself, from the LAME CLI front-end for libmp3lame:

bash$ lame --version

LAME 64bits version 3.100 (http://lame.sf.net)

-----

Here is my best guess:

bash$ ffmpeg -h encoder=libmp3lame

Encoder libmp3lame [libmp3lame MP3 (MPEG audio layer 3)]:
     General capabilities: delay small
     Threading capabilities: none
     Supported sample rates: 44100 48000 32000 22050 24000 16000 11025 
12000 8000
     Supported sample formats: s32p fltp s16p
     Supported channel layouts: mono stereo
libmp3lame encoder AVOptions:
   -reservoir         <boolean>    E...A... use bit reservoir (default true)
   -joint_stereo      <boolean>    E...A... use joint stereo (default true)
   -abr               <boolean>    E...A... use ABR (default false)

This looks promising, but it turns out all of that information is 
hardcoded in this file:

ffmpeg/libavcodec/libmp3lame.c

You can even change this string:

AVCodec ff_libmp3lame_encoder = {
   // ...snip...
   .long_name = "libmp3lame MP3 (MPEG audio layer 3)"

...and the FFmpeg help will display whatever you type. It is not pulling 
it from the library.

This is intended to be a general question, so I am not going to include 
a specific FFmpeg banner because I use FFmpeg on two operating systems 
(MacOS 10.12 and Kubuntu) and I have multiple versions of FFmpeg.

Thank you,

Zak F.


More information about the ffmpeg-user mailing list