Преобразование FLAC в ALAC, сохранение тегов - в скрипте
В настоящее время я создаю сценарий для поддержки параллельных музыкальных библиотек, потому что у меня есть устройства, которые не могут воспроизводить FLAC, но предпочитают хранить свою музыку в этом формате. Однако у меня возникли некоторые проблемы с частью, которая преобразует FLAC в ALAC. В настоящее время он просто отправляет FFMPEG для выполнения этой работы. Тем не менее, FFMPEG (версия 0.5.9) не может сохранить теги! -map_meta_data infile:outfile не работает... также не работает -map_meta_data outfile:infile, -map_meta_data 0:0 или -map_meta_data 0:0,s0 (или что-то в этом роде), все из которых я видел, как люди предлагали,
Итак... Сейчас я ищу программу командной строки (или библиотеку Python), которая может конвертировать FLAC в ALAC в Linux, сохраняя данные тегов. Было бы даже приемлемо, если бы мне пришлось копировать теги после конвертации, но я также не могу найти решение для этого. Я пробовал QLCLI, но, похоже, он не работает при импорте Quod Libet. Я пытаюсь заставить все это работать под Ubuntu. Какие-либо предложения?
2 ответа
Текущий ffmpeg (версия 2.0.2, как я пишу это) поддерживает как декодирование, так и кодирование для ALAC. И он копирует глобальные метаданные из первого входного файла по умолчанию.
Вызывая это так:
ffmpeg -i track01.flac -c:a alac track01.m4a
произвел файл ALAC с скопированными метаданными.
Если исходный аудиофайл имеет встроенную обложку, ffmpeg преобразует это в видео, что, вероятно, не то, что вам нужно. Полная команда:
ffmpeg -i file.flac -vn -acodec alac file.m4a
И в пакетном режиме:
ls *flac | while read f; do
ffmpeg -i "$f" -acodec alac -vn "${f[@]/%flac/m4a}" < /dev/null;
done
-vn
Параметр заставит ffmpeg игнорировать "видео" части исходного файла. Теги будут перенесены в конечный файл, но я бы предпочел использовать тегер Picard для повторной маркировки новых файлов, используя надежную базу данных исполнителей / работ / релизов в качестве MusicBrainz.
Вот более продвинутые методы: