Русские теги mp3-файлов в Linux
Почти на всех современных дистрибутивах Linux кодировкой по-умолчанию является utf-8, а стандартной русской кодировкой ОС Windows — cp1251. Именно поэтому существует проблема отображения русских mp3-тегов.
На подавляющем числе блогах и сайтах рассматривается, на мой взгляд, довольно грубый метод исправления этой проблемы. Предлагается конвертировать всю музыкальную библиотеку в кодировку utf-8, что полностью не может решить проблему.
По-моему мнению, вся проблема заключается не в том, что для заполнения тегов mp3-файлов используется кодировка cp1251, а в том, что ОС Linux не поддерживает эту кодировку. Корректнее и правильнее будет научить систему Linux правильно отображать русские теги сделанные в кодировке cp1251 (к примеру, для отображения русского языка в тегах интернет-радиостанций) и переконвертировать всю имеющуюся музыкальную библиотеку в utf-8, как этого требует стандарт.
Содержание
1. Зачем это нужно?Наверх
Как написано выше, для решение сложившейся проблемы корректнее научить систему Linux правильно отображать русские теги сделанные в кодировке cp1251 и сделать конвертацию всей имеющейся музыкальной библиотеки в utf-8. Вся красота системы Linux — это ее гибкость. Плохо не воспользоваться этим.
Для «обучения» системы Linux кириллическим тегам существует проект RUSXMMS, который позволяет добавить в ОС Линукс поддержку кодировки cp1251. Русские теги будут отображаться только в аудиоплеерах работающих с taglib: XMMS, Amarok и т. д. Для конвертирования мультимедийной базы будем использовать скрипт mid3iconv, который поставляется в комплекте пакета python-mutagen.
Результатом данного комплексного подхода будет:
- музыкальная библиотека, хранящаяся на CD/DVD-дисках, будет корректно отображаться в системе OC Linux;
- правильное отображение русского языка интернет-радиостанций;
- новые музыкальные файлы, добавленные к коллекции, будут правильно отображаться в аудиоплеере;
- скопированные музыкальные файлы, имеющие русские теги, на mp3-плеер или автомагнитолу будут правильно отображаться, так как кодировка тегов будет utf-8;
- вся постоянная музыкальная библиотека, хранящаяся на жестком диске, будет иметь теги в правильной кодировке utf-8.
2. Добавление кодировки cp1251 с помощью пакета RUSXMMS.Наверх
Официальный сайт проекта RUSXMMS
Чтобы добавить поддержку cp-1251 в ОС Linux нужно скачать и установить следующие пакеты: libtag1-rusxmms, librcd0, librcc0. Ниже приведена таблица, в которой сведена информация о всех доступных источниках загрузки для разных операционных систем:
Операционная система | libtag1-rusxmms | librcd0 | librcc0 |
---|---|---|---|
Debian, Ubuntu, Kubintu и т. д.* | |||
Mandriva (в последних версиях дистрибутива включен в комплект) | |||
RedHat, CentOS | |||
SuSe | |||
Slackware, Исходный код |
3. Конвертирование музыкальной библиотеки в кодировку utf-8.Наверх
Для полного конвертирования всей музыкальной библиотеки будем использовать скрипт mid3iconv, который поставляется в комплекте пакета python-mutagen. Для правильной работы пакет python-mutagen должен быть версией не ниже 1.1.
- Устанавливаем пакет python-mutagen:
Debian, Ubuntu, Kubuntu..:# sudo apt-get install python-mutagen - Переходим в директорию с Вашей музыкальной библиотекой:
# cd /home/ВАШ_ЛОГИН/МузыкаВозможно директория с музыкальной библиотекой у Вас будет другой.
- Конвертируем библиотеку:
# find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1
В результате всех вышеизложенных действий ОС Linux и MP3-плеер будут нормально воспринимать кириллические теги MP3-файлов. При прослушивании интернет радиостанций названия русских песен будут правильно выводится.
Статья относится к linux, ubuntu, debian, mp3
- Как найти ключ репозитория в Ubuntu?
- Удаление звукового сервера PulseAudio в Ubuntu
- Вызываем системный монитор по нажатию Ctrl+Alt+Delete
- Как перенести ERD Commander на флешку?
- Запуск торгового терминала MetaTrader 4 в Linux
- Установка сканера в Linux на примере установки Mustek 2448TA Plus в ОС Ubuntu
- Добавляем в WIndows XP Home оснастки: локальная политика безопасности и локальная групповая политика
25 June, 01:19
ой какая нудная статья…
а картинка классная
28 June, 12:20
>а картинка классная
Спасибо! Изготавливал долго)))
20 August, 13:43
Mutant, случаем не знаешь, как это проделать с KDE 4.3 в Kubuntu 9.04?!
Что-то не пашет(
А до дист-апгрейда работало…
21 August, 12:15
Точно не знаю.
Должно работать
21 August, 13:10
Должно, или нет, но не работает)
При использовании команды выдаёт разный бред…
22 August, 01:30
Можешь привести часть этого бреда? Я так понимаю он выводит это после пункта 3?
Тут не должно зависеть от дистрибутива
22 August, 07:40
cool,it works!
3 April, 21:57
спасибо. очень помогло. прям не знал что делать с этой кодировкой!
8 April, 20:41
Так, вот Тотем в убунте 9.10 стал видеть русские тэги. А вот Clementine не хочет :( в чем может быть проблема?
8 April, 21:00
всё, разобрался. не было проблем. тыкнул не туда :)
28 April, 07:31
Установил пакеты для добавления кодировки СР1251 через Synaptic, не подействовало.
Конвертация прошла нормально, но в Amarok по-прежнему кракозябры. В чем может юыть проблема?
29 April, 04:55
Вы переимпортируйте коллекцию mp3. Amаrok, при добавлении, создает свою базу описаний, только в момент добавления и потом пользуется ей. Нужно просто добавить по-новой.
8 May, 11:19
На Windows переходи
11 May, 17:54
Ну что ж Вы так сразу, человек учиться. Все такие были ))
12 May, 08:13
у меня проблема другого рода, выдает при установке пакета rusxmms что он конфликтует c libtag1-vanilla. :( как их помирить?
13 May, 08:08
Не знаю не сталкивался
22 June, 21:31
а может надо просто научит писать теги почеловечески? чтоб сочетались и utf8 и cp1251. а именно по общепринятым правилам.
23 June, 20:10
Удалить libtag1-vanilla, вместо него установить libtag1-rusxmms. Во всяком случае на ubuntu 10.04.
24 June, 17:00
Это значит писать теги в UTF-8 Проблемы уйдут сами собой
2 July, 22:31
У меня некоторые теги и в windows и в linux отображаются нормально, а некоторые нет. Почему? А еще, если перекодировать библиотеку указанным выше способом, то в windows начинаются проблемы с тегами. Они вообще не отображаются. Как сделать, чтобы теги правильно отображались и в Linux и Windows. Ведь некоторые же отображаются правильно и там и там.
5 July, 17:55
Насколько мне известно Windows понимает UTF-8 хорошо, поэтому перекодировка должна помочь в этом. Это ИМХО
11 July, 14:13
Спасибо, в ubuntu 10.04 работает
4 August, 19:58
помогло , спасибо!!!!
1 September, 10:13
кому не помог данный способ, есть такие: http://interio-tech.com/2010/07/id3-tegi-v-banshee-ili-rhythmbox-pod-linux/
вообще с этой cp1251 геморрой сплошной
3 September, 20:42
Если у человека 120 Гб музыки на болванках, перекодирование тегов советовать как-то боязно. :))
ставим плеер qmmp из репов Убунты, затем Настройки -> Модули -> Модуль Mpeg -> Настройки
Ставим кодировку windows-1251 для обоих типов тегов
7 September, 13:50
Лучше установить QMMP не из офиц. репов, а из сторонних, как описано тут.
18 September, 22:48
Спасибо огромное, помогло! Теперь все работает, только перед конвертированием права на папку настроил. Я ее с другого компа перекинул по сети, у root’a права были только на чтение.
12 July, 16:21
я сначала прогнал через easytag, а потом мутагеном дошлифовал. Все классно =) спс.
21 July, 12:46
Нет уж, как раз нужно не систему учить дебильной кодировке, а конвертировать всю музыку. Так как систему можно научить, а как быть с другой техникой? dvd-плееры, мп3-плееры, телефоны?!
Так что автор не прав. Нужно изначально кодировать в UTF-8, он будет нормально читаться как в самой винде, так и на остальных системах и устройствах!
26 July, 06:57
Это все понятно, но мы тут говорим о Linux. Разработчики приложений для Linux не делают этого из-за того, что это только проблема касается русскоговорящие страны, а наши понимающие разработчики делают приложения с поддержкой всех кодировок.
А то, что нужно конвертировать всю библиотеку – Вы правы. Это более правильное решение.
17 March, 15:23
Вы подменяете техническую проблему религиозной. Да, UTF-8 решает многие проблемы, но и он не идеален. Поговорите с китайцами, они Вам много интересного про юникод расскажут.
Изначально кодировать в UTF-8, конечно, хорошо. А всё, что извне, перекодировать, как попка? Вместо того, чтобы ОДИН раз добавить в плеер функцию поддержки разных кодировок? Автор QMMP, например, именно так и сделал, за что ему большое спасибо. А что сделать с музыкой, которая, допустим, пришла с трекера? Делать две копии, одну для раздачи, другую перекодировать для прослушивания? Не жирновато будет?
Но что касается, мобильников, автомобильных проигрывателей и др. – тут да, надо перекодировать, другого выхода нет.
17 March, 15:28
Автору спасибо за статью. Я накатил libtag1-rusxmms на свой Debian Wheezy, причём из умолчального репозитария – и после этого даже Clementine заработал как надо. Остаётся открытым вопрос с openSUSE…
20 June, 00:58
Большое спасибо за статью! Наконец-то нашлось решение для кодировок)
9 July, 13:54
Вообще-то в тегах по стандарту должна использоваться кодировка utf8, а не cp1251. Поэтому проблема не в том, что нет поддержки других кодировок, а в том, что некоторые не соблюдают стандарты.
30 March, 23:35
Спасибо автору за статью, ковырял Убунту 12,04+qmmp – все заработало – просто плейлист по новой нужно закачать и все Ок будет. Еще раз спасибо. )
13 October, 16:50
Спасибо большое, метод помог))
Использую теперь Amarok на Ubuntu без проблем!
8 September, 17:10
# find -iname ‘*.mp3’
нигде не могу найти параметр -iname
подскажите, чем отличается от -name
2 July, 19:28
Спасибо, все работает) только изначальная кодировка была koir-8)
25 July, 12:33
Спасибо товарищ Мутант! За скрипт. По делу. Смерть кракозябрикам! Так их! Ура товарищи!
21 November, 17:47
Благо дарю!!