Если у вас огромная музыкальная библиотека в формате FLAC без потерь и вам нужны портативные копии MP3, делать это вручную не вариант. flac2mp3 — это чистый скрипт Python, который рекурсивно находит все файлы FLAC и преобразует их в высококачественный MP3 с помощью ffmpeg.
Почему flac2mp3?
В сценарии используется кодировщик libmp3lame с -q:a 0 — самой высокой настройкой качества с переменной скоростью передачи данных. Звуковая разница с оригинальным FLAC практически отсутствует, а размеры файлов резко уменьшаются.
Функции
Использование
Самый простой случай — конвертировать все 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 — чистая стандартная библиотека.
https://github.com/zefir1990/flac2mp3