Настройка сервера Linux и Windows
ITShaman - Сайт для АЙТИшников!
"Машины должны работать. Люди должны думать."
(девиз компании IBM)

Русские теги 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 http://rusxmms.sourceforge.net. Этот проект долгое время не обновлялся, но в последнее время ситуация изменилась и проект ожил. На странице загрузки можно вручную закачать версии пакетов для любых дистрибутивов Linux. Некоторые ссылки к сожалению уже не работают. К примеру, ссылки на репозиторий для ОС Ubuntu уже не существует. Отдельно пакеты RUSXMMS для ОС *buntu можно закачать из репозитория Debian.

Чтобы добавить поддержку cp-1251 в ОС Linux нужно скачать и установить следующие пакеты: libtag1-rusxmms, librcd0, librcc0. Ниже приведена таблица, в которой сведена информация о всех доступных источниках загрузки для разных операционных систем:

Операционная системаlibtag1-rusxmmslibrcd0librcc0
Debian, Ubuntu, Kubintu и т. д.*СсылкаСсылкаСсылка
Mandriva (в последних версиях дистрибутива включен в комплект)http://sourceforge.net
RedHat, CentOShttp://sourceforge.net
SuSehttp://sourceforge.net
Slackware,
Исходный код
http://sourceforge.net
* Для загрузки пакета необходимо нажать на ссылку в таблице ниже с требуемой архитектурой.

3. Конвертирование музыкальной библиотеки в кодировку utf-8.
Наверх


Для полного конвертирования всей музыкальной библиотеки будем использовать скрипт mid3iconv, который поставляется в комплекте пакета python-mutagen. Для правильной работы пакет python-mutagen должен быть версией не ниже 1.1.

  1. Устанавливаем пакет python-mutagen:
    Debian, Ubuntu, Kubuntu..:
    # sudo apt-get install python-mutagen
  2. Переходим в директорию с Вашей музыкальной библиотекой:
    # cd /home/ВАШ_ЛОГИН/Музыка
    Возможно директория с музыкальной библиотекой у Вас будет другой.
  3. Конвертируем библиотеку:
    # find -iname '*.mp3' -print0 | xargs -0 mid3iconv -eCP1251 --remove-v1

В результате всех вышеизложенных действий ОС Linux и MP3-плеер будут нормально воспринимать кириллические теги MP3-файлов. При прослушивании интернет радиостанций названия русских песен будут правильно выводится.

Статья опубликована 08.06.2009 · Автор статьи: Зюзгин Иван
Статья относится к linux, ubuntu, debian, mp3
Случайные 7 статей:
  1. Как подключиться к сети I2P в Ubuntu
  2. Подключение КПК с Windows Mobile к Linux Ubuntu
  3. Установка OpenOffice от Infra в Ubuntu
  4. Как обновить в Ubuntu ядро?
  5. Обучаем Skype стандартным уведомлениям Ubuntu
  6. Как экспортировать письма из Evolution в Claws Mail
  7. Виртуализация с помощью VirtualBox
Комментарии [38]
  1. Анатолий #
    25 Июнь, 01:19

    ой какая нудная статья…
    а картинка классная

  2. Mut@NT #
    28 Июнь, 12:20

    >а картинка классная
    Спасибо! Изготавливал долго)))

  3. Kubuntu user #
    20 Август, 13:43

    Mutant, случаем не знаешь, как это проделать с KDE 4.3 в Kubuntu 9.04?!
    Что-то не пашет(
    А до дист-апгрейда работало…

  4. Mut@NT #
    21 Август, 12:15

    Точно не знаю.
    Должно работать

  5. Kubuntu user #
    21 Август, 13:10

    Должно, или нет, но не работает)
    При использовании команды выдаёт разный бред…

  6. Mut@NT #
    22 Август, 01:30

    Можешь привести часть этого бреда? Я так понимаю он выводит это после пункта 3?
    Тут не должно зависеть от дистрибутива

  7. Viglim #
    22 Август, 07:40

    cool,it works!

  8. revolt08 #
    3 Апрель, 21:57

    спасибо. очень помогло. прям не знал что делать с этой кодировкой!

  9. nixon89 #
    8 Апрель, 20:41

    Так, вот Тотем в убунте 9.10 стал видеть русские тэги. А вот Clementine не хочет :( в чем может быть проблема?

  10. nixon89 #
    8 Апрель, 21:00

    всё, разобрался. не было проблем. тыкнул не туда :)

  11. Phoenix #
    28 Апрель, 07:31

    Установил пакеты для добавления кодировки СР1251 через Synaptic, не подействовало.
    Конвертация прошла нормально, но в Amarok по-прежнему кракозябры. В чем может юыть проблема?

  12. Mut@NT #
    29 Апрель, 04:55

    Phoenix: Установил пакеты для добавления кодировки СР1251 через Synaptic, не подействовало.
    Конвертация прошла нормально, но в Amarok по-прежнему кракозябры. В чем может юыть проблема?

    Вы переимпортируйте коллекцию mp3. Amаrok, при добавлении, создает свою базу описаний, только в момент добавления и потом пользуется ей. Нужно просто добавить по-новой.

  13. Просто User #
    8 Май, 11:19

    Phoenix: Установил пакеты для добавления кодировки СР1251 через Synaptic, не подействовало.
    Конвертация прошла нормально, но в Amarok по-прежнему кракозябры. В чем может юыть проблема?

    На Windows переходи

  14. Mut@NT #
    11 Май, 17:54

    Просто User: На Windows переходи

    Ну что ж Вы так сразу, человек учиться. Все такие были ))

  15. ninakupenda #
    12 Май, 08:13

    у меня проблема другого рода, выдает при установке пакета rusxmms что он конфликтует c libtag1-vanilla. :( как их помирить?

  16. Mut@NT #
    13 Май, 08:08

    ninakupenda: у меня проблема другого рода, выдает при установке пакета rusxmms что он конфликтует c libtag1-vanilla. :( как их помирить?

    Не знаю не сталкивался

  17. linux #
    22 Июнь, 21:31

    а может надо просто научит писать теги почеловечески? чтоб сочетались и utf8 и cp1251. а именно по общепринятым правилам.

  18. orlygreehap #
    23 Июнь, 20:10

    ninakupenda: у меня проблема другого рода, выдает при установке пакета rusxmms что он конфликтует c libtag1-vanilla. :( как их помирить?

    Удалить libtag1-vanilla, вместо него установить libtag1-rusxmms. Во всяком случае на ubuntu 10.04.

  19. Mut@NT #
    24 Июнь, 17:00

    linux: а может надо просто научит писать теги почеловечески? чтоб сочетались и utf8 и cp1251. а именно по общепринятым правилам.

    Это значит писать теги в UTF-8 Проблемы уйдут сами собой

  20. Макс #
    2 Июль, 22:31

    У меня некоторые теги и в windows и в linux отображаются нормально, а некоторые нет. Почему? А еще, если перекодировать библиотеку указанным выше способом, то в windows начинаются проблемы с тегами. Они вообще не отображаются. Как сделать, чтобы теги правильно отображались и в Linux и Windows. Ведь некоторые же отображаются правильно и там и там.

  21. Mut@NT #
    5 Июль, 17:55

    Макс: У меня некоторые теги и в windows и в linux отображаются нормально, а некоторые нет. Почему? А еще, если перекодировать библиотеку указанным выше способом, то в windows начинаются проблемы с тегами. Они вообще не отображаются. Как сделать, чтобы теги правильно отображались и в Linux и Windows. Ведь некоторые же отображаются правильно и там и там.

    Насколько мне известно Windows понимает UTF-8 хорошо, поэтому перекодировка должна помочь в этом. Это ИМХО

  22. GanSs #
    11 Июль, 14:13

    Спасибо, в ubuntu 10.04 работает

  23. mag101 #
    4 Август, 19:58

    помогло , спасибо!!!!

  24. millerd #
    1 Сентябрь, 10:13

    кому не помог данный способ, есть такие: http://interio-tech.com/2010/07/id3-tegi-v-banshee-ili-rhythmbox-pod-linux/

    вообще с этой cp1251 геморрой сплошной

  25. ludoed #
    3 Сентябрь, 20:42

    Если у человека 120 Гб музыки на болванках, перекодирование тегов советовать как-то боязно. :))
    ставим плеер qmmp из репов Убунты, затем Настройки -> Модули -> Модуль Mpeg -> Настройки
    Ставим кодировку windows-1251 для обоих типов тегов

  26. Mut@NT #
    7 Сентябрь, 13:50

    ludoed: ставим плеер qmmp из репов Убунты, затем Настройки -> Модули -> Модуль Mpeg -> Настройки Ставим кодировку windows-1251 для обоих типов тегов

    Лучше установить QMMP не из офиц. репов, а из сторонних, как описано тут.

  27. Roman #
    18 Сентябрь, 22:48

    Спасибо огромное, помогло! Теперь все работает, только перед конвертированием права на папку настроил. Я ее с другого компа перекинул по сети, у root’a права были только на чтение.

  28. Артем #
    12 Июль, 16:21

    я сначала прогнал через easytag, а потом мутагеном дошлифовал. Все классно =) спс.

  29. Prot #
    21 Июль, 12:46

    Нет уж, как раз нужно не систему учить дебильной кодировке, а конвертировать всю музыку. Так как систему можно научить, а как быть с другой техникой? dvd-плееры, мп3-плееры, телефоны?!
    Так что автор не прав. Нужно изначально кодировать в UTF-8, он будет нормально читаться как в самой винде, так и на остальных системах и устройствах!

  30. Mut@NT #
    26 Июль, 06:57

    Prot: Нет уж, как раз нужно не систему учить дебильной кодировке, а конвертировать всю музыку. Так как систему можно научить, а как быть с другой техникой? dvd-плееры, мп3-плееры, телефоны?! Так что автор не прав. Нужно изначально кодировать в UTF-8, он будет нормально читаться как в самой винде, так и на остальных системах и устройствах!

    Это все понятно, но мы тут говорим о Linux. Разработчики приложений для Linux не делают этого из-за того, что это только проблема касается русскоговорящие страны, а наши понимающие разработчики делают приложения с поддержкой всех кодировок.

    А то, что нужно конвертировать всю библиотеку – Вы правы. Это более правильное решение.

  31. DarkHobbit #
    17 Март, 15:23

    Prot: Нет уж, как раз нужно не систему учить дебильной кодировке, а конвертировать всю музыку. Так как систему можно научить, а как быть с другой техникой? dvd-плееры, мп3-плееры, телефоны?!
    Так что автор не прав. Нужно изначально кодировать в UTF-8, он будет нормально читаться как в самой винде, так и на остальных системах и устройствах!

    Вы подменяете техническую проблему религиозной. Да, UTF-8 решает многие проблемы, но и он не идеален. Поговорите с китайцами, они Вам много интересного про юникод расскажут.
    Изначально кодировать в UTF-8, конечно, хорошо. А всё, что извне, перекодировать, как попка? Вместо того, чтобы ОДИН раз добавить в плеер функцию поддержки разных кодировок? Автор QMMP, например, именно так и сделал, за что ему большое спасибо. А что сделать с музыкой, которая, допустим, пришла с трекера? Делать две копии, одну для раздачи, другую перекодировать для прослушивания? Не жирновато будет?
    Но что касается, мобильников, автомобильных проигрывателей и др. – тут да, надо перекодировать, другого выхода нет.

  32. DarkHobbit #
    17 Март, 15:28

    Автору спасибо за статью. Я накатил libtag1-rusxmms на свой Debian Wheezy, причём из умолчального репозитария – и после этого даже Clementine заработал как надо. Остаётся открытым вопрос с openSUSE…

  33. Myshka-norushka #
    20 Июнь, 00:58

    Большое спасибо за статью! Наконец-то нашлось решение для кодировок)

  34. Admin #
    9 Июль, 13:54

    Вообще-то в тегах по стандарту должна использоваться кодировка utf8, а не cp1251. Поэтому проблема не в том, что нет поддержки других кодировок, а в том, что некоторые не соблюдают стандарты.

  35. Pol #
    30 Март, 23:35

    Спасибо автору за статью, ковырял Убунту 12,04+qmmp – все заработало – просто плейлист по новой нужно закачать и все Ок будет. Еще раз спасибо. )

  36. Ростислав #
    13 Октябрь, 16:50

    Спасибо большое, метод помог))
    Использую теперь Amarok на Ubuntu без проблем!

  37. vlad #
    8 Сентябрь, 17:10

    # find -iname ‘*.mp3’
    нигде не могу найти параметр -iname
    подскажите, чем отличается от -name

  38. Нина #
    2 Июль, 19:28

    Спасибо, все работает) только изначальная кодировка была koir-8)

Имя (обязательное поле)
e-mail (обязательное поле) Сайт
Текст комментария:
IT-новости
Популярное
Облако тегов
При цитировании документа активная ссылка на сайт обязательна.
Администрирование и настройка серверов, рабочих станций на базе ОС Linux и Windows. www.itshaman.ru - Настройка Linux и Windows © 2009 - 2017