字幕のずれは一定か、再生するほど広がるのか

発言より先に字幕が出る原因は、単純な時間差の場合も、動画の版が違う場合もあります。字幕ファイル全体を動かす前に、序盤と終盤の1行ずつを比べましょう。

字幕ファイルは文章と表示時刻を結び付ける

各字幕ブロックには、表示する言葉と開始・終了時刻があります。SRTとVTTはそのための形式です。形式を変えても言語の翻訳や音声の文字起こしは行われません。

WebVTTはUTF-8を使い、基本的な文字字幕以外の機能も持ちます。.vttという拡張子だからといって、その全機能を変更なしでSRTへ移せるわけではありません。

参考資料: W3C — WebVTT structure, UTF-8 and cue timings · Library of Congress — SubRip subtitle format

一定の移動で直せるのは一定のずれ

どの字幕もほぼ同じ時間だけ早く出るなら、正のオフセットで開始と終了を一緒に遅らせます。表示時間の長さは変わらず、文章の変更も不要です。

序盤は小さく終盤は大きくずれる場合、一定量の移動では両方を合わせられません。動画と字幕の版が一致するか確認しましょう。徐々に広がるずれや細かな時刻修正には、その用途の編集ソフトが必要です。

変換後に残せる情報を確認する

ToolRoofは基本的な文字字幕をSRTとVTT間で変換し、一定の時間移動を加えます。複数行の文字は扱えますが、書式タグ、文字実体参照、VTTの位置設定、字幕ブロックの識別子は黙って捨てずに拒否します。

字幕を動画の映像に焼き込んだり、音声を文字起こししたりする機能ではありません。原本を保存し、対象の動画で出力を開いて序盤と終盤を確認してください。移動によって字幕の開始が時刻0より前になってはいけません。

例:字幕を750ミリ秒遅らせる

00:00:10,500から00:00:12,000までの字幕は1500ミリ秒表示されます。750ミリ秒を加えると、VTTでは00:00:11.250から00:00:12.750になり、表示の長さは変わりません。

序盤のずれが750ミリ秒、終盤が3000ミリ秒なら、750を加えても終盤に2250ミリ秒の誤差が残ります。一定の移動だけでは足りないことが分かります。

参考資料