メインコンテンツへスキップ
SubtitleMatrix

動画の長さに字幕を合わせる

タイミング時間軸全体を比率で伸縮
字幕テキストを貼り付けることもできます

オプション

動画の長さをミリ秒・秒・タイムコードで指定します(1500、24m、00:24:00,000 のいずれも可)。比率はファイル自身から計算します。字幕が最後に画面に出ている瞬間を測り、その長さがここで指定した長さになるように伸縮します。比率ではなく、合わせたい版の再生時間が分かっているときに便利です。

タイミングを数える基準のフレームレートです。形式のページでは MicroDVD が必要とする値で、同形式は時間をフレーム番号で保存します。フレームレートのページでは、そのファイルがどのレートを前提に作られたか(字幕が合わせて作られた版)を指し、ページの2つ目の欄には実際に使う動画のレートを入れます。よく使われるのは 23.976、24、25、29.97、30、50、59.94、60 です。間違えると時間軸全体がずれます。フレームレートのページでは、ずれは固定量ではなく比率で生じます。

実行するには 目標の長さ を入力してください。

動画の長さを入力すると、このページが比率を計算します。字幕ファイルの長さはファイル自身、つまり中にある最も遅い終了時刻から測り、すべてのタイムスタンプに目標の長さをそれで割った値を掛けます。百分率を計算する必要はなく、最後の字幕はたまたま止まった位置ではなく動画の終わりに着きます。

測るのは一覧の最後の字幕の終了ではなく、ファイル内で最も遅い終了時刻です。実際のファイルではこの2つが違うことがよくあります。ナレーションの行が早く始まって短い返事をまたいで残ることがあり、最も遅く終わる字幕は最後に書かれた字幕ではありません。間違ったほうで測ると比率がその差分だけずれ、エピソードの最後の数分でしか表に出ない種類の誤りになります。

目標の欄は、手元にある形のまま長さを受け取ります。ミリ秒、s や m を付けた秒・分、あるいは完全なタイムコードです。最後の形はタイムライン上の瞬間ではなく長さなので、ここで入力するのは開始時刻ではなく継続時間です。

目標が短ければファイルは伸びずに圧縮されます。切り替える設定はなく、動画に対して長すぎるファイルは逆方向の同じ問題です。すべてゼロから測るので、最初の台詞より前の導入部分も一緒に伸縮されます。冒頭のタイトルを固定して末尾だけ動かしたいなら、比率ではなく一定のずれか2点合わせが正しい道具です。

SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV は拡張子ではなく中身に応じて読みます。プレーンテキストと LRC は拒否されます。どちらも測るための終了時刻を持たないからです。処理はすべてブラウザタブ内で動くので、シーズン分のエピソードを1バイトも外へ出さずにキューへ流せます。

例

10秒の動画に対する8秒のファイル

入力

1
00:00:01,000 --> 00:00:03,000
Hello there.

2
00:00:05,000 --> 00:00:08,000
Second line.

出力

1
00:00:01,250 --> 00:00:03,750
Hello there.

2
00:00:06,250 --> 00:00:10,000
Second line.

目標の長さを 00:00:10,000 にしたので、比率は10割るファイルの8秒、つまり1.25で、手計算は不要です。最後の字幕はちょうど10秒に着きます。比率を測った基準がそこだからです。最初の字幕はゼロからの距離の4分の1だけ動きます。

動画に対して長すぎるファイル

入力

1
00:00:00,000 --> 00:00:10,000
A long opening line.

2
00:00:02,000 --> 00:00:03,000
Short.

3
00:00:04,000 --> 00:00:05,000
Also short.

出力

1
00:00:00,000 --> 00:00:06,000
A long opening line.

2
00:00:01,200 --> 00:00:01,800
Short.

3
00:00:02,400 --> 00:00:03,000
Also short.

10秒のファイルに 6s を指定したので圧縮方向で、比率は 0.6 です。ファイルが10秒なのは最初の字幕がそこで終わるからで、最後に書かれた字幕の終了は5秒です。そちらで測ると比率が1になり、ファイルをそのまま返していました。圧縮はすべての字幕を締め付けるので読速が上がり、語は何も変わっていません。

導入部分も動く

入力

1
00:01:00,000 --> 00:01:02,000
Lead-in ends, speech starts.

2
00:02:00,000 --> 00:02:02,000
One minute in.

出力

1
00:01:30,000 --> 00:01:33,000
Lead-in ends, speech starts.

2
00:03:00,000 --> 00:03:03,000
One minute in.

最も遅い終了が2分2秒のファイルに 3m3s を指定したので、比率は 1.5 です。欄は分を受け取り、183000 や 00:03:03,000 でも同じ意味になります。最初の字幕は1分から始まっていましたが1分30秒になりました。すべてタイムラインの先頭から測るので、無音の導入も台詞と一緒に伸びます。

よくある質問

字幕ファイルの長さはどうやって分かりますか?

このページが測ります。ファイル内で最も遅い終了時刻を取り、それをファイルの長さとして扱います。入力するのは動画の長さだけです。実行前に数値を知りたいなら、整ったファイルでは最後の字幕がほぼその値ですが、短い字幕をまたぐ長い字幕があると2つは違ってきます。

入力した目標の長さが今のファイルより短い場合は?

伸びずに圧縮され、別のモードへ切り替える必要はありません。10分のファイルに6分を指定すると 0.6 が掛かり、各字幕は画面時間の60パーセントを保ちます。すべての行の読速が上がるので、圧縮したファイルを放送局へ納品する前に読速のページで確認してください。

末尾だけを合わせたかったのに最初の字幕が動いたのはなぜですか?

比率がゼロからの距離に掛かるからです。最初の行が1分から始まるファイルを1.5倍に伸ばすと1分30秒から始まり、無音の導入も台詞と一緒に伸びます。冒頭のタイトルが固定で末尾だけが間違っているなら比率の問題ではありません。一定のずれか、選んだ瞬間を固定する2点合わせを使ってください。

目標の長さをタイムコードではなく分で入力できますか?

できます。欄はミリ秒の数値、90s や 24m や 1h2m のような継続時間、00:24:00,000 のような完全なタイムコードを受け取り、どれも同じ意味です。動画ツールが表示する形のまま入力してください。別の形へ書き直すことが転記の誤りのもとになります。

伸ばしても字幕が合いません。ほかに何が考えられますか?

片端は合うが中間が合わないなら、ファイルが切られているか動画が再編集されており、その2つの瞬間を使う2点合わせが直します。すべての字幕が同じだけ遅れているなら一定のずれで、ずらすページの担当です。フレームレート変換の後にだけずれが現れるなら、フレームレートのページが測った比率ではなくレートそのものから計算します。

目標の長さを空欄のままにするとどうなりますか?

実行は始まらず、必須の項目が欠けていると表示されます。これは意図的です。どんな初期値も実在の長さになるので、欄を読まずにファイルを放り込んで実行すると、誰も選んでいない長さへ黙って伸縮され、出力には何も書かれません。ボタンの横にはファイルから測った長さも表示されるので、実行前に比べられます。

関連ツール