flac2mp3 – Пакетный конвертер FLAC в MP3

Если у вас огромная музыкальная библиотека в формате FLAC без потерь и вам нужны портативные копии MP3, делать это вручную не вариант. flac2mp3 — это чистый скрипт Python, который рекурсивно находит все файлы FLAC и преобразует их в высококачественный MP3 с помощью ffmpeg.

Почему flac2mp3?

В сценарии используется кодировщик libmp3lame с -q:a 0 — самой высокой настройкой качества с переменной скоростью передачи данных. Звуковая разница с оригинальным FLAC практически отсутствует, а размеры файлов резко уменьшаются.

Функции

  • Рекурсивный поиск: просматривает все подкаталоги и автоматически находит каждый файл .flac.
  • Несколько режимов экспорта: преобразование на месте, зеркальное отображение дерева каталогов или сводный дамп одной папки. Вы даже можете комбинировать режимы за один проход.
  • Параллельная обработка. Используйте –parallel-run=4, чтобы задействовать несколько ядер ЦП и значительно ускорить пакетное преобразование.
  • Чистая обработка: правильно обрабатывает имена файлов и папок с пробелами и специальными символами.
  • Использование

    Самый простой случай — конвертировать все FLAC в текущем каталоге на место:

    python flac2mp3.py
    

    Более продвинутый пример из реальной жизни — преобразование всех файлов FLAC из D:\Downloads в D:\mp3 с помощью 4 параллельных потоков с сохранением структуры каталогов:

    python flac2mp3.py D:\Downloads\ --output-directory-save-directories-tree=D:\mp3s\ --parallel-run=4
    

    Под капотом

    По своей сути скрипт обходит файловую систему, конструирует команду ffmpeg для каждого файла:

    ffmpeg -i "song.flac" -c:a libmp3lame -q:a 0 "song.mp3"
    

    И порождает подпроцессы для выполнения преобразований, при необходимости используя пул потоков для параллелизма.

    Предварительные условия

  • Python 3.x
  • ffmpeg установлен и доступен в вашей системе PATH
  • Скрипт не имеет дополнительных зависимостей Python — чистая стандартная библиотека.

    https://github.com/zefir1990/flac2mp3