¿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.mkv
pero 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. ffmpeg
por 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
mkvextract
offmpeg
- 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
mkvmerge
offmpeg
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