Видео смотреть бесплатно

Смотреть 365 видео

Официальный сайт fresher 24/7/365

Смотреть видео бесплатно

23.05.10 20:55 antigluk

Tips & tricksПерекодируем все теги ID3 из cp1251 в UTF-8

Да, utf8 - самая хорошая кодировка, бла-бла-бла. Только это понимает мало кто в этой и соседних странах - практически ВСЕ mp3-шки (и не только), которые я качаю, содержат теги в cp1251.

Для того чтобы перекодировать ID3-теги всех файлов рекурсивно я использую такую команду: find -iname -print0 "*.mp3" | xargs -0 mid3iconv -e CP1251 --remove-v1

И оформленная в скрипт версия recodeID3.sh:
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
# Перекодировка ID3-тегов всех файлов указанной папки рекурсивно из cp1251 в UTF-8 (скорее всего в любую, текущую локаль)
# Использование
#      ./recodeID3.sh path/to/dir

if [ -n "$1" ]; then
  cd "$1"
fi

find -iname "*.mp3" -print0 | xargs -0 mid3iconv -e CP1251 --remove-v1
 


1) Заходите в папку с только что скачаной музыкой
2) Запускаете recodeID3.sh
3) Profit!

P.S. Как подсказывает uafz, "чтобы скрипт заработал нужно установить python-mutagen"



uafz 23.05.10 21:31 # +0
xargs: mid3iconv: Нет такого файла или каталога

чтобы скрипт заработал нужно установить python-mutagen
antigluk 23.05.10 21:40 # +1
ага, точно. добавил в статью
exelens 23.05.10 21:42 # +1
antigluk 23.05.10 21:43 # +1
оу, точно :)
видимо где-то команду копипастили из одного места) похожи очень.
motonarola 23.05.10 22:26 # +1
можно сразу find -iname '*.mp3' -exec mid3iconv -d -eCP1251 --remove-v1 {} +
divius 23.05.10 22:30 # +3
А что делать с хардварными плеерами, не понимающими utf8? Они это съедят?
cppmm 24.05.10 01:30 # +0
Мой хардварный плеер не понимает ничего кроме utf или латиницы.
mealsforall 24.05.10 06:32 # +1
А мой наоборот, только latin-1 или cp1251 понимал, если интерфейс русский выбрать. Такая вот засада была, пока не обзавёлся смартфоном.
cppmm 24.05.10 08:31 # +0
Так или иначе, сейчас всё идёт к тому, что кодировкой по умолчанию везде используется utf-8. Это касается не только линуксов. Даже многие оффтопик-программы до этого уже дошли. Не говоря уже про железо. Так что, хочешь - не хочешь, а надо перебираться на юникод.
Girafik 23.05.10 23:03 # +0
А я юзал tag2utf - небольшой скриптец на питоне. Шарит cp1251 и koi8-r.
philosoft 23.05.10 23:12 # +1
EasyTag так же неплох в этом деле. (кроме перекодировки есть регулярки для заполнения тегов / переименования файлов/каталогов)
cppmm 24.05.10 01:31 # +2
Собсно, этот скриптик был бы хорош, если бы не было easytag. :)
goblinyara 23.05.10 23:47 # +0
я для этого пользовался easytag'ом, а по поводу
Только это понимает мало кто в этой и соседних странах - практически ВСЕ mp3-шки (и не только), которые я качаю, содержат теги в cp1251.

это так, потому что ID3v1 не принимает utf кодировку, вот с вики:
ID3v1 также не хватало интернационализации. Он утверждал, что все строки должны храниться в ISO 8859-1, но на практике пользователи часто используют национальную кодировку, поэтому нередко им приходилось видеть «кракозябры».

а так как хомячки даже не знают, что у тегов несколько версий, то и пишут виндовыми средствами в id3v1=)
antigluk 24.05.10 00:20 # +1
Дак в том-то и дело, что ладно id3v1, даже в v2 пишут в этой cp1251. И ничего, "у меня всё работает".
Эх, ждем-с поголовной утфизации)
PocketSam 01.06.10 12:52 # +0
Хомячки не знают, что у тэгов есть версии. :) И не знают про кодировки.
Многие программы (Windows Media Player, например) при воспроизведении файла конвертирует теги в cp1251 на ru винде.
goblinyara 01.06.10 14:12 # +1
убивал бы программистов таких...
todeus 24.05.10 01:44 # +0
А если у меня в папке лежит половина в cp1251 и половина в utf-8? Что этот скрипт сделает с тегами уже перекодированными в utf-8?
cppmm 24.05.10 01:47 # +0
easytag умеет. :)
exelens 24.05.10 07:26 # +0
Опыт показал что ничего =)
antigluk 24.05.10 09:46 # +0
Ничего, он их не тронет :)
punk 24.05.10 07:42 # +0
тоже самое только еще с гуем)
FILE=`zenity --file-selection --directory --title="Выберите путь к крякозябрам"`
case $? in
0)
echo "Выбран "$FILE".";;
1)
echo "Файл не выбран.";;
-1)
echo "Файл не выбран.";;
esac
cd "$FILE";
(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"

Лучшие блоги (все 141)
Топ пользователей Топ блогов
Топ пользователей Топ блогов
Элита (все 2839 из 215 городов)
Топ пользователей Топ блогов
welinux.ru

В хорошем качестве hd видео

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн