[Работа с DVD. Урок 2] Конвертация IDX/SUB --> SRT. Распознавание русских субтитров из IDX/SUB и SUP (DVD, BD).

Тема закрыта
 
Автор
Сообщение

DarthNihilus ®

Пол:

Стаж: 9 лет 3 месяца

Сообщений: 993

Репутация: 166 [+] [-]

Откуда: Антарктида

Пост 04-Янв-2012 19:50

[Цитировать] 

Конвертация IDX/SUB --> SRT. Распознавание русских субтитров из IDX/SUB и SUP (DVD, BD)Автор: germanm2000В раздачах DVDRip иногда встречаются внешние субтитры в формате IDX/SUB. Это графические субтитры, извлеченные из DVD с помощью специальных программ. Они могут быть подключены к видео с помощью DirectShow-фильтра VSFilter (прежнее название VobSub). По разным причинам бывает нужно конвертиртировать их в текстовый формат SRT. Конвертация в данном случае подразумевает оптическое распознавание символов (OCR), т.е. перевод изображений в последовательность кодов, использующихся для представления в текстовом редакторе.
Автоматических "распознавалок" для русских субтитров, насколько я знаю, не существует. Из программ, использующих ручное распознавание, многим известна SubRip, но с IDX/SUB она, к сожалению, не всегда хорошо справляется.
При таком раскладе предлагаю воспользоваться программой IdxSub2Srt из комплекта AVIAddXSub. IdxSub2Srt может работать практически с любыми IDX/SUB, включая русские. Скорость обработки зависит как от активности пользователя (т.к. распознавание идет в ручном режиме), так и от качества самих IDX/SUB. Программа довольно простая, но со своими нюансами, о которых и будет рассказано ниже.

КРАТКИЙ ОБЗОР

IdxSub2Srt - бесплатная программа для конвертирования IDX/SUB файлов в текстовый формат SRT. Файлы IDX/SUB генерируются в основном из DVD дисков и фактически представляют собой субтитровое содержимое этих DVD. Файлы IDX/SUB содержат субтитры в виде битмапов (картинок), поэтому для конвертирования их в текстовый формат SRT необходима функция оптического распознавания символов (Optical Character Recognition, OCR). Способ, которым эта функция реализована в IdxSub2Srt, делает, как я думаю, весь процесс конвертирования простым и удобным, поэтому пользователь, приложив не так уж много усилий, имеет возможность за приблизительно 10 минут конвертировать какие-либо субтитры, содержащиеся в IDX/SUB, в их текстовый эквивалент в SRT формате.
Используемая в программе функция OCR это просто сопоставление букв изображениям символов, и все усилия пользователя сводятся к тому, чтобы обучить программу, что текст (обычно одиночная буква) соответствует определенному символу в субтитровых битмапах. После того, как программа обучена всему используемому алфавиту и прочим символам (цифрам, например, и т.п.), все субтитры с легкостью могут быть преобразованы в текст.
IdxSub2Srt делает весь обучающий процесс удобным и быстрым, насколько это возможно, и, думаю, весьма преуспевает в этом аспекте. Есть возможность сохранения базы данных OCR, поэтому каждый новый проанализированный IDX/SUB может быть проверен по этой базе, и если там уже есть известные символы, то пользователю остается распознать только недостающие.
В настоящий момент IdxSub2Srt способен работать с английскими субтитрами и теми, которым соответствуют набор символов по умолчанию, настроенный в вашем компьютере под управлением Windows. Например, если на вашем компьютере установлен (через Панель управления/Язык и региональные стандарты/Дополнительно) русский язык как набор символов по умолчанию для не-Юникод текста, то программа сможет обрабатывать английские и русские субтитры, конвертируя их в текст.
Причин для конвертирования IDX/SUB в SRT может быть много. Например, с целью пересоздания имеющегося файла IDX/SUB со шрифтом, размером шрифта и положением на экране по выбору пользователя. Как например, в случае с моим WDTV медиа-плеером, который очень хорошо поддерживает субтитры IDX/SUB. Обычно информация о позиционировании в оригинальных IDX/SUB не подходит для данного медиа-плеера (не говоря уже о качестве и размере шрифта), поэтому я конвертирую IDX/SUB в SRT, а затем обратно в IDX/SUB с помощью AVIAddXSubs (находится в одном архиве с IdxSub2Srt), но теперь уже с подходящим для WDTV позиционированием на экране и гораздо лучше выглядящими буквами, большими по размеру.
Другая полезность конвертации заключается в том, что переводчики получают оригинальные субтитры в виде текста и могут перевести их потом на другой язык.
Файл SRT - более универсальный формат хранения ваших субтитров вместе с соответствующими видеофайлами. К тому же субтитры в таком виде занимают намного меньше места.

ОПИСАНИЕ ПРОГРАММЫ



  • Subtitle language Selection (Выбор языка субтитров).
    Выбор языка для извлечения из загруженного IDX/SUB соответствующих субтитровых картинок. В файле IDX/SUB может содержаться много языков.
  • Load Idx/Sub (Загрузить Idx/Sub).
    Выбор файла IDX для обработки. Из него будет загружен только выбранный язык. См. п.1.
  • Save (Сохранить).
    Периодически сохраняйте свою работу. Заметьте, что всякий раз, когда вы выходите из программы, ваша работа сохраняется автоматически.
  • Generate Srt (Генерировать Srt).
    Генерирует распознанный текст для каждой субтитровой картинки и сохраняет его в той же папке, что и загруженный IDX/SUB. При этом используется имя IDX файла, но с расширением SRT.
  • Previous, Next Subtitle (<<, >>) (Предыдущий, следующий субтитр).
    Когда файл IDX/SUB загружен, вы можете пролистывать субтитры вперед и назад. При отмеченной опции "Only Unknown letters" ("Только Неизвестные символы") данная операция ограничена. См. п.13.
  • Subtitle bitmap (Субтитровая картинка).
    Показывает изображение субтитра. В это же время выделенный символ (для обучения программы/распознавания) окрашен красным цветом. См. п.7, 8, 9, 15, 16.
  • Previous, Next Pattern in currently selected subtitle (<<,>>) (Предыдущий, следующий символ в текущем выбранном субтитре).
    Когда загружен IDX файл, для текущего выбранного субтитра есть список всех содержащихся в нем уникальных символов. С помощью кнопок <<,>> вы можете просматривать эти символы и вводить соответствующие текст/буквы в поле 9.
  • Current Pattern/Text to Display/Learn (Текущий символ/Отображаемый текст/Обучение).
    Текущий символ в текущем субтитре здесь показан красным. Тот же символ показан красным и в поле 6, что помогает ввести для него правильный текст.
  • Enter Text for currently selected Pattern (Ввод текста для текущего выделенного символа).
    В этом поле редактирования вводится текст, соответствующий выделенному символу выбраннного субтитра.
  • Use my Edited Text (Использовать мой редактированный текст).
    Распознанный текст для каждого субтитра отображается в поле 14 и сгенерирован автоматически. Пользователь может переписать этот текст и внести свои собственные изменения, которые будут использованы программой при генерации SRT.
  • Current subtitle/Total subtitles (Текущий субтитр/Всего субтитров).
    Здесь показываются номер выбранного в настоящий момент субтитра и общее количество субтитров. При отмеченной опции "Only Unknown letters" (13) будут отображены текущий нераспознанный субтитр (всегда под номером 1) и оставшееся количество нераспознанных субтитров.
  • AVRG Normal & AVRG Italics (AVRG Обычный и AVRG Курсив).
    Эти две опции контролируют, как программа разделяет слова. "AVRG Normal" используется для нормального стиля текста, "AVRG Italics" - для курсивного. По-видимому, соответствующие величины необходимы для обоих стилей, одного значения для курсива было бы недостаточно. Это работает следующим образом: когда расстояние между двумя символами меньше, чем число AVRG (в пикселях), они рассматриваются принадлежащими к одному слову. Если это расстояние больше, чем число AVRG, то тогда между ними вставляется пробел. Значения AVRG генерируются автоматически путем некоторых статистических вычислений, но пользователь может настроить их с целью получения лучшего результа, немедленно видя в поле 14 последствия изменения этих значений.
  • Only Unknown letters (Только Неизвестные символы).
    Отметив эту опцию, вы можете просматривать только субтитры с нераспознанными символами (5) и только нераспознанные символы в этих субтитрах (7). Вы не можете перейти назад, а перейти вперед можете, только если для выделенного символа введен соответствующий текст. Эта функция очень важна для процесса обучения OCR.
  • Generated Subtitle text (Сгенерированный текст субтитра).
    Здесь показывается сгенерированный текст для текущего субтитра. Нераспознанные символы обозначены в тексте значком #. Этот текст нельзя изменить, если не отмечена опция "Use my Edited Text" ("Использовать мой редактированный текст", 10). При отметке данной опции пользователь имеет возможность вводить текст, который будет использован при генерации итогового SRT.
  • Italic (Курсив, наклонный текст).
    Пометить субтитр, что он является курсивным. Линия текста, содержащая хотя бы одну букву, помеченную как курсив, будет заключена в тэги <i></i>.
  • All Italics (Все курсивные).
    Все символы в выбранных субтитрах будут помечены как курсивные.
  • Ignore Subtitle (Игнорировать субтитр).
    При выборе этой опции текущий субтитр пропускается и не включается при генерации в SRT. Это удобно, например, для пропуска субтитров, предназначенных для людей с нарушением слуха.
  • Здесь вводится номер субтитра для перехода к нему. Переход осуществляется нажатием кнопки "Go" (19).
  • Go (Перейти).
    Переход к субтитру, номер которого был введен в поле 18.

ПОРЯДОК РАБОТЫ

Сначала выберите язык для извлечения из IDX/SUB. См. п.1.
Затем загрузите IDX/SUB (2). Программа извлечет относящиеся к выбранному языку картинки (битмапы). Битмапы будут проанализированы и все отдельные символы будут внесены в список. Далее программа проверит эти символы по имеющейся базе данных OCR. Если обнаружится OCR файл, имеющий в списке 10 таких же символов, что и в загруженном IDX/SUB, то этот OCR файл будет использован. Теперь пользователь должен обучить программу введением каких-то новых символов. Процесс анализа IDX/SUB файла происходит только один раз. Когда вы сохраняете свою работу вручную кнопкой "Save" (3) или автоматически при каждом выходе из программы, создается файл PRJ в той же папке, что и IDX/SUB. В нем содержится вся информация анализа и использованного OCR файла. В следующий раз, когда IDX/SUB файл перезагружен, а соответствующий PRJ файл находится в той же папке, то вся необходимая информация анализа загружается из этого PRJ.
В самый первый раз, когда IDX/SUB загружен и проанализирован (файла PRJ пока нет), появившееся окно предложит пользователю помочь программе определить наилучшее отображение текста на картинках.


Выберите цвет, дающий наиболее цельный и нежирный вид букв первого субтитра из IDX/SUB, который отображается в поле 6 главного окна. Программа предложит лучший цвет по ее мнению, но, возможно, вы сможете сделать лучший выбор. В общем, если предложенные цвета дают цельный и нежирный вид букв, то сохраните их (внутренняя часть букв/основной цвет). Избегайте цветов, представляющих собой контуры букв.
Пожалуйста, обратите внимание, что данные обучения OCR не сохраняются в PRJ файлах (для каждого загруженного IDX/SUB создается свой PRJ файл). Ваша работа хранится в базе данных OCR, которая представляет собой папку "OCR" в том же каталоге, откуда был запущен IdxSub2Srt. В базе данных OCR находятся парные файлы OCR*.txt/OCR*.bin, в которых в действительности сохраняется вся ваша работа. Однако, в файлах PRJ содержится некоторая другая информация, такая как текст, введенный при отмеченной опции "Use my edited text" (10) и информация о субтитрах, которые следует пропустить при генерации SRT (17). За исключением перечисленной информации все остальные данные анализа могут быть восстановлены в случае, если PRJ файл будет удален. Программа загрузит соответствующий OCR файл и в конечном итоге будет создан новый PRJ файл.
Обратите внимание, что если вы по какой-либо причине удалите базу данных OCR, то все PRJ файлы тоже должны быть удалены.
Теперь начинается реальное обучение OCR. В каждом из субтитров, которые можно пролистывать кнопками 5, имеется определенное количество символов, извлеченных посредством анализа. Ваша работа состоит в замене символа #, присваиваемого автоматически и означающего "неизвестный символ", каким-либо другим текстом, на самом деле соответствующим выделенному символу. Этот символ может встретиться несколько раз в одном субтитре и, конечно, во многих других субтитрах. Например, на приведенном выше скриншоте главного окна программы выделено изображение русской буквы "н". Она показана красным цветом в поле 8 и в нескольких местах субтитровой картинки в поле 6. То есть буква "Н" найдена в текущем изображении субтитра 4 раза.
Каждый раз, когда соответствующий текст вводится в поле 9, генерируется текст субтитров, который можно видеть в поле 14. Постепенно все значки # заменяются текстом, введенным пользователем.
Для ускорения работы отметьте опцию "Only Unknown letters" (13). Это поможет сконцентрировать усилия только на нераспознанных субтитрах и символах. Отметив эту опцию, вы сможете пролистывать субтитры только вперед и только если введете текст для текущего символа, т.е. распознаете его. Когда вы переходите к следующему нераспознанному символу, в поле 11 вы можете видеть число субтитров, которые еще не полностью распознаны. Если вы ошиблись и хотели бы вернуться, чтобы исправить текст, введенный для символа в текущем субтитре, то просто снимите галочку 13, перейдите к нужному символу, сделайте исправления и снова поставьте галочку 13, чтобы продолжить работу.
Один из аспектов, который следует принять во внимание, - то, как программа вставляет пробелы, организуя текст в слова. Расстояние между символами сверяется с двумя числами ("AVRG Normal" и "AVRG Italics" - см. п.12).
Первое число влияет на обычный текст, второе - на курсивный. Когда расстояние между любыми двумя последовательными символами меньше, чем число AVRG, то тогда они рассматриваются принадлежащими к одному слову. Если расстояние больше, чем это число, то тогда между ними вставляется пробел. Эти два числа определены путем некоторых статистических вычислений, но пользователь может их настроить и посмотрев результат (14) решить, какое значение AVRG дает лучшее "словоразделение".
Когда все символы распознаны, вы можете нажать кнопку "Generate Srt" (4) для генерации файла SRT. Он будет создан в том же каталоге, что и загруженный IDX/SUB.

Дополнительно&#58; распознавание субтитров SUP (DVD, BD&#41;

Кроме IDX/SUB могут попасться графические субтитры в формате SUP (DVD или BD), извлеченные, соответственно, из DVD и Blu-ray дисков. Для конвертации их в текстовой формат так же необходимо оптическое распознавание.
Предлагаю самые простые, на мой взгляд, способы. Русские субтитры распознаются вручную с помощью IdxSub2Srt, английские - автоматически в DVDSubEdit.
-Софт: -
IDX/SUB
Английские: -
SUP(DVD)
Русские:
  • SubtitleCreator: конвертируем SUP в SUB/IDX, выбрав при сохранении русский язык.
  • IdxSub2Srt: загружаем полученный SUB/IDX, распознаем и сохраняем как SRT.
Английские:
  • DVDSubEdit: открываем SUP, распознаем и сохраняем как SRT.
-
SUP(BD)
Русские:
  • BDSup2Sub: конвертируем SUP(BD) в SUB/IDX, выбрав при сохранении русский язык.
  • IdxSub2Srt: загружаем полученный SUB/IDX, распознаем и сохраняем как SRT.
Английские:
  • BDSup2Sub: конвертируем SUP(BD) в SUP(DVD).
  • DVDSubEdit: открываем полученный SUP, распознаем и сохраняем как SRT.

_________________
[Нет сидов - включите DHT]
[Торрент-статистика]
[Профиль]  [ЛС] 
Показать сообщения:    
Тема закрыта

Текущее время: Сегодня 18:44

Часовой пояс: GMT + 4



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы