Je sauvegarde mes CD sur FLAC, puis transcode en fichiers AAC (.m4a) pour la portabilité sur mon téléphone Android et l'iPhone de l'épouse. J'utilisais XLD sur Mac et cela fait un excellent travail, mais je préfère ne pas voler son Mac pour le faire et pouvoir le faire sur ma propre boîte Debian. Les oeuvres suivantes:
avconv -i "inputfile.flac" -acodec aac -strict experimental "outputfile.m4a" -map_metadata "inputfile.flac":"outputfile.m4a"
Mais ce qui suit ne le fait pas (bien qu'il le fasse, mais ignore le 320 pour la qualité audio et les résultats comme ci-dessus):
avconv -i "inputfile.flac" -acodec aac -aq 320 -strict experimental "outputfile.m4a" -map_metadata "inputfile.flac":"outputfile.m4a"
J'avais trouvé d'autres commandes en ligne telles que "ffmpeg" mais apparemment la plupart ou la totalité d'entre elles sont dépréciées en faveur de la méthode avconv ci-dessus. Toute aide serait grandement appréciée! Je pourrais vivre avec 320 Kbps si ce n'est pas du vrai VBR, mais un LC VBR d'au moins 320 serait le meilleur.
la source
Réponses:
Tout d'abord,
-aq
définit un débit binaire variable basé sur la qualité - je pense que vous recherchez-ab
(notez que je suis un utilisateur ffmpeg, donc ma connaissance de la syntaxe avconv est limitée - je ne sais pas jusqu'où il a dérivé depuis fourchette).Quoi qu'il en soit, l'encodeur AAC avconv / ffmpeg intégré est assez mauvais.
fdk_aac
Le seul très bon encodeur AAC pour avconv / ffmpeg est libfdk_aac - mais la licence pour cela est incompatible avec la GPL, donc pour y accéder, vous devrez compiler le vôtre (c'est un guide de compilation ffmpeg, puisque je ne n'en connais pas un pour avconv - le guide Ubuntu devrait convenir à Debian, car je ne pense pas qu'il y ait quoi que ce soit de spécifique à Ubuntu).
Une fois que vous l'avez, suivez le guide d'encodage AAC ; Je recommande fortement d'essayer l'
-vbr
option de fdk_aac - un réglage de 3 sons transparents pour moi sur tous les fichiers que j'ai essayés, si vous voulez le placebo d'un débit binaire plus élevé, ou si vous êtes ingénieur du son, vous pouvez essayer un réglage de 5.Pas besoin
-map_metadata
, car ffmpeg transférera automatiquement les métadonnées (et je suis sûr que avconv le fera aussi).Pour un débit binaire fixe de 320 kbit / s (sérieusement, cela n'en vaut pas la peine, AAC atteint la transparence audio par rapport au CD audio original à environ 128 kbit / s fixe):
neroAacEnc
L'encodeur AAC de Nero doit être considéré comme comparable à fdk_aac et qaac (Quicktime AAC). Différentes personnes donneront des opinions différentes sur laquelle est la meilleure, mais vous ne remarquerez des différences qu'à des débits très faibles, et tout le monde convient qu'elles sont toutes de très haute qualité.
neroAacEnc
est disponible sur le site Web de Nero . Décompressez-le et placez-le quelque part dans votre $ PATH.Malheureusement,
neroAacEnc
ne peut prendre que l'audio WAV en entrée; vous pouvez contourner cela en utilisant avconv ou ffmpeg comme décodeur:Malheureusement, cela supprimera les métadonnées; pour transférer cela, utilisez avprobe / ffprobe (avec
-show_format
) pour extraire et neroAacTag pour insérer. Un script bash serait probablement en ordre.Voir la page HydrogenAudio sur neroAacEnc : de mémoire, un
-q
paramètre de 0,4 me paraissait très bien. Vous pouvez cibler un débit binaire avec-br
(encore une fois, je pense que ce serait ainsi exagéré):EDIT: voici un script pour convertir des fichiers audio en m4a avec neroAacEnc, puis baliser avec ffprobe et neroAacTag (nécessite qu'ils soient tous dans un répertoire de votre $ PATH). Il peut prendre plusieurs fichiers d'entrée, donc si vous l'enregistrez sous
convert-to-m4a
, vous pouvez convertir chaque fichier FLAC dans un répertoire avecIl ne se limite pas aux seuls fichiers FLAC; tout format audio que votre ffmpeg / avconv peut décoder fonctionnera. Vous voudrez peut-être changer ffprobe et ffmpeg en avprobe et avconv:
la source
brew install ffmpeg --with-fdk-aac
. vous pouvez obtenir une liste d'options avecbrew info ffmpeg
. Mais bonne idée de ne pas voler le Mac de votre femme :)Je suggère d'utiliser FFmpeg pour convertir de FLAC en AAC. FFmpeg s'installe facilement sur une machine Mac OS X avec brew:
Exécutez ensuite la commande suivante pour convertir tous les fichiers FLAC du répertoire actuel en AAC:
Et pour les convertir en MP3:
la source
for i in *flac;do of="${i/.flac/.m4a}"; ffmpeg -i "${i}" -vn -acodec aac -b:a 320k -f mp4 -y "${of}";done
Ceci est mon script enveloppant ffmpeg pour convertir tout format audio pris en charge en AAC (en utilisant l'encodeur libfdk-aac qui est l'encodeur aac recommandé par ffmpeg wiki).
Le message d'aide en ligne de commande:
la source
Réponse supplémentaire (à la réponse d'Evilsoup)
Gérer
find
's-print0
+xarg
' s-0
)$1
partirsh -c
de l'argument positionnel--FILE
défini parxarg
's-I
)Bon mot
la source