在 FFmpeg 中获取编码器版本

在 FFmpeg 中获取编码器版本

我可以用 来检查编码器是否可用ffmpeg -encoders | grep lame,但是如何找出它的版本呢?

对于 LAME,我可以用文本编辑器打开转换后的音频文件并在那里找到版本,但我想知道 FFmpeg 是否可以立即给我编解码器版本信息,而无需诉诸黑客?

答案1

据我所知,ffmpeg没有相关信息。解码器/编码器的版本取决于您决定在操作系统上安装的库。因此,在 Ubuntu 上,您可以从包管理器中获取编解码器版本,如下所示:

$ ffmpeg -v quiet -codecs |grep lame
DEA.L. mp2                  MP2 (MPEG audio layer 2) (decoders: mp2 mp2float ) (encoders: mp2 mp2fixed libtwolame )
DEA.L. mp3                  MP3 (MPEG audio layer 3) (decoders: mp3 mp3float ) (encoders: libmp3lame libshine )
$ apt search libmp3lame
...
libmp3lame0/xenial,now 3.99.5+repack1-9build1 amd64 [installed,automatic]
  MP3 encoding library
...

答案2

如果使用内部原生 FFmpeg 编码器-c:a aac(例如 libmp3lame 等外部库的编码器),您可以参考使用该ffmpeg工具时控制台输出中显示的 libavcodec 版本号。它不一定是编解码器“版本”,但它可以让您大致了解文件来自 FFmpeg 版本时间线中的哪个时间。示例:

libavcodec     57. 95.101 / 57. 95.101

如果您使用 FFmpeg libav* 库,请参考每个库的版本标头,例如libavcodec/version.h

如果您有一个使用 编码的文件ffmpeg,则根据输出格式,它通常会在文件元数据中提供多路复用器版本。示例:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.m4a':
  Metadata:
    major_brand     : M4A 
    minor_version   : 512
    compatible_brands: isomiso2
    encoder         : Lavf57.72.101

相关内容