結論: MKVToolNixは、MKVファイル内に保存された字幕トラックを抽出できます。mkvextractコマンドを使えば、SRTやASSのようなテキストトラック、Blu-ray PGSやDVD VobSubのような画像ベースのトラックを別ファイルに書き出せます。ただし、OCRは実行しません。文字が動画フレームに焼き込まれている場合、または画像トラックを抽出して編集可能なテキストにしたい場合は、MKVToolNixの後にOCRが必要です。GeekLinkの無料画像字幕コンバーターは現在Blu-rayの.sup/PGSファイルに対応しています。DVD VobSubの.idx/.subファイルには、VobSub対応のOCRツールが必要です。
画像に字幕が見えるのに、使える字幕トラックがありませんか? GeekLinkは焼き込み字幕をローカルで読み取り、MacまたはWindowsでタイムコード付きSRTを書き出します。
GeekLinkを試すまず、字幕の種類を確認する
コマンドを推測して始めないでください。まず、字幕がストリームとして存在するのか、それとも動画内のピクセルにすぎないのかを確認します。MKVToolNixではmkvmergeを使ってコンテナを調べられます:
mkvmerge -i "episode.mkv"
次のような出力が表示されることがあります:
Track ID 0: video (V_MPEG4/ISO/AVC)
Track ID 1: audio (A_AAC)
Track ID 2: subtitles (S_TEXT/UTF8)
Track ID 3: subtitles (S_HDMV/PGS)
| トラックまたは結果 | 意味 | 次のステップ |
|---|---|---|
S_TEXT/UTF8 | テキスト字幕(通常はSRT) | mkvextractで直接抽出するか、GeekLinkのEmbedded Subアクションを使う |
S_TEXT/ASSまたはS_ASS | スタイル付きASS/SSAテキスト字幕 | スタイルを保つためASSとして抽出するか、GeekLinkで原言語SRTを作成する |
S_HDMV/PGS | Blu-ray字幕画像 | SUPファイルを抽出し、GeekLinkの無料Blu-ray OCRコンバーターを使う |
S_VOBSUB | DVD字幕画像 | IDX/SUBペアを抽出し、VobSub対応OCRツールを使う |
| 字幕トラックなし | 字幕ストリームが存在しないため、表示される文字は動画に焼き込まれている可能性がある | 動画フレームにOCRをかける |
この違いを理解すると、「MKVToolNixで字幕を抽出する」という検索でつまずく理由の多くが分かります。プレーヤーが字幕を表示していても、ファイル内に編集可能な文字が含まれているとは限りません。プレーヤーがビットマップのトラックを描画している場合もあれば、動画にすでに文字が各フレームへ恒久的に合成されている場合もあります。
mkvextractでSRTまたはASSを抽出する方法
トラックIDが分かったら、tracksモードを使います。IDはmkvmerge -iが出力した番号であり、メディアプレーヤー上での字幕の並び順ではありません:
# Track 2 is an SRT-compatible text track
mkvextract "episode.mkv" tracks 2:english.srt
# Track 4 is an ASS track; keep it as ASS to retain styling
mkvextract "episode.mkv" tracks 4:styled.ass
# Extract two language tracks in one command
mkvextract "episode.mkv" tracks 2:english.srt 3:spanish.srt
テキストトラックについては、これこそMKVToolNixが想定している用途です。Matroskaコンテナ内のストリームを特定し、使いやすい字幕形式へ書き出します。動画を読み込んだ後のワークフローの同じ部分は、GeekLinkでも実行できます。GeekLinkのEmbedded Subアクションはテキスト字幕トラックを検出し、選択させ、編集や翻訳に使える原言語SRTを作成します。公式ドキュメントにはPGSとVobSubの抽出も記載されていますが、これらの出力は編集可能な文字ではなく画像データです。
実用上の注意点が一つあります。出力形式は自分で選んだファイル名の拡張子ではなく、トラックの種類で決まります。PGSトラックの名前を.srtに変更しても、ピクセルが文字に変わるわけではありません。画像ファイルに誤解を招く名前が付くだけです。
PGSとVobSubにOCRが必要な理由
PGSとVobSubはいずれも正規の字幕トラックなので、mkvextractで問題なく取り出せます。ただし、各字幕キューは小さなレンダリング済み画像です。Blu-rayの.supファイルや、DVDの.idx/.subペアに含まれているのは字幕画像であり、元のテキスト文字列ではありません。
つまり、ワークフローには別々の2つの作業があります:
- トラックを分離する: MKVToolNixでMKVから元の字幕画像を取り出します。
- 文字を認識する: 抽出した画像形式を受け付けるOCRツールを使います。GeekLinkの無料コンバーターはBlu-rayの
.sup/PGSに対応しています。DVD VobSubの.idx/.subには、別のVobSub対応経路が必要です。
MKVToolNixは、ディスクのリッピングから公式字幕トラックを保ちたい場合など、最初のステップに今でも役立ちます。ただし、OCRエンジンではありません。Blu-ray PGSなら、抽出した.supファイルをGeekLinkに読み込ませれば、編集可能なSRTを無料で作成できます。現在のコンバーターはDVD VobSubの.idx/.subペアを直接受け付けていません。
字幕が動画に焼き込まれている場合は?
mkvmerge -iに字幕トラックが表示されないのに、動画の再生中に文字が見えるなら、その文字はおそらく焼き込み字幕です。動画ストリーム内のピクセルであり、MKVToolNixが抽出できる字幕トラックではありません。ファイルを再多重化したり、拡張子を変更したり、mkvextractをもう一度実行したりしても、もともとテキストとして保存されていない文字を復元することはできません。
これは、MKVToolNixプロジェクトのサポートフォーラムでも確認されている境界です。動画画像に恒久的に含まれている字幕は、MKVToolNixの担当範囲ではありません。次に使うべきツールのカテゴリはOCRで、選択した動画フレームから見えている文字を読み取ります。
MacまたはWindowsのワークフローでは、GeekLinkで焼き込み動画のOCR処理ができます:
- MKVを直接開き、字幕領域を選択します。
- 動画フレームから字幕テキストをローカルで読み取ります。
- 繰り返し現れるフレームをタイムコード付きの字幕行にまとめます。
- SRTを書き出し、結果を翻訳するか、動画に新しい字幕レイヤーを焼き込みます。
重要なのは、一方のツールがもう一方を置き換えるわけではないという点です。MKVToolNixは保存済みのトラックを抽出し、GeekLinkは画像から字幕を認識する必要があるケースを処理します。
MKVToolNixと字幕OCR:どちらを使うべきか?
両者は同じ問題の異なる層を解決します。字幕データが実際にどこにあるかで選びましょう:
| 入力 | MKVToolNix | GeekLink |
|---|---|---|
| 埋め込みSRTまたはASSトラック | 最適:直接抽出 | Embedded Subで原言語SRTとして抽出 |
| 埋め込みPGS/SUPトラック | 元の画像トラックを抽出 | GeekLinkの無料Blu-ray OCRコンバーターでSRTを作成 |
| 埋め込みVobSub IDX/SUBトラック | 元の画像トラックを抽出 | VobSub対応OCRツールが必要。GeekLinkへの直接入力にはまだ非対応 |
| 動画フレームに焼き込まれた字幕 | 抽出不可 | 表示された文字を読み取り、タイムコード付きSRTを書き出す |
| 翻訳または焼き込み字幕の置き換えが必要 | トラック抽出で終了 | 確認、翻訳、書き出しまで続けて対応 |
| 推奨ワークフロー | コマンドラインでの分離と正確なトラック制御 | OCRと字幕制作を一つのデスクトップワークフローで |
テキストがすでに字幕トラックとして存在するなら、MKVToolNixを使います。無料で用途が明確で、OCRエンジンに再解釈させずにストリームを正確に抽出できます。入力がテキスト画像なら、OCRを使います。Blu-ray PGS/SUPの場合、GeekLinkの画像字幕OCRからSRTへの変換は誰でも無料で利用できます。DVD VobSubは別形式の.idx/.subであり、このコンバーターへの直接入力にはまだ対応していません。
よくある質問
MKVToolNixでMKVから字幕を抽出できますか?
はい、字幕がトラックとして保存されている場合は可能です。mkvmerge -i input.mkvを実行してトラックIDを確認し、テキストトラックならmkvextract input.mkv tracks TRACK_ID:output.srtを使います。PGSとVobSubトラックも抽出できますが、出力されるのは画像です。その後、Blu-ray PGS/SUPはGeekLinkの無料画像字幕コンバーターにかけられます。DVD VobSubにはVobSub対応OCRツールが必要です。
MKVToolNixで焼き込み字幕を抽出できますか?
いいえ。焼き込み字幕は独立したMatroskaトラックではなく、動画ストリーム内のピクセルです。MKVToolNixはストリームを調査・抽出できますが、動画フレームから文字を読み取ることはできません。代わりに字幕OCRを使ってください。
GeekLinkで埋め込みSRT字幕を抽出できますか?
はい。動画を読み込み、Embedded Subバッジをクリックします。複数ある場合はテキスト字幕トラックを選択すると、GeekLinkが編集・翻訳用の原言語SRTを作成します。
なぜMKVToolNixはSRTではなくSUPまたはIDX/SUBファイルを出力したのですか?
元のトラックが画像ベースだからです。SUPはBlu-rayのPGS字幕で一般的に使われ、DVDのVobSubを抽出するとIDX/SUBペアになります。これらの字幕画像を編集可能なSRTテキストに変えるにはOCRが必要です。GeekLinkの無料コンバーターはBlu-ray SUP/PGS形式に対応しています。DVD IDX/SUBペアにはVobSub対応OCR経路が必要です。
GeekLinkはVobSub字幕に対応していますか?
現在の無料Blu-ray画像字幕コンバーターは.sup/PGSファイルを受け付けます。DVD VobSubは別の.idx/.subペアで、現在は直接入力に対応していません。MKVToolNixで抽出した後、VobSub対応OCRツールを使ってください。
MKVToolNixとmkvextractは同じものですか?
MKVToolNixはスイート全体の名称で、mkvextractはそのスイートに含まれるコマンドラインプログラムです。トラックやその他のMatroskaデータを抽出します。予測可能な抽出コマンドを使うには、mkvmerge -iでトラックを特定し、mkvextractで書き出します。
焼き込み字幕に使いやすいMac向けの選択肢は?
字幕が映像内に見えていて字幕トラックがない場合は、MKVToolNixではなくローカルOCRワークフローを使います。GeekLinkなら動画から選択した字幕領域を読み取り、タイムコード付きSRTを作成し、Mac上で翻訳や焼き込みまで続けられます。