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形式に変換するにはBDサブ
  • 字幕をOCRでSRT形式に変換ボブサブ2SRT
  • mkvmergeまたはを使用して字幕をmkvファイルに多重化します。ffmpeg

答え2

これオンラインツールとしても機能しているようですが、キューがある場合は少し待つ必要があります。

字幕ファイルを抽出するには、次のようにします。

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

関連情報