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. ffmpeg
sozinho 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
mkvextract
ouffmpeg
- 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
mkvmerge
ouffmpeg
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