將 MKV 檔案中基於圖像的字幕轉換為基於文字的字幕

將 MKV 檔案中基於圖像的字幕轉換為基於文字的字幕

如何將 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

答案2

似乎也可以作為線上工具,但如果有隊列,你必須等待一會兒。

要提取字幕文件,您可以使用以下命令:

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

相關內容