字幕がずれる6つの原因と、それぞれの直し方
字幕のずれには、よくある原因がいくつかあります。どのパターンに当たっているかを見極め、1行ずつ手作業で再タイミングせずに直す方法を解説します。
字幕のずれの問題は2つのカテゴリに分けられます。一定のオフセット(すべての行がほぼ同じ量だけ早いか遅い)と、ドリフト(動画の再生が進むにつれてずれが広がったり縮んだりする)です。それぞれ原因も対処法も異なります。
1. 一定のオフセット:フレームレートの想定の誤り
これは、固定された一定のずれの最も一般的な原因です。SRTファイルはタイムスタンプを実時間(時:分:秒)で保存しますが、字幕は元々特定のフレームレート(23.976fps、25fps、29.97fps)を基準にタイミングが作られていることがよくあります。ファイルが25fps版の動画用に作られていて、23.976fps版を見ている場合、すべてのタイムスタンプが一定の小さな割合だけずれます。これは短いクリップでは一定に見えますが、長い動画では徐々にずれが広がることがあります。
直し方: 多くの動画プレイヤーには、字幕のタイミングを固定のオフセットで調整できる機能があります(多くの場合、+/-キーや同期メニューです)。ずれが全体で一定であれば、数百ミリ秒程度のフラットな調整でたいてい解決します。
2. ドリフト:フレームレートの不一致(本当の原因)
動画が進むにつれてずれが悪化していくなら、単純なオフセットではなく、本物のフレームレートの不一致である可能性が高いです。たとえば、25fpsのPAL版の映画用にタイミングが作られた字幕を、23.976fps版で再生している場合などです。25から23.976への不一致はおよそ4%の伸びに相当し、最初の1分ではほとんど気づきませんが、最後には数秒のずれになることがあります。
直し方: これにはタイムライン全体を比例的に伸縮させる再同期ツールが必要で、単純なフラットシフトでは対応できません。フラットなオフセットは最初を直しても、後半をさらに悪化させてしまいます。
3. イントロ部分の有無の違い
字幕ファイルが、別のイントロ(スタジオロゴ、「前回までの話」の振り返り、追加の広告など)が付いた版の動画用に作られている場合、その箇所以降のすべてが、追加・欠落した部分の長さだけずれます。これは一定のオフセットのように見えますが、実際には構造上の不一致です。
直し方: 追加・欠落した部分の長さに等しいフラットなオフセットを適用します。
4. タイムスタンプの不正や順序の乱れ
ときどき、キューのタイムスタンプが単純に間違っていることがあります。開始・終了時刻が入れ替わっていたり、時間のフィールドにタイプミスがあったり、キューが時系列順になっていなかったりする場合です。多くのプレイヤーは1つの不正なキューをうまく処理しますが、プレイヤーによっては、破損したキューがそれ以降のすべてに影響を及ぼすこともあります。
直し方: ファイルをプレーンテキストエディタで開き、明らかにおかしい箇所(予期せず飛んでいる時間の値、開始時刻より早い終了時刻など)を確認します。
5. 可変フレームレート(VFR)の元動画
一部の画面録画やスマートフォンの動画は、可変フレームレートでエンコードされています。一定フレームレートを前提にタイミングが作られた字幕は、VFR動画全体で予測できないずれが生じます。これは、1フレームあたりの実時間が一定ではないためです。
直し方: 同期させる前に動画を一定フレームレートで再エンコードするか、フレーム数ではなく実際のタイムスタンプ(SRT/VTTはすでにこの方式です)に基づいて動く再同期ツールを使います。
6. 精度を落とした形式変換
字幕形式間の変換でタイミングが変わるべきではありませんが、不完全あるいは質の低い変換ツールはタイムスタンプを四捨五入し、長いファイル全体にわたって小さな累積誤差を生じさせることがあります。これは、フレームレートの問題と見分けがつきにくい、非常にゆっくりとしたドリフトとして現れます。
直し方: タイムスタンプを再計算せず、正確に保持する変換ツールを使います。当サイトの字幕変換ツールは、SRT、VTT、SBVなど各形式間で元のタイミングをそのまま保持します。何も再計算されないため、同期の問題を再発させずに形式を変換できます。