Как конвертировать файлы APE во FLAC в Linux?

Как конвертировать файлы APE во FLAC в Linux?

есть ли способ конвертировать кучу файлов APE во FLAC в Linux, не изменяя их каким-либо образом? Я имею в виду без применения replaygain и т. д.

решение1

В каталоге с .apeфайлами /Monkey Audio:

dir/with/ape$ for i in *ape; do ffmpeg -i "$i" -compression_level 12 "${i%.ape}.flac"; done
  • Theуровень сжатияможно установить любое значение (0-12), но я обычно использую самое высокое, поскольку обычно делаю это небольшими партиями. Примечание: это отличается от вариантов, для flacкоторых это 0-8.
  • Перед конвертацией .apeфайлможет быть проверенс
    ffmpeg -v warning -i foo.ape -f null -
    
    (используйте -v errorдля просмотра только критических ошибок), чтобы проверить, будет ли он декодироваться правильно.

Если вы создадите скрипт или функцию оболочки (т. е. не псевдоним), например, ape2flac, вам не придется искать это в следующий раз, когда вы столкнетесь с файлами ape!

решение2

Я попробовал решение, предоставленное @bvargo, и оно справляется с задачей, но оно использует цикл for для обработки одного файла за раз, что не очень эффективно. Лучшим подходом для преобразования нескольких файлов является их параллельная обработка. Это значительно сокращает общее время преобразования:

parallel -j12 ffmpeg -i {} -compression_level 12 {.}.flac ::: *.ape
  • -j12определяет количество параллельных заданий

Связанный контент