Показать сообщение отдельно
Старый 12.08.2018, 01:42   #1
KniazidisR
Главный Кинооператор
Медаль пользователю. ЗОЛОТО Любитель
Регистрация: 13.08.2016
Адрес: Греция
Сообщения: 199
Репутация: 24
ИЗВЛЕЧЕНИЕ СУБТИТРОВ ИЗ МАТРЁШКИ

Начнём с того, что субтитры в матрёшке могут быть двух видов: графические и текстовые. Подходы к ним тоже разные.

ИЗВЛЕЧЕНИЕ ТЕКСТОВЫХ СУБТИТРОВ.

1) Вам понадобится программа MKVToolNix (официальный сайт). Инструкции по инсталляции на вашу конкретную систему найдёте там же.

2) Вторым шагом вы просматриваете дорожки матрёшки. Следующая команда в теминале (Мак), или в командной строке выведет список дорожек вашего видео:
mkvmerge -i my_movie.mkv

здесь вместо my_movie.mkv проставьте имя (правильный путь) к вашему видеофайлу.

Выводимый список примерно такого вида:

File 'my-movie.mkv': container: Matroska
Track ID 0: video (MPEG-4p10/AVC/h.264)
Track ID 1: audio (DTS)
Track ID 2: audio (DTS)
Track ID 3: subtitles (Srt)
Track ID 4: subtitles (Srt)
Chapters: 16 entries

2) Как видно, нас интересуют дорожки 3 и 4. Их-то мы и извлекаем следующей командой:
mkvextract tracks my-movie.mkv 3:sub3.srt 4:sub4.srt

Как видите, с текстовыми субтитрами просто работать.

ГРАФИЧЕСКИЕ СУБТИТРЫ

С графическими субтитрами дела обстоят посложнее. Их не только извлечь надо, но и распознать надо. Причём есть графические субтитры трудно распознаваемые (иероглифы-арабские, китайские, японские). Хороших автоматизированных программ по распознаванию иероглифов я лично не встречал. Существующие требуют кропотливого ручного ввода, что не является целью этой темы. Поэтому всё дальнейшее будет касаться графических субтитров - не иероглифов.

1) Первый шаг аналгичен извлечению текстовых субтитров. Просматриваем сначала дорожки:

mkvmerge -i my_movie.mkv

Список дорожек будет подобен этому:

File 'my-movie.mkv': container: Matroska
Track ID 0: video (MPEG-4p10/AVC/h.264)
Track ID 1: audio (DTS)
Track ID 2: audio (DTS)
Track ID 3: subtitles (VobSub)
Track ID 4: subtitles (VobSub)
Chapters: 16 entries

Как видно дорожки 3 и 4 содержат графические субтитры. Извлекаем их:

mkvextract tracks my-movie.mkv 3:sub3.srt 4:sub4.srt

Здесь важное отличие: субтитры в отличие от текстовых извлекаются в виде пары sub/idx файлов.

3) Далее вы можете их скормить их какой-нибудь программе OCR-распознавания (находите и устанавливаете себе сами, вроде tesseract. Наиболее простой способ, однако, воспользоваться бесплатной онлайн-службой:

Convert Sub/Idx to Srt

Результат вас чуть разочарует: вам придётся в некоторых местах исправлять ошибки самим. Однако этот метод онлайн выдаёт наилучшие результаты для матрёшки.

ПРИМЕЧАНИЕ

Хотя это не касается темы напрямую, дам совет:
Для извлечения графических сутитров из DVD используйте программу SubRip. Единственная программа которая даёт точный результат, по моим наблюдениям. Единственная проблема - распознаёт буквы "ы" русского языка как мягкий знак (ь) и вертикальную палочку. Выход такой: 1) при запросе у вас на ввод палочки введите английскую i, а мягкий знак введите как мягкий знак. Тогда в ваших субтитрах все русские "ы" будут парой "ьi". 2) В любой программе редактирования субтиров (AegiSub-лучший) найдите "Заместить"--->ьi на ы. И всё.

Лично я извлекаю графические сабы только из DVD, так как результат получается точный, а в рипах ещё и качество их ухудшено, что добавляет ручную работу по распознаванию.

Если что-то непонятно, пишите
  Ответить с цитированием