Pull to refresh

Решаем проблемы с кодировкой в mp3

Configuring Linux *
Не секрет, что многие, до сих пор, прописывают тэги во всяких cp1251 и KOI-8R — после чего их не понимают ни телефоны, ни плееры (некоторые) и с проигрывателями под linux бывает много проблем.
Больше всего неприятно, то что при загрузке новой музыки, ты не можешь быть уверен в какой кодировке идут тэги и вот добавив в свой проигрыватель ты обнаруживаешь нечитаемые символы вместо названия трека, исполнителя и альбома. А ведь оно еще и на last.fm скроблится в таком виде.

Можно использовать EasyTag и прочие редакторы тэгов.
Но чаще всего, мне надо только поправить кодировку, а тэги прописаны верно.

До этого, я всегда пользовался простым shell скриптом, но решил немного облегчить задачу.

Вот решение:


Нам понадобится пакет python-mutagen
sudo aptitude install python-mutagen

создадим shell скрипт
$ touch mp3.sh
$ nano mp3.sh


и добавим в него следующее:
#!/bin/sh

FILE=`zenity --file-selection --directory --title="Выберите путь к крякозябрам"`
case $? in
0)
echo "Выбран \"$FILE\".";;
1)
echo "Файл не выбран.";;
-1)
echo "Файл не выбран.";;
esac
cd "$FILE" || exit;
(find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e KOI8-R --remove-v1; find -iname '*.mp3' -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1)|zenity --progress --pulsate --auto-close --text "идет процесс" --title "Меняем кодировку"
zenity --info --text="теперь у Вас православный UTF"



Необходимо дать права на выполнение скрипта
chmod u+x mp3.sh

Вот и всё, можете запускать ($ sh mp3.sh) и указать папку где требуется исправить кодировку.

Перед вами предстанет диалоговое окно с выбором каталога, в котором надо навести порядок — остается выбрать и нажать «ок»

Для удобства, я предлагаю сделать еще пару движений:
sudo mv mp3.sh /usr/bin/mp3

И теперь в любой момент, мы нажимаем заветный alt+F2 и набираем mp3
Можно и кнопку запуска переделать.

P.S. Это первый опыт в написании shell скрпта, для себя — немного облегчить жизнь.
Если кому-то еще пригодится — буду рад.
Наверняка этот код не совершенен.
Буду признателен за любые советы. Например как сделать окно с выбором директории на QT :-)
Tags:
Hubs:
Total votes 61: ↑50 and ↓11 +39
Views 7.7K
Comments Comments 36

Please pay attention