Вывод ffmpeg в определенный формат

У меня есть медиафайл следующего формата согласно ffprobe:

  Metadata:
    major_brand     : M4A 
    minor_version   : 0
    compatible_brands: M4A mp42isom
    creation_time   : 2013-03-21 07:05:30
  Duration: 00:00:00.42, start: 0.000000, bitrate: 118 kb/s
    Stream #0:0(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 100 kb/s (default)
    Metadata:
      creation_time   : 2013-03-21 07:05:30
      handler_name    : Core Media Audio

можно ли выводить ffmpeg именно в таком формате?

5
задан William Entriken
источник

1 ответов

вы можете закодировать AAC поток с этими параметрами, используя команду, как это:

ffmpeg -i in.wav -map 0:a -acodec libfdk_aac -ar 44100 -ac 2 -ab 100k out.m4a

любой поддерживаемый формат ввода можно использовать вместо wav.

если ffmpeg не настроен на libfdk_aac можно использовать -acodec libfaac или -acodec aac -strict experimental вместо. Смотрите видео это руководство по кодированию AAC для больше деталей на различных шифраторах AAC.

контейнер будет иметь главный бренд M4A но не те точные значения для minor_version и compatible_brands. Если вам нужны эти значения вы можете изменить их с mp4box. Например, это установит основной бренд в M4A С версии 0, и удалить iso2 (добавлено ffmpeg) из списка совместимых брендов:

mp4box -brand "M4A :0" -rb iso2 out.m4a
2
отвечен mark4o 2013-08-26 05:02:51
источник

Другие вопросы audio ffmpeg media