Eu apoio meus CDs no FLAC e depois transcodifico para arquivos AAC (.m4a) para portabilidade no meu telefone Android e no iPhone da esposa. Eu estava usando XLD no Mac e ele faz um ótimo trabalho, mas prefiro não roubar o Mac dela para fazer isso e ser capaz de fazê-lo na minha própria caixa Debian. Os seguintes trabalhos:
avconv -i "inputfile.flac" -acodec aac -strict experimental "outputfile.m4a" -map_metadata "inputfile.flac":"outputfile.m4a"
Mas o seguinte não funciona (bem, mas ignora os 320 em qualidade de áudio e resultados como os mesmos acima):
avconv -i "inputfile.flac" -acodec aac -aq 320 -strict experimental "outputfile.m4a" -map_metadata "inputfile.flac":"outputfile.m4a"
Eu encontrei outros comandos online, como "ffmpeg", mas aparentemente a maioria ou todos eles são depreciados em favor do método avconv acima. Qualquer ajuda seria muito apreciada! Eu poderia viver com 320 Kbps se não fosse o VBR verdadeiro, mas o LC VBR de pelo menos 320 seria o melhor.
audio
conversion
flac
estático
fonte
fonte
Respostas:
Antes de tudo,
-aq
define uma taxa de bits variável baseada na qualidade - acho que você está procurando-ab
(note que eu sou um usuário ffmpeg, portanto, meu conhecimento da sintaxe avconv é limitado - não faço ideia de quão longe ela foi desde o garfo).Independentemente disso, o codificador AAC avconv / ffmpeg embutido é muito ruim.
fdk_aac
O único codificador AAC realmente bom para avconv / ffmpeg é libfdk_aac - mas a licença é incompatível com a GPL, portanto, para ter acesso a ele, você precisará compilar o seu próprio (esse é um guia de compilação do ffmpeg, já que eu não conheço um para o avconv - o guia Ubuntu deve ser bom para o Debian, já que não acho que exista algo específico do Ubuntu nele).
Depois de conseguir, siga o guia de codificação AAC ; Eu recomendo fortemente experimentar a
-vbr
opção de fdk_aac - uma configuração de 3 parece transparente para mim em todos os arquivos que tentei, se você deseja um placebo com uma taxa de bits mais alta ou é um engenheiro de som, pode tentar uma configuração de 5)Não é necessário
-map_metadata
, pois o ffmpeg transfere automaticamente os metadados (e tenho certeza de que o avconv também).Para uma taxa de bits fixa de 320 kbit / s (sério, isso não vale a pena, o AAC obtém transparência de áudio versus o áudio do CD original em torno de 128 kbit / s fixos):
neroAacEnc
O codificador AAC do Nero deve ser considerado igual ao fdk_aac e qaac (Quicktime AAC). Pessoas diferentes darão opiniões diferentes sobre qual é o melhor, mas você só notará diferenças a taxas de bits muito baixas e todos concordam que todos são de alta qualidade.
neroAacEnc
está disponível no site da Nero . Descompacte e coloque-o em algum lugar do seu $ PATH.Infelizmente,
neroAacEnc
só pode receber áudio WAV como entrada; você pode contornar isso usando avconv ou ffmpeg como decodificador:Infelizmente, isso removerá os metadados; Para transferir isso, use avprobe / ffprobe (with
-show_format
) para extrair e neroAacTag para inserir. Um script bash provavelmente estaria em ordem.Veja a página HydrogenAudio no neroAacEnc : pela memória, uma
-q
configuração de 0,4 me pareceu muito boa. Você pode direcionar uma taxa de bits com-br
(novamente, eu acho que isso seria como um exagero):EDIT: aqui está um script para converter arquivos de áudio para m4a com o neroAacEnc e depois marcar com ffprobe e neroAacTag (requer que todos estejam em um diretório no seu $ PATH). Pode levar vários arquivos de entrada; portanto, se você o salvar como
convert-to-m4a
, poderá converter todos os arquivos FLAC em um diretório comNão se limita apenas aos arquivos FLAC; qualquer formato de áudio que seu ffmpeg / avconv possa decodificar funcionará. Você pode alterar ffprobe e ffmpeg para avprobe e avconv:
fonte
brew install ffmpeg --with-fdk-aac
. você pode obter uma lista de opções combrew info ffmpeg
. Mas boa idéia para não roubar Mac de sua esposa :)Eu sugiro usar o FFmpeg para converter de FLAC para AAC. O FFmpeg é facilmente instalado em uma máquina Mac OS X com brew:
Em seguida, execute o seguinte comando para converter todos os arquivos FLAC no diretório atual em AAC:
E para convertê-los em MP3:
fonte
for i in *flac;do of="${i/.flac/.m4a}"; ffmpeg -i "${i}" -vn -acodec aac -b:a 320k -f mp4 -y "${of}";done
Este é o meu script que envolve ffmpeg para converter qualquer formato de áudio suportado em AAC (usando o codificador libfdk-aac, que é o codificador aac recomendado pelo ffmpeg wiki).
A mensagem de ajuda da linha de comando:
fonte
Resposta suplementar (à resposta de evilsoup)
Lidar
find
's-print0
+xarg
' s-0
)$1
partirsh -c
do argumento posicional--FILE
definido porxarg
's-I
)One-liner
fonte