Project

General

Profile

Actions

Feature #1272

closed

Автоконвертация кодировок в тегах

Added by jam about 11 years ago. Updated about 11 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Plugins: LMP
Target version:
Start date:
09/19/2013
Due date:
% Done:

100%

Estimated time:
15:00 h

Description

Актуально для проигрываемых из VK файлов. Теги в оных часто прописаны в CP-1251, что есть неправильно. В LMP такие файлы при проигрывании показываются кракозяблами.
Дабы не городить огород и не писать автоконвертер с нуля, предлагаю на первое время обрабатывать информацию о тегах через стандартный taglib (многие юзают оный от Rusxmms, а он сам умеет конвертить все как надо автоматом).
Вот пример такой обработки (пара строк по сути) - http://rusxmms.sourceforge.net/api/librcc-html/example1_8c.html
А тут - сам проект, если кто не знает - http://rusxmms.sourceforge.net/index.php?page=aboutr.php


Related issues 2 (0 open2 closed)

Related to Feature #1250: Streams encodingClosed0xd34df00d09/04/2013

Actions
Has duplicate Bug #1230: Кракозяблы вместо русских буквInvalid0xd34df00d09/01/2013

Actions
Actions #1

Updated by jam about 11 years ago

вот как-то так...

Actions #2

Updated by Mellon about 11 years ago

jam, проверьте, пожалуйста, работает ли автоконвертирование через патченный таглиб при проигрыании такого плейлиста (с нелокалңными файлами), желательно проверить на личаз и на стороннем плеере типа амарока.

Прикрутить автоопределие/конвертирование через librcc не проблема, проблема в получении от гстримера нетронутых метаданных :(

Actions #3

Updated by Mellon about 11 years ago

Проверил сам
http://dump.bitcheese.net/images/iluwute/screenshot.png
На самой попсовой попсе всё показывает правильно.
Рекомендую автору использовать патченный taglib из приведенных им выше ресурсов.

Actions #4

Updated by jam about 11 years ago

Благодарю за ответ.
Вчера я таки тоже покопался в проблеме.
Те файлы с VK, что кракозяблами показываются в LMP, после скачивания и запуска локально отдают нормальные теги.
Оверлей rusxmms подключен, патченый taglib в системе установлен и работает, нормально отдает теги в любой кодировке.
НО! И вот тут вскрылось нечто интересное. Кодировка тегов этого именно файла (на других подобных тоже проверял) - православный utf-8!
Копаясь далее выяснил, что указанные на скриншоте кракозяблы возможно вернуть к человеческому виду вот такой операцией:
echo "кракозяблы" |iconv -f iso-8859-1 -t utf-8|iconf -f cp1251 -t utf-8

Т.е. напрашивается вывод, что гстример при передаче тегов (которые изначально в utf-8) зачем то их конвертирует в iso-8859-1 o_O
Впринципе я даже попатчил player.cpp из LMP на предмет обратной перекодировки, и вроде все работает. Но как оно будет вести себя на тегах, которые изначально в cp1251 пока не выяснял..

Actions #5

Updated by Mellon about 11 years ago

весьма интригующе

Actions #6

Updated by Mellon about 11 years ago

Насколько я помню, в ID3v1 по стандарту должно быть ISO 8859-1 И где-то есть обсуждение, что разрабы гстримера будут следовать этому стандарту. Потому, могу предложить проверить теги проблемных треков. может там они в ID3v1?

Actions #7

Updated by jam about 11 years ago

Обязательно проверю, как только до боевого компа доберусь (после работы).
Еще одно соображение - я так понял, на Вашем скриншоте только сформирован плейлист? Файлы на проигрывание не запущены?
Если да, то по русским наименованиям в плейлисте у меня вопросов нет (возможно я неулачныый скриншот запостил, т.к. до этого попробовал проиграть список). Беды начинаются после запуска на произведение таких файлов, т.е. когда в плейлисте, popup уведомлении, на вкладке "Свойства" и пр. местах названия заменяются проигрывателем на теги, переданные от gstreamer.

Actions #8

Updated by Mellon about 11 years ago

благодаря вашему пинку сложился ещё один пазл. пасяб
http://dev.leechcraft.org/issues/1250#note-3

Actions #9

Updated by jam about 11 years ago

Отлично.. Похоже проблема решена. Вечером проверю.
Спасибо за оперативность.

Actions #10

Updated by 0xd34df00d about 11 years ago

А что с mp3 + id3v2? Я не думаю, что есть техническая возможность различить, откуда пришел тег, внутри гстримера.

Actions #11

Updated by Mellon about 11 years ago

Jam, оказался прав. http://dump.bitcheese.net/images/izavugo/screenshot.png
Всё хуже.

Actions #12

Updated by 0xd34df00d about 11 years ago

Стоп, как вы играете из вконтакта? Мне вконтакт вообще теги не отдает.

Actions #13

Updated by 0xd34df00d about 11 years ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

Applied in changeset main|commit:e167646fb1413c0a9238c666a46d444cc00e365e.

Actions #14

Updated by 0xd34df00d about 11 years ago

  • Status changed from Resolved to Closed
  • Target version set to 0.6.60
  • Estimated time set to 15:00 h
Actions

Also available in: Atom PDF