Преобразование субтитров на основе изображений в текстовые субтитры внутри файла MKV

Преобразование субтитров на основе изображений в текстовые субтитры внутри файла MKV

Как преобразовать hdmv_pgs_subtitle (основанный на изображении) в текстовые субтитры в файле MKV?

Я попробовал ffmpeg -i in.mkv -c:v copy -c:a copy -c:s mov_text out.mkv, но в результате возникла следующая ошибка:

Stream mapping:
  Stream #0:0 -> #0:0 (copy)  
  Stream #0:1 -> #0:1 (copy)  
  Stream #0:2 -> #0:2 (hdmv_pgs_subtitle (pgssub) -> mov_text (native))  

Error while opening encoder for output stream #0:2 - maybe incorrect > parameters such as bit_rate, rate, width or height

решение1

Преобразование субтитров на основе изображений в текст — нетривиальный процесс, поскольку вам понадобится какая-то система OCR для интерпретации растровых изображений и определения соответствующего текста. ffmpegОдних этих систем недостаточно.

Я не знаю ни одного приложения, которое сделает весь процесс за один раз для Linux/UNIX. Однако этот процесс должен работать:

  • Извлеките субтитры с помощью mkvextractилиffmpeg
  • Конвертируйте субтитры PGS в формат DVD SUB с помощьюBDSup2Sub
  • OCR субтитров в формате SRT сVobSub2SRT
  • Скомпилируйте субтитры обратно в файл mkv с помощью mkvmergeилиffmpeg

решение2

Этотпохоже, что это также работает как онлайн-инструмент, но вам придется немного подождать, если есть очередь.

Чтобы извлечь файл субтитров, вы можете использовать это:

ffmpeg -i input.mkv -c copy -map 0:2 sub.sup

Связанный контент