И ALAC, и FLAC являются аудиоформатами без потерь, и файлы обычно имеют более или менее одинаковый размер при преобразовании из одного формата в другой. Я использую ffmpeg -i track.flac track.m4a
для преобразования между этими двумя форматами, но я замечаю, что результирующие файлы ALAC намного меньше, чем исходные. При использовании программного обеспечения для преобразования, такого как MediaHuman Audio Converter, размер ALAC будет примерно таким же, как у FLAC, поэтому я полагаю, что здесь не хватает некоторых флагов, которые вызывают ffmpeg
понижающую дискретизацию сигнала.
13
ffmpeg
как правило, необходимо-acodec
для любого пункта назначения, чтобы убедиться, что вы сделали разговор правильно. Есть много внешних интерфейсов, которые используют,ffmpeg
но я заметил, что многие не включают ALAC в качестве опции вывода.Ответы:
Хорошо, я, вероятно, был немного быстр, чтобы спросить здесь, но ради будущей ссылки вот ответ:
Нужно передать флаг ,
-acodec alac
чтобыffmpeg
для преобразования без потерь между FLAC и ALAC:ffmpeg -i track.flac -acodec alac track.m4a
источник
mp4
илиm4a
, поэтому необходима-acodec
опция express .-vcodec copy
их в свои новые файлы ALAC.И для преобразования всего каталога ...
Применение
flac-to-alac.sh
:flac-to-alac-ffmpeg.sh
:Альтернатива:
Я думал, что смогу заставить это работать в одной команде, но это не экранирует специальные символы, такие как
[
.Это казалось таким многообещающим ...
источник
for i in *.flac; do echo $i; ffmpeg -i "$i" -y -v 0 -vcodec copy -acodec alac "${i%.flac}".m4a && rm -f "$i"; done