Convierta subtítulos basados ​​en imágenes en subtítulos basados ​​en texto dentro de un archivo MKV

Convierta subtítulos basados ​​en imágenes en subtítulos basados ​​en texto dentro de un archivo MKV

¿Cómo convierto un hdmv_pgs_subtitle (que está basado en imágenes) en un subtítulo basado en texto en un archivo MKV?

Lo he intentado ffmpeg -i in.mkv -c:v copy -c:a copy -c:s mov_text out.mkvpero el resultado es el siguiente error:

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

Respuesta1

Convertir subtítulos basados ​​en imágenes en texto no es un proceso trivial, ya que necesitará algún tipo de sistema OCR para interpretar los mapas de bits y determinar cuál es el texto correspondiente. ffmpegpor sí solo no hará eso por ti.

No conozco ninguna aplicación que haga todo el proceso de una sola vez, para Linux/UNIX. Sin embargo, este proceso debería funcionar:

  • Extrae los subtítulos con mkvextractoffmpeg
  • Convierta los subtítulos PGS al formato DVD SUB conBDSup2Sub
  • OCR los subtítulos en formato SRT conVobSub2SRT
  • Mux los subtítulos nuevamente en un archivo mkv con mkvmergeoffmpeg

Respuesta2

EsteTambién parece funcionar como una herramienta online, pero hay que esperar un poco si hay cola.

Para extraer el archivo de subtítulos, puedes usar esto:

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

información relacionada