?

Log in

No account? Create an account

Previous Entry | Next Entry

Кодировки в mp3

Судя по форумам и т.д., многие уже сталкиваются с тем, что русские id3-тэги в mp3-файлах, заполненные под Windows, не читаются под Linux, и наоборот. Как показывает практика, чтобы теги везде (точнее, в наиболее распространенных проигрывателях обеих систем, а так же в мобильных утсройствах) читались правильно, нужно заполнять id3v1 в кодировке Win-1251, а id3v2 — в unicode...

Делается это легко и просто. Исходим из предположения, что стартовые теги или в Win-1251, или в unicode, или уже правильные. В подавляющем большинстве случаев это именно так. Проблемы могут возникнуть, если заполнение тегов происходило, например, в старых Linux'ах, но большинство поступающих в домашнюю коллекцию файлов почему-то кодированы под виндой...

Итак, пишем скрипт:

#!/bin/bash

for f in *; do
    if [ -d "$f" ]; then
        cd "$f";
        mp3uni;
        cd ..;
    else
        mp3unicode -s cp1251 -p -1 cp1251 -2 unicode "$f";
    fi;
done;

И пихаем его куда-нибудь в пределы переменной PATH с именем mp3uni. Естественно, пакет mp3unicode должен быть предварительно установлен.