字幕をフレーム数でずらす
字幕テキストを貼り付けることもできます
オプション
動かす量をフレーム数で指定し、下のフレームレートで換算します。元のファイルが MicroDVD の .sub のとき、または作業メモが秒ではなくフレームで数えられているときに使います。
タイミングを数える基準のフレームレートです。形式のページでは MicroDVD が必要とする値で、同形式は時間をフレーム番号で保存します。フレームレートのページでは、そのファイルがどのレートを前提に作られたか(字幕が合わせて作られた版)を指し、ページの2つ目の欄には実際に使う動画のレートを入れます。よく使われるのは 23.976、24、25、29.97、30、50、59.94、60 です。間違えると時間軸全体がずれます。フレームレートのページでは、ずれは固定量ではなく比率で生じます。
このページは、字幕ファイルをフレーム数でずらします。12フレームとフレームレートを渡すと、すべての字幕がちょうどその量だけ動きます。両端が一緒に動くので、長さの変わる字幕はありません。手元にある数値が時刻ではなくフレーム番号のときに使うページです。編集タイムラインから読み取った位置、品質チェックのメモ、フレームでしか数えない MicroDVD の .sub ファイルなどが該当します。
このページではフレームレートは補足事項ではなく、計算の半分です。フレームはレートで割って1000を掛けるとミリ秒になります。だから与えたレートは形式にかかわらず出力のすべての字幕に使われます。12フレームは 25 fps で 480 ms、24 で 500 ms、23.976 で 500.5 ms です。欄が必須で、よく使うレートがその横に並ぶのはこのためです。間違ったレートは大きな音を立てて失敗せず、タイムライン全体を比例して滑らせます。1時間のファイルではそれが数分になります。
整数ミリ秒に乗らないフレームのずれは、何よりも先に一度だけ丸めます。小数のミリ秒を保存する字幕形式はないからです。その後の処理はすべて整数ミリ秒で動くので、プレビューとダウンロードしたファイルが同じタイムラインを表します。
ずれはタイムライン全体に適用されます。ファイルの先頭より前へ押された字幕は開始を 00:00:00 に固定し、終了は動き続けるので短くなります。終了がゼロ以前になる字幕は削除されます。SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV はすべて受け付け、実際の中身に応じて読みます。アップロードはなく、キューはシーズン全体を1回で処理します。
例
25 fps で12フレーム
入力
1
00:00:01,000 --> 00:00:03,000
Hello there.
2
00:00:05,500 --> 00:00:08,000
Second line.
出力
1
00:00:01,480 --> 00:00:03,480
Hello there.
2
00:00:05,980 --> 00:00:08,480
Second line.
25 fps の12フレームは 480 ms です。整数のフレームレートなら結果も整数になるので、フレームを読み取ったタイムラインと照らし合わせやすい例です。
同じ12フレームを 23.976 fps で
入力
1
00:00:01,000 --> 00:00:03,000
Twenty-three point nine seven six.
出力
1
00:00:01,501 --> 00:00:03,501
Twenty-three point nine seven six.
500.5 ms はずれを適用する前に一度だけ 501 へ丸められます。半ミリ秒の端数が残ることはありません。両端とも同じだけ動くので、字幕の長さは 2000 ms のままです。
負のフレーム数
入力
1
00:00:00,200 --> 00:00:02,000
Starts almost immediately.
2
00:00:05,000 --> 00:00:06,000
Later.
出力
1
00:00:00,000 --> 00:00:01,600
Starts almost immediately.
2
00:00:04,600 --> 00:00:05,600
Later.
25 fps のマイナス10フレームは 400 ms 前です。1つ目はゼロより 200 ms 前から始まるはずなので、開始はそこで固定され、終了は 400 ms の全体だけ動きます。2つ目はきれいに 400 ms 前へ動きます。
よくある質問
ほかのページと違い、このページにフレームレートが必要なのはなぜですか?
ここではフレームレートがファイルの性質ではなく計算の一部だからです。1秒に何フレーム進むかが分かって初めてフレームは長さになります。その欄の値がすべての形式のずれを計算するのに使われます。ミリ秒のページでは MicroDVD を読み書きするときだけ必要なので、触らなくても済みます。
23.976 fps のフィルムにはどのフレームレートを選びますか?
24 ではなく 23.976 です。2つは近く、短いずれなら差は隠れますが、12フレームは一方で 500 ms、もう一方で 500.5 ms になり、長編全体では見えるほど蓄積します。ファイルが MicroDVD の .sub なら自身のレートを宣言していることがあり、その宣言が自分のタイミングを読むときに使われます。
フレームのずれが2つのミリ秒の間に来ることはありますか?
変換の結果としてはあり得ますが、何かに適用する前に最寄りの整数ミリ秒へ丸めます。小数のミリ秒を保存する字幕形式はないので、最初に一度丸めることで、タイムスタンプごとに違う丸めが起きず全体が整数のまま保たれます。
ずれは整数のフレーム数でなければなりませんか?
はい。欄は整数しか受け付けません。半フレームはどの再生ソフトもシークできない位置で、受け入れると黙って丸めることになります。入力した値と使われる値を同じにしておくほうが良いのです。
フレームレート欄を空のままにするとどうなりますか?
埋めるまで実行されません。防衛的ではなく意図的です。レートがなければフレーム数を長さに変えられません。推測するか黙って何もしないかのどちらかになり、どちらも処理したように見えて頼んだものではないファイルを生みます。