我可以用 来检查编码器是否可用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