如何将 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
答案1
将基于图像的字幕转换为文本是一个不平凡的过程,因为您将需要某种 OCR 系统来解释位图并找出相应的文本是什么。ffmpeg
独自一人不会为你做到这一点。
我不知道有哪个应用程序可以在 Linux/UNIX 上一次性完成整个过程。但是,这个过程应该有效:
mkvextract
使用或提取字幕ffmpeg
- 将 PGS 字幕转换为 DVD SUB 格式BDSup2Sub
- 将字幕 OCR 转换为 SRT 格式VobSub2SRT
mkvmerge
使用或将字幕混合回 mkv 文件ffmpeg