SRT・WebVTT のずれを一括で補正し、形式も相互変換
最初から最後まで同じ幅でずれているなら、原因は開始位置の違いです。この場合は「ずらす秒数」だけで直ります。一方、冒頭は合っているのに後半へ行くほどずれが広がるなら、原因は再生速度(フレームレート)の違いです。この場合は秒数のシフトでは直らず、全体に倍率を掛ける必要があります。フレームレート換算はそのための機能です。
プレイヤーで最初のセリフが実際に聞こえた時刻を確認し、そこから字幕の開始時刻を引きます。たとえばセリフが 0:03.5 で始まるのに字幕が 0:01.0 から出ているなら、+2.5 を入れます。マイナス方向へずらした結果、開始時刻が 0 より前になるキューは 00:00:00,000 で止めます(負のタイムコードは仕様上書けないため)。この丸めが起きた件数は結果欄の下に表示します。
SRT はミリ秒の区切りがカンマ(00:00:01,500)で、各キューの前に通し番号を置きます。WebVTT はピリオド(00:00:01.500)で、ファイル先頭に WEBVTT の行が必要、通し番号は任意、1時間未満なら時の桁を省略できます。HTML5 の video に track 要素で読み込めるのは WebVTT だけなので、Web で配信するなら VTT へ変換します。このツールは入力形式を自動判定し、出力は選んだほうで書き出します。
このツールが扱うのはタイムコード行とその本文だけです。WebVTT の NOTE ブロック、STYLE ブロック、REGION ブロックは出力に引き継ぎません。キュー設定(タイムコード行の後ろに書く align や line などの指定)は、WebVTT で出力する場合はそのまま残し、SRT で出力する場合はSRTに該当する記法が無いため落とします。
字幕が早すぎる(セリフより先に出る)ときは、プラスの秒数を入れて後ろへずらします。逆に字幕が遅れて出るときはマイナスを入れます。ずれ幅が分からないときは、最初のセリフの実際の再生時刻と、字幕の開始時刻の差を秒で入れてください。
23.976fps 向けに作られた字幕を 25fps の映像に合わせるときなど、映像の尺そのものが違う場合に使います。ずれが「最初は合っているのに後半になるほど広がる」形なら、一定秒数のシフトではなく倍率の問題です。元fpsと先fpsを選ぶと、全タイムコードに 元/先 の比率が掛かります。
いいえ。読み込み・解析・変換・ダウンロードまで、すべての処理をお使いのブラウザ内で行います。字幕の内容がサーバーへ送信されることはありません。
タイムコードの小数点が SRT はカンマ(00:00:01,500)、WebVTT はピリオド(00:00:01.500)です。WebVTT は先頭に WEBVTT 行が必要で、通し番号は任意、時間が1時間未満なら時の桁を省略できます。HTML5 の track 要素で使えるのは WebVTT のほうです。