
есть ли способ конвертировать кучу файлов 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
определяет количество параллельных заданий