Снова про перекодирование MP3-тегов


FrBrGeorge аватар

FrBrGeorge - Posted on 02 Сентябрь 2015

Утилита mid3v2 преобразует старые ID3v1-теги (ака MP3-теги) в новые ID3v2, а утилита mid3iconv поможет сменить их кодировку. Обе входят в пакет mutagen.

Здесь уже обсуждался вопрос о перекодировании MP3-тегов из, допустим, WIN1251 в UTF8. Использованная там утилита, как выяснилось, не знает кое-каких ID3v2 тегов и просто их не перекодирует. Кроме того, я лично долго тупил, пытаясь одновременно перекодировать теги и превратить v1 в v2. Как правило, v1 теги удаляются, а v2 — не появляются :( .

8bit→UTF + v1→v2, кстати, довольно частый случай (особенно для старых архивов), потому что v1 не поддерживает UTF.

Ларчик открывается просто. Надо сначала превратить v1 в v2 (эта операция, оказывается, неоднозначная, поэтому для неё имеется особая утилита), например, так:

$ mid3v2 -Cs *

Затем уже v2 теги перекодировать, например, так:

$ mid3iconv -e cp1251 --remove-v1 *

Обе утилиты (mid3v2 и mid3iconv) доступны в пакете mutagen

Напоминаю, что шаблон «*» раскрывается командной оболочкой, и если файлов очень много, может не хватить командной строки. Поэтому команды надёжнее вызывать пофайлово с помощью xargs:

$ find Каталог_с_музыкой -iname \*.mp3 -print0 | xargs -0 mid3v2 -Cs
$ find Каталог_с_музыкой -iname \*.mp3 -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1
0
Ваша оценка: Ничего

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

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.