Решение проблем с криво закодированными в utf-8 субтитрами


lezvie - Posted on 02 Февраль 2009

Если у вас проблема с криво закодированными в unicode субтитрами, например вместо привычных кириллических символов вы видите "_____}______", можете попробовать перекодировать их в cp1251.
Проще всего это сделать с помощью команды

$ for i in *ass; do iconv -c -f utf-8 -t cp1251 "$i" > "/tmp/$i"; mv "/tmp/$i" .; done

Она перекодирует все субтитры с суффиксом .ass в данной директории. Рекомендую заранее сделать бэкап субтитров (на всякий случай ;) )
Придётся указать в плеере что субтитры в кодировке cp1251.

За помощь в решении проблемы спасибо ramok.

0
Ваша оценка: Ничего

это пипец :)
мало того что мплаеру пофиг в какой кодировке сабы, так еще все это легко легко заменяется одной командой enconv

Именно mplayer их и не осилил.
enconv требует дополнительной инсталляции enca.

USE="enca fontconfig ass" emerge mplayer
в конфиге
ass=1
fontconfig=1
subcp = enca:ru:cp1251
sub-fuzziness = 1
И навсегда забываем слово "кодировка" в отношении субтитров.

вот и оформи это в виде совета для гетушников Ж:-)

Я ее на всех компах и серверех ставлю и всем рекомендую.

А что касается субтитров в mplayer его же опции типа -subfont-encoding не помогают разве?

написано же что проблема не в кодировке, а в том что не все отображается. где то некорректные символы utf

>пример вместо привычных кириллических символов вы видите "_____}______"
Более того, как рецепт предлагается перекодирование из Юникода в CP1251, и если оно успешно и не потерян текст, значит и Юникод там был вполне нормальный.

Отправить комментарий

Google Friend Connect (leave a quick comment)
loading...
Содержание этого поля является приватным и не предназначено к показу.