Программа, которая может извлекать субтитры из видео с жесткими субтитрами?

Я ищу программу, которая может извлекать/создавать субтитры из видео с жесткими субтитрами, а не из видео с мягкими субтитрами, где эти субтитры довольно легко извлечь.

В идеале программа, которая удовлетворила бы мои потребности…

  • надеюсь бесплатно (бесплатно)
  • работает на виндовс 7
  • легкий
  • прост, удобен в использовании
  • может использоваться кем угодно, не слишком сложно использовать/настраивать
  • имеет хороший пользовательский интерфейс
  • может извлекать субтитры из видео с жесткими субтитрами или, по крайней мере, создавать субтитры из видео с жесткими субтитрами, что довольно точно

Hardsubbed: На самом деле вплетено в само видео.

Softsubbed: Другими словами, Softsub в основном похожи на субтитры, и вы можете легко их отключить. Также довольно легко извлечь субтитры из видео с программными субтитрами.

Любые предложения/идеи о том, как я могу это сделать? Является ли это возможным?

Ответы (2)

То, что вы ищете, это программное обеспечение OCR .

Текст с жесткой подложкой объединяется с видеопотоком, поэтому единственным способом его извлечения является оптическое распознавание символов.

Однако большая часть программного обеспечения для оптического распознавания символов, которое вы можете найти бесплатно, способна обрабатывать только изображения. Вы можете преодолеть это, загрузив кадры из видеофайла. (Или вы можете использовать OpenCV и создать свой собственный софт, это довольно просто для такой сложной задачи)

Можно значительно сократить время обработки видео, ограничив размер и количество изображений (данных).

  • Субтитры остаются (обычно) в одном и том же месте на экране, поэтому сделайте «скриншот» только части, содержащей текст (ниже ~ 20%?).
  • Субтитры большие, одноцветные, с четкими краями, с рамкой/тенью символов и иногда со сплошным фоном (если только видео не плохого качества) - можно смело снижать разрешение картинок вдвое или около того.
  • Субтитры некоторое время остаются на экране, можно пропустить много кадров. Даже одного кадра в секунду будет более чем достаточно, поэтому вы можете пропустить много данных с помощью пропуска кадров (более чем на 90% меньше данных).

После сбора текстовых записей вам нужно только удалить повторяющиеся, оставив некоторую погрешность, так как OCR никогда не бывает идеальным («ą» может быть определен как «a», «O» как «0» и т. д.).

Есть несколько гайдов, как это сделать, например этот . (хотя он использует программное обеспечение Linux/Unix)

Классическим программным обеспечением для этого является SubRip , в честь которого назван популярный формат субтитров SRT. Похоже, он не находится в стадии активной разработки; последняя версия от 2015 года. Она может извлекать жесткие субтитры только из файлов, которые может открыть AviSynth . Так что вам придется сначала конвертировать видео в AVI.

Я пробовал это некоторое время назад, конвертируя видео в AVI (xvid/mp3), но SubRip отказывался загружать видео. Однако я успешно использовал его несколько лет назад, когда еще использовались AVI. Я помню, что OCR нужно обучать буква за буквой, что довольно утомительно, если только вы не найдете файл определения для точного шрифта ваших субтитров. После этого вам нужно исправить распространенные ошибки OCR, такие как путаница «m» и «rn» или «I» (заглавная i) и «l» (ell). Редакторы субтитров часто имеют эту функцию.

Странно, что в настоящее время нет замены, учитывая большие достижения в распознавании текста за последние годы.