Ubuntu: изменение кодировки id3v2 тегов для всех файлов в папке

Некоторые проигрыватели понимают только Unicode кодировки в id3 тегах. В итоге, если файл, созданный в Windows, содержит теги с кириллицей, то в проигрыватель может показать что-то такое: Ãðàæäàíñêàÿ îáîðîíà.
К счастью, кодировка UTF-8 воспринимается всеми, поэтому ее легко можно использовать вместо любой другой. А переконвертировать теги для всех mp3 файлов в папке в Ubuntu можно следующим образом.
  1. Устанавливаем пакет python-mutagen:
    1
    sudo apt-get install python-mutagen
  2. Определяем, в какой кодировке записаны нечитаемые теги: 
    • вот так можно получить список возможных кодировок:
      1
      iconv --list
    • копируем нечитаемую строчку в декодер и смотрим, что он скажет,
    • или смотрим на диаграмму.
  3. Проверяем, правильно ли мы определили кодировку: 
    • выполняем команду:
      1
      mid3iconv -p -d -e <source-encoding> input.mp3
      где source-encoding - это полученная ранее кодировка, input.mp3 - mp3 файл с нечитаемыми тегами; флаг -p выставляется, чтобы команда не изменяла сам файл, но просто вывела в консоль конвертированные значения тегов;
    • если в консоли появляются читаемые теги - переходим к следующему шагу, если нет - значит, исходная кодировка выбрана неправильно.
  4. Конвертируем все файлы с расширением .mp3 в папке (и рекурсивно во внутренних папках) из заданной кодировки в UTF-8:
    1
    find . -name "*mp3" -print0 | xargs -0 mid3iconv -e <source-encoding> -d
    или для примера выше (файлы, записанные в Windows c кириллицей в тегах часто имеют кодировка CP1251):
    1
    find . -name "*mp3" -print0 | xargs -0 mid3iconv -e CP1251 -d

Комментариев нет :

Отправить комментарий