在 MKV 文件中将基于图像的字幕转换为基于文本的字幕

Osk*_*son 6 software-rec ffmpeg video video-subtitles video-encoding

如何在 MKV 文件中将 hdmv_pgs_subtitle(基于图像)转换为基于文本的字幕?

我已经尝试过,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
Run Code Online (Sandbox Code Playgroud)

mar*_*can 11

将基于图像的字幕转换为文本是一个重要的过程,因为您需要某种 OCR 系统来解释位图并找出相应的文本是什么。ffmpeg独自一人不会为你做到这一点。

我不知道有任何应用程序可以一次性完成整个过程,适用于 Linux/UNIX。但是,这个过程应该有效:

  • 使用mkvextract或提取字幕ffmpeg
  • 使用BDSup2Sub将 PGS 字幕转换为 DVD SUB 格式
  • 使用VobSub2SRT将字幕 OCR 转换为 SRT 格式
  • 使用mkvmerge或将字幕复用回 mkv 文件ffmpeg