Como posso converter para AAC?
Este é o comando FFmpeg mais básico para converter entrada em áudio AAC usando a mais alta qualidade que o AAC FFmpeg possui. libfdk_aac
é o codificador Fraunhofer AAC e está disponível quando você compila o FFmpeg com suporte para ele.
ffmpeg -i input.mp3 -c:a libfdk_aac output.m4a
Para alterar a qualidade, você tem duas opções:
Para taxa de bits variável (VBR), use a -vbr
opção Por exemplo, -vbr 4
é uma boa escolha (aproximadamente 128 kBit / s para áudio estéreo). Maior significa melhor. Os valores variam de 1 a 5.
ffmpeg -i input.mp3 -c:a libfdk_aac -vbr 4 output.m4a
Para taxa de bits fixa (CBR), use a -b:a
opção, por exemplo -b:a 128k
. 128 kBit / s deve ser bom o suficiente para a maioria das situações. Você também pode escolher algo mais baixo.
ffmpeg -i input.mp3 -c:a libfdk_aac -b:a 128k output.m4a
Você também pode usar HE-AAC (v1 / v2) em vez do perfil padrão AAC-LC (baixa complexidade), que é mais adequado para taxas de bits baixas:
ffmpeg -i input.mp3 -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k output.m4a
E se eu não tiver libfdk_aac
?
Algumas versões do FFmpeg não possuem libfdk_aac
(por motivos de licença). Se for esse o caso, você pode usar o codificador AAC embutido:
ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a
Este codificador não suporta VBR corretamente, portanto, se você precisar disso ou HE-AAC, continue lendo.
Você pode compilar o ffmpeg e adicionar libfdk_aac
suporte. Existem guias no Wiki do FFmpeg . Compilar é fácil no Linux, moderadamente fácil no OS X e bastante difícil no Windows. Quando você segue os guias de compilação e instala as bibliotecas apropriadas antes, o FFmpeg agora oferece a opção de uso libfdk_aac
.
Houve alguns problemas com sua abordagem original:
alac
não é AAC. ALAC é o Apple Lossless Audio Codec , enquanto AAC é Advanced Audio Coding .
É por isso que sua saída é maior que a entrada, porque, ao contrário do MP3, o ALAC ainda está compactado, mas precisa ser sem perdas - é por isso que ele precisa armazenar mais dados.
.aac
não é um contêiner de saída para áudio ALAC. Se você usa o AAC, isso deve funcionar. Eu usaria MP4 ou M4A embora.
-c:a
, isso tem algum sinônimo? Eu acho que pode significar,-acodec:a
mas no final, acabei de soltá-lo effmpeg
consegui deduzir um codec com base no nome do arquivo de saída desejado. (-strict experimental
Porém, é necessário ; e nos-map_metadata 0:0