1

Я могу проверить, доступен ли кодировщик с помощью ffmpeg -encoders | grep lame , но как мне узнать версию?

В случае LAME я могу открыть преобразованный аудиофайл с помощью текстового редактора и найти там версию, но я хотел бы знать, может ли FFmpeg сразу же дать мне информацию о версии кодека, не прибегая к взломам?

2 ответа2

1

AFAIK, 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
...
1

В случае использования внутреннего встроенного кодера FFmpeg, такого как -c:a aac (в отличие от кодировщика из внешней библиотеки, например, libmp3lame), вы можете ссылаться на номер версии libavcodec, как показано в выводе консоли, когда используя инструмент ffmpeg . Это не обязательно "версия" кодека, но она даст вам общее представление о том, когда на временной шкале версии 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .