Come posso convertire in CAA?
Questo è il comando FFmpeg più semplice per convertire l'ingresso in audio AAC usando la massima qualità AF FFmpeg. libfdk_aac
è il codificatore AAC Fraunhofer ed è disponibile quando si compila FFmpeg con il supporto per esso.
ffmpeg -i input.mp3 -c:a libfdk_aac output.m4a
Per cambiare la qualità, hai due opzioni:
Per bitrate variabile (VBR), utilizzare l' -vbr
opzione. Ad esempio, -vbr 4
è una buona scelta (circa 128 kBit / s per l'audio stereo). Più alto significa meglio. I valori vanno da 1 a 5.
ffmpeg -i input.mp3 -c:a libfdk_aac -vbr 4 output.m4a
Per bitrate fisso (CBR), utilizzare l' -b:a
opzione, ad esempio -b:a 128k
. 128 kBit / s dovrebbero essere abbastanza buoni per la maggior parte delle situazioni. Spesso puoi scegliere anche qualcosa di più basso.
ffmpeg -i input.mp3 -c:a libfdk_aac -b:a 128k output.m4a
Puoi anche usare HE-AAC (v1 / v2) invece del profilo AAC-LC predefinito (bassa complessità), che è più adatto per bitrate bassi:
ffmpeg -i input.mp3 -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k output.m4a
E se non avessi libfdk_aac
?
Alcune versioni di FFmpeg non hanno libfdk_aac
(per motivi di licenza). In tal caso, puoi utilizzare l'encoder AAC incorporato:
ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a
Questo codificatore non supporta correttamente VBR, quindi se hai bisogno di questo o HE-AAC, continua a leggere.
Puoi compilare ffmpeg tu stesso e aggiungere il libfdk_aac
supporto. Ci sono guide sul Wiki di FFmpeg . La compilazione è facile su Linux, moderatamente facile su OS X e piuttosto difficile su Windows. Quando segui le guide alla compilazione e installi prima le librerie appropriate, ora FFmpeg ti dà la possibilità di usare libfdk_aac
.
Ci sono stati alcuni problemi con il tuo approccio originale:
alac
non è AAC. ALAC è l' Apple Lossless Audio Codec , mentre AAC è Advanced Audio Coding .
Ecco perché il tuo output è più grande dell'input, perché a differenza di MP3, ALAC è ancora compresso, ma deve essere senza perdita di dati, ecco perché deve memorizzare più dati.
.aac
non è un contenitore di output per l'audio ALAC. Se usi la CAA, dovrebbe funzionare. Vorrei usare MP4 o M4A però.
-c:a
, ha qualche sinonimo? Immagino che potrebbe significare,-acodec:a
ma alla fine l'ho lasciato cadere effmpeg
sono riuscito a dedurre un codec in base al nome del file di output desiderato. (Necessario-strict experimental
però; e lanciato-map_metadata 0:0
per buona misura, per preservare i tag ID3.)