Converter legenda baseada em imagem em legenda baseada em texto dentro do arquivo MKV

Converter legenda baseada em imagem em legenda baseada em texto dentro do arquivo MKV

Como faço para converter um hdmv_pgs_subtitle (que é baseado em imagem) em uma legenda baseada em texto em um arquivo MKV?

Eu tentei ffmpeg -i in.mkv -c:v copy -c:a copy -c:s mov_text out.mkv, mas isso resulta com o seguinte erro:

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

Responder1

Converter legendas baseadas em imagens em texto não é um processo trivial, pois você precisará de algum tipo de sistema OCR para interpretar os bitmaps e descobrir qual é o texto correspondente. ffmpegsozinho não fará isso por você.

Não conheço nenhum aplicativo que faça todo o processo de uma só vez, para Linux/UNIX. No entanto, este processo deve funcionar:

  • Extraia as legendas com mkvextractouffmpeg
  • Converta as legendas PGS para o formato DVD SUB comBDSup2Sub
  • OCR as legendas para o formato SRT comVobSub2SRT
  • Mux as legendas de volta em um arquivo mkv com mkvmergeouffmpeg

Responder2

Essetambém parece funcionar como uma ferramenta online, mas é preciso esperar um pouco se houver fila.

Para extrair o arquivo de legendas, você pode usar isto:

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

informação relacionada