Мартышкин труд
Oct. 25th, 2007 04:16 pmВидя бардак с кодировками ID3-тэгов и помня, что, по стандарту, там не может быть ни UTF-8, ни КОИ-8, нашёл радикальный, но вполне корректный путь: перегнать коллекцию из mp3 в ogg vorbis, где с тэгами нет такого бардака, ибо они всегда в UTF-8. Да и сжатие там получше. Да и формат этот открытый...
Поискал конвертер в портах при помощи make search и, не заметив его в толпе софта, стал писать свой: традиционно, на перле.
Метод — ленивый до безобразия: взять файл, прочитать свойства и тэги (MP3::Info), декодировать звук (mpg123), послав его кодировщику (oggenc), попутно передав тэги, переведённые из windows-1251. Итого — 99 строк, 2 кБ (вместе с развесистыми комментариями). Работает. И называется, чтоб долго не думать,
А потом выясняется, что в портах уже есть mp32ogg. И делает он то же самое. И тем же самым путём.
Не знаю, может ли он кодировку тэгов менять (ещё не проверял), но это, в общем-то, и не важно, ибо в портах нашёлся
ЗЫ Но вот железные MP3-плееры да музцентры с магнитолами нечасто ogg понимают...
Поискал конвертер в портах при помощи make search и, не заметив его в толпе софта, стал писать свой: традиционно, на перле.
Метод — ленивый до безобразия: взять файл, прочитать свойства и тэги (MP3::Info), декодировать звук (mpg123), послав его кодировщику (oggenc), попутно передав тэги, переведённые из windows-1251. Итого — 99 строк, 2 кБ (вместе с развесистыми комментариями). Работает. И называется, чтоб долго не думать,
mp32ogg.А потом выясняется, что в портах уже есть mp32ogg. И делает он то же самое. И тем же самым путём.
Не знаю, может ли он кодировку тэгов менять (ещё не проверял), но это, в общем-то, и не важно, ибо в портах нашёлся
mp3unicode.ЗЫ Но вот железные MP3-плееры да музцентры с магнитолами нечасто ogg понимают...
no subject
Date: 2007-10-25 11:07 am (UTC)Ответ в зал
Date: 2007-10-25 11:26 am (UTC)Видимо, зависит, от конкретной железяки. Не скажу за автомагнитолы, но, например, анюткин плеер, если в настройках выбрать русский интерфейс, считает, что тэги в windows-1251 (то есть, достаточно их прописать винампом, или фаровым плагином mp3util, или есть ещё вагон софта под виндовс, считающего, что тэги должны быть в windows-1251). А если интерфейс английский, то та же самая железяка считает, что тэги в ISO-8859-1/Western/Latin1.
Ещё данные
Date: 2009-06-18 02:40 pm (UTC)no subject
Date: 2007-10-25 06:30 pm (UTC)no subject
Date: 2007-12-02 07:31 am (UTC)http://id3.org/id3v2.4.0-structure
...
Frames that allow different types of text encoding contains a text
encoding description byte. Possible encodings:
$00 ISO-8859-1 [ISO-8859-1]. Terminated with $00.
$01 UTF-16 [UTF-16] encoded Unicode [UNICODE] with BOM. All
strings in the same frame SHALL have the same byteorder.
Terminated with $00 00.
$02 UTF-16BE [UTF-16] encoded Unicode [UNICODE] without BOM.
Terminated with $00 00.
$03 UTF-8 [UTF-8] encoded Unicode [UNICODE]. Terminated with $00.
...
А перегонять из одного формата сжатия с потерями в другой формат сжатия с потерями - глупо.
PS: иПод - читает прекрасно теги в utf8.
Дык
Date: 2007-12-03 05:48 am (UTC)Впрочем, я пока прекратил это занятие: правильно настроенный
mpdпонимает, что тэги в CP1251.no subject
Date: 2007-12-02 07:52 am (UTC)