Saída ffmpeg para determinado formato

1

Eu tenho um arquivo de mídia com o seguinte formato de acordo com 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

É possível ter a saída ffmpeg exatamente neste formato?

    
por William Entriken 26.08.2013 / 00:56

1 resposta

2

Você pode codificar um fluxo AAC com esses parâmetros usando um comando como este:

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

Qualquer formato de entrada suportado pode ser usado no lugar de wav .

Se o seu ffmpeg não estiver configurado com libfdk_aac , você poderá usar -acodec libfaac ou -acodec aac -strict experimental . Veja o Guia de Codificação do AAC do ffmpeg para obter mais detalhes sobre os diferentes codificadores AAC.

O contêiner terá a marca principal M4A , mas não os valores exatos para minor_version e compatible_brands. Se você precisar desses valores, você pode alterá-los com mp4box . Por exemplo, isso definirá a marca principal como M4A com a versão menor 0 e removerá iso2 (adicionado por ffmpeg) da lista de marcas compatíveis:

mp4box -brand "M4A :0" -rb iso2 out.m4a
    
por 26.08.2013 / 07:02