Комментарии 43
Держите карму :) Вы в траву не играли под этим ником?
+1
Неа. Я в сети не играю. Так, изредко только, с ПК.
0
в Linux легко делаю так (из 1251 в текущую), запускаем в текущей папке, ищет рекурсивно:
find. -name "*.mp3" -print0 | xargs -0 mid3iconv -e CP1251 -d
Перед этим поставить пакеты:
sudo apt-get install python-mutagen
50Gb музыки сконвертил за несколько минут
find. -name "*.mp3" -print0 | xargs -0 mid3iconv -e CP1251 -d
Перед этим поставить пакеты:
sudo apt-get install python-mutagen
50Gb музыки сконвертил за несколько минут
+8
В easytag делается легко: forum.ubuntu.ru/index.php?topic=39346.0
Другие варианты: forum.ubuntu.ru/index.php?topic=5356.0
Другие варианты: forum.ubuntu.ru/index.php?topic=5356.0
+2
Мне кажется, что это не повод переносить сие в блог Perl только потому, что вы нашли подходящую программу написанную на Perl. ;)
+1
НЛО прилетело и опубликовало эту надпись здесь
Простейший (с точки зрения использования) скрипт для конвертирования написаный на питоне sourceforge.net/projects/tag2utf/
+2
Ищу аналогичное под Windows очень давно. Очень сложно экспортировать данные на сайт, когда кодировки различаются. Может кто подскажет способ? Автоматический, руками очень долго.
0
то, что есть под линуксом, на 90% есть и под винду. наоборот, к сожалению, реже.
0
Для работы с тэгами под Windows лучше программы mp3tag я пока не находил. Использовал её в том числе и для смены кодировки, т.к. в плеере крякозяблы были. Качается с оф.сайта за бесплатно.
0
>EasyTag
Там всё крайне просто. Достаточно выставить необходимые параметры в настройках(я лично поставил автоконвертацию ID3v1 тэгов в cp1251(MP3-плеер понимает только их и только в этой кодировке) и ID3v2 в UTF-8). Достаточно открыть папку с музыкой и сохранить изменения. ВСЁ!
PS Может открою секрет, но таких скриптов превеликое множество.
Там всё крайне просто. Достаточно выставить необходимые параметры в настройках(я лично поставил автоконвертацию ID3v1 тэгов в cp1251(MP3-плеер понимает только их и только в этой кодировке) и ID3v2 в UTF-8). Достаточно открыть папку с музыкой и сохранить изменения. ВСЁ!
PS Может открою секрет, но таких скриптов превеликое множество.
0
НЛО прилетело и опубликовало эту надпись здесь
Приятно, что пользователи Windows тоже начинают конвертить в юникод
0
Winamp и iTunes из коробки не понимают тегов в cp1251, поэтому приходится. :)
P. S. Топик, кстати, про *nix )
P. S. Топик, кстати, про *nix )
0
Amarok от KDE тоже cp1251 не привечает.
0
Я про винду говорил, в *nix мире давно осознали преимущества юникода, это MS до сих пор сопротивляется прогрессу.
0
ну да, как же сопротивляются.
А наличие с 2000 двух видов функций: MEssageBoxA и MessageBoxW ни о чем не говорит?
цитата с ru.wikipedia.org/wiki/Windows_NT
«тогда как в Windows NT, где все строки внутри ОС хранятся исключительно в Юникоде, каждая A-фунция просто преобразует свои строковые параметры в Юникод и вызывает W-версию той же функции»
ну или сошлюсь на Рихтера
wm-help.net/books-online/book/59464/59464-13.html
А наличие с 2000 двух видов функций: MEssageBoxA и MessageBoxW ни о чем не говорит?
цитата с ru.wikipedia.org/wiki/Windows_NT
«тогда как в Windows NT, где все строки внутри ОС хранятся исключительно в Юникоде, каждая A-фунция просто преобразует свои строковые параметры в Юникод и вызывает W-версию той же функции»
ну или сошлюсь на Рихтера
wm-help.net/books-online/book/59464/59464-13.html
0
Для этого еще есть утилитка mid3iconv (основана на модуле python mutagen)
пользуюсь так
find "$1" -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1 #Конвертит в utf-8 (кодировка по умолчанию), удаляет id3v1
пользуюсь так
find "$1" -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1 #Конвертит в utf-8 (кодировка по умолчанию), удаляет id3v1
+2
писал похожее на скорую руку на php (+ еще транслит имен файлов есть) www.pilot34.com/2008/02/id3-linux-mac-os.html c использованием java-приблуды :) Спасает на ура до сих пор
0
+8
www.progforce.ru/?q=node/12 — вот еще ссылка, тоже на питоне. Мне помогло! Правда для бунты, но
если подумать, то можно применить к другим дистрибутивам.
если подумать, то можно применить к другим дистрибутивам.
0
в свое время использовал java-программку id3iconv. (подробнее описано в статье libc6.blogspot.com/2007/01/id3v1-id3v2-mp3-russian-cyrillic-tags.html).
0
Еще 2 слова в защиту EasyTag — он может заполнять тэги исходя из имени файла если самих тэгов нет. Там это очень гибко можно настраивать. Очень удобно. Ну и с простым конвертированием тоже никаких проблем нет.
0
А как же python-mutagen?
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1
find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1
+1
Я в шоке от того, сколько разных способов тут привели :) Я одно время искал такие утилиты, но ничего толком не находилось, а их вон сколько. Наверно все эти утилиты не хорошо проиндексированы.
0
НЛО прилетело и опубликовало эту надпись здесь
Я использую такой скрипт
#!/usr/bin/python2.5 # -*- coding:utf8 -*- """ Перекодирует все теги из файла cp1251 -> utf8""" import audiotools,sys,os,os.path from traceback import format_exc def get_filelist(path): dirlist = [] def visitor(arg, dirname, names): for name in names: fullname = os.path.join(dirname,name) if os.path.isfile(fullname): dirlist.append(fullname.replace(path,'')) os.path.walk(path,visitor,'') return dirlist if len(sys.argv)!=2: print "usage %s [path with mp3 or ogg files]" % sys.argv[0] sys.exit(1) for fn in get_filelist(sys.argv[1]): try: af = audiotools.open(fn) md = af.get_metadata() print "track_name : %s " % unicode(md.track_name.encode('ISO-8859-1'),'cp1251') print "track_number: %i " % md.track_number print "album_name : %s " % unicode(md.album_name.encode('ISO-8859-1'),'cp1251') print "artist_name : %s " % unicode(md.artist_name.encode('ISO-8859-1'),'cp1251') md.track_name=unicode(md.track_name.encode('ISO-8859-1'),'cp1251') md.album_name= unicode(md.album_name.encode('ISO-8859-1'),'cp1251') md.artist_name= unicode(md.artist_name.encode('ISO-8859-1'),'cp1251') print "save" af.set_metadata(md) except Exception, e: print '-' * 20 print e,format_exc() print '-' * 20
+1
Вопрос на засыпку, а из всего вышеприведенного что для «flac» формата сгодится? Сейчас он как-то активно в массы пошел, но я не представляю себе как в нем с кодировками дело обстоит.
EasyTag умеет с flac"-ом обращаться, а вот CLI утилиты?
EasyTag умеет с flac"-ом обращаться, а вот CLI утилиты?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как поменять кодировку id3 меток в mp3