TL;DR: すべての字幕は「映像の一部」か「独立したトラック」のどちらかです。プレーヤーでオフに切り替えられるならそれは抽出可能なトラックであり、画面に固定されたまま消えないなら焼き込み字幕(ハードサブ)で、映像フレームのOCRでしか読み出せません。テキストトラックはffmpegで即座に取り出せ、画像トラック(Blu-rayのPGSとDVDのVobSub)はトラックを取り出した後にOCRが必要で、焼き込み字幕はフレームOCRが必要です。
自分の字幕がどの種類か見分けるには?
もっとも手早い判定方法は、動画プレーヤーさえあれば十分です。字幕をオフに切り替えてみましょう。オフになれば、それは独立したトラックであり抽出できます。何をやっても画面に残り続けるなら、それは焼き込まれています。この一つの操作だけで、開くファイルのほぼすべてを仕分けられます。
確実な答えが欲しい場合は、トラック一覧を表示します。ffmpegをインストール済みのMac(brew install ffmpeg)なら、次を実行してください。
ffprobe -v error -select_streams s \
-show_entries stream=index,codec_name:stream_tags=language,title \
-of default=noprint_wrappers=1 input.mkv
GUIの方が好みなら、MediaInfoでも同じトラック一覧が表示されます。そして実際にトラックを抽出したとき、出てくるファイルの拡張子自体が手がかりになります。.srtはテキスト、.supはBlu-rayのPGS(画像形式)、.idx/.subはDVDのVobSub(こちらも画像形式)を意味します。
すべてを決定づける唯一のテスト:プレーヤーで字幕をオフに切り替えられるなら抽出可能なトラックであり、できないなら映像に焼き込まれておりOCRが必要です。
字幕の4つの種類
拡張子やコーデック名の違いの下には、出会うことになる字幕の種類がちょうど4つあります。2つはテキスト、1つはトラックに格納された画像、1つは映像そのものに焼き込まれたものです。
- テキストトラック(埋め込みSRT/ASS、MP4のtx3g、WebVTT):字幕はすでに実際のテキストとして格納されています。プレーヤーで切り替え可能で、ffmpegやmkvextractで数秒で抽出できます。OCRは不要です。これが最も楽なケースであり、誰もが望むパターンです。
- 画像トラック — PGSとVobSub:PGS(
.sup)はBlu-rayの字幕形式、VobSub(.idx/.sub)はDVDの字幕形式です。どちらも独立した切り替え可能なトラックですが、各字幕行はテキストではなく小さな文字画像として格納されています。トラックを取り出し(mkvextract、あるいはMac上のSublerを使用)、その画像をOCRすることで編集可能なSRTが得られます。 - 焼き込み字幕(ハードサブ):テキストが映像のピクセルに直接焼き込まれており、映像の一部でありオフにはできません。取り出すべきトラックが存在しないため、デマルチプレクサや変換ツールは役に立ちません。映像フレームをOCRしてテキストを読み出す必要があります。これはまさにGeekLinkがMac上で行っていることです。
- クローズドキャプション(CEA-608/708):字幕トラックではなく映像信号そのものに埋め込まれており、放送テレビの録画や一部のMP4/MOVファイルでよく見られます。切り替え可能でテキストベースなので、ccextractorやffmpegを使えばOCRなしで抽出できます。
4種類のうち3つは切り替え可能なトラックであり、焼き込み字幕だけが映像の一部です。そしてこれが、抽出できるかOCRが必要かを分ける境界線です。
種類ごとに使うべきツール
4種類のうちどれを扱っているかが分かれば、使うべきツールはおのずと決まります。判断材料をひと目で確認できるようにまとめました。
| 種類 | 見分け方 | 抽出方法 | 出力 |
|---|---|---|---|
| テキストトラック(SRT/ASS/tx3g/WebVTT) | 切り替え可能。ffprobeでテキストコーデックが表示される | ffmpegまたはmkvextract | 即座にSRT |
| 画像トラック — PGS / VobSub | 切り替え可能。.supまたは.idx/.subとして抽出される | トラックを抽出後、OCR | SRT(OCR後) |
| 焼き込み字幕(ハードサブ) | オフにできない。字幕トラックが一覧に表示されない | 映像のフレームOCR | SRT(OCRから) |
| クローズドキャプション(CEA-608/708) | 放送/MP4/MOVで切り替え可能なキャプション | ccextractor(またはffmpeg) | SRT |
4種類のうちOCRが必要なのは画像トラックと焼き込み字幕の2つだけであり、理由はどちらも同じです。ファイルの中にテキストがなく、画像しかないからです。
なぜ画像トラックと焼き込み字幕はどちらもOCRが必要なのか
一見すると別々の問題に見えますが、実際には一つの問題です。PGSやVobSubトラックは各字幕をテキストのビットマップ画像として格納しており、焼き込み字幕は映像自身のピクセルに描き込まれています。どちらの場合も、ファイル内のどこにもコピーして取り出せるテキストは存在せず、あるのは画像(画像トラック)またはピクセル(焼き込み字幕)だけです。
どんなフォーマット変換ツールも画像をテキストに変えることはできません。それができるのはOCRだけです。だからこそ、PGS/VobSubトラックをSRTに変換することや、映像から焼き込み字幕を抽出することは、本質的にファイル変換の作業ではなくOCRの作業なのです。
これは、多くの人がつまずく理由でもあります。ffmpegや字幕変換ツールを試し、エンコーダーのエラーやテキストエディタで開けない.supファイルに突き当たって、何かが壊れていると思い込んでしまうのです。何も壊れてはいません。単に、そのツールは存在しないテキストを生み出すことができないだけです。
Macで各種類を抽出する方法
macOS上で4種類それぞれを扱う実践的な手順を紹介します。
テキストトラック — コマンド一つで完結し、数秒で終わります。
# Extract the first subtitle track as SRT
ffmpeg -i input.mkv -map 0:s:0 subtitles.srt
画像トラック(PGS / VobSub) — トラックを取り出し、OCRにかけます。Macでの最もシンプルな方法は、まずトラックを一度映像に描画(レンダリング)し、その結果にOCRを実行することです。
# Render the image-subtitle track onto the video (one-time re-encode)
ffmpeg -i input.mkv -filter_complex "[0:v][0:s:0]overlay[v]" \
-map "[v]" -map 0:a? -c:a copy rendered.mp4
続いてrendered.mp4をGeekLinkに取り込み、OCR抽出を実行すれば、きれいにタイミングが合ったSRTが得られます。
焼き込み字幕 — 取り出すトラックが存在しないため、直接OCRに進みます。映像をMac上のGeekLinkに取り込みOCR抽出を実行すると、フレームから直接字幕テキストを読み取り、正しくタイミングが合ったSRTを書き出します。すべてローカル・オフラインで処理され、何もアップロードされません。
クローズドキャプション — ccextractor(ccextractor input.mp4 -o captions.srt)またはffmpegで抽出できます。OCRは不要です。
2つのOCRが必要なケース——焼き込み字幕の動画と、レンダリング済みの画像トラック——について、GeekLinkはローカルで動くMac向けの選択肢です。オフラインで実行されるOCR抽出でタイミング付きSRTを書き出し、音声認識(Whisper)、40以上の言語へのAI翻訳(Claude、GPT-4o、DeepSeek)、内蔵エディタ、そしてシーズン丸ごと処理したいときのバッチ処理も備えています。OCRの詳しい手順はこちらをご覧ください。焼き込み字幕(ハードサブ)をOCRで抽出する方法。
FAQ
字幕が焼き込まれているかどうか、どうやって分かりますか?
プレーヤーでオフにしてみてください。どの字幕トラックを選んでもオフにしても画面から消えないなら、それは映像に焼き込まれています。消えるなら、抽出できる切り替え可能なトラックです。
焼き込み字幕を抽出することはできますか?
トラックとしては抽出できません。テキストが映像のピクセルの一部になっているため、取り出すべきトラックが存在しないからです。映像フレームをOCRしてテキストを読み取り、SRTにします。Macでは、GeekLinkがこれをローカルで処理し、タイミング付きのSRTを書き出します。
.supファイルとは何ですか?
Blu-rayのPGS字幕トラックです。画像ベースで、各字幕行はテキストではなく文字の画像として格納されているため、編集可能なSRTにするにはOCRが必要です。
.idx/.subファイルとは何ですか?
DVDのVobSub字幕トラックです。PGSと同様に字幕をテキストではなく画像として格納しているため、SRTに変換するにはやはりOCRが必要です。
NetflixやストリーミングサービスのSubtitleは焼き込まれていますか?
通常は違います。プレーヤーでオン・オフを切り替えられるテキストトラックです。焼き込まれるのは、誰かが字幕を表示したまま画面録画した場合のみで、その場合テキストが録画されたピクセルに焼き付いてしまいます。