ドロップフレームを解除
字幕テキストを貼り付けることもできます
オプション
30 fps のノンドロップと 29.97 のドロップフレームは同じ時計を違う形で書きます。この欄はファイルをどちらの規約で読み、どちらで書き戻すかを選びます。1時間の位置にある字幕は、一方では 01:00:00,000、他方では 01:00:03,600 になります。1時間あたり3.6秒の差で、丸め誤差ではありません。ページのタイトルが一方の方向を示し、この欄はその一方だけを出します。そのため得られるファイルはこのページが扱うとおりのものになります。テキストは変わりません。動画に合わせた再調整もフレームレートの変換も行わず、1時間の最初の1分内にある字幕はそのまま戻ります。そこで失われるフレームラベルがないからです。
タイミングを数える基準のフレームレートです。形式のページでは MicroDVD が必要とする値で、同形式は時間をフレーム番号で保存します。フレームレートのページでは、そのファイルがどのレートを前提に作られたか(字幕が合わせて作られた版)を指し、ページの2つ目の欄には実際に使う動画のレートを入れます。よく使われるのは 23.976、24、25、29.97、30、50、59.94、60 です。間違えると時間軸全体がずれます。フレームレートのページでは、ずれは固定量ではなく比率で生じます。
このページは、字幕ファイルのすべてのタイムコードを 29.97 fps のドロップフレームから 30 fps の non-drop へ付け直します。時計は番組の長さに応じて大きくなる一定量だけ戻ります。1時間の最初の1分は0、1時間で 3.6秒、10時間で36秒です。語、字幕番号、字幕の順序、改行はファイル自身のもので、そのまま出てきます。
このページが対象とするファイルは、ドロップフレームで数えていた表示機やデッキに合わせて刻印されています。29.97 の素材ではこれが普通で、ドロップフレームは壁時計と合い続ける約束だからです。ところが後工程は時計を non-drop として読みます。そう読むとファイルのどのタイムコードも、増え続ける分だけ大きすぎ、字幕は早く着地し、番組が進むほどどんどん早くなります。30分で誤差は1.8秒になり、ファイルのどこでも増えるのをやめません。だから修正は微調整ではなく、各タイムスタンプに同じ付け直しを適用し、補正の大きさを字幕の位置で決めます。
時計をタイムコードとして読むことは、最も近い 30 fps のフレーム目盛りへ吸着させることで、ドロップフレームではその目盛りの2つが存在しません。ドロップフレームは10分ごとを除く毎分の頭で ;00 と ;01 のラベルを飛ばします。00:00:59;28、00:00:59;29 と数えてから 00:01:00;02 へ跳ぶので、入ってきた 00:01:00,000 はその約束が書けない瞬間を名指します。書ける最後のラベル 00:00:59,933 へ、67 ms 前へ引かれます。これは算術の実在の境界で許容誤差ではなく、ページ上で滑らかにせず明記します。2時間で216個あります。
吸着の後で1フレーム、33.37 ms より短くなる字幕は書けません。両端が同じ目盛りに乗り、終了が開始と等しい字幕は字幕ではないからです。そうしたものは黙って1フレームへ伸ばさず、削除して上の損失レポートで数えます。実際にはフレーム単位で切った素材でしか起きませんが、まれであることに頼らず件数を報告し、該当のないファイルは何も報告しません。
アップロードはありません。ファイルはブラウザタブ内で読まれ書き戻され、決してマシンから出ません。このページでも重要なのはほかのページと同じ理由です。機密保持義務のある素材は変換サービスへ渡せませんし、このページはそれを求めません。
例
5分の位置にあるファイル
入力
1
00:05:00,000 --> 00:05:02,000
The room is dark.
2
00:10:00,000 --> 00:10:03,000
A cold night.
出力
1
00:04:59,667 --> 00:05:01,667
The room is dark.
2
00:09:59,400 --> 00:10:02,400
A cold night.
補正はファイル全体に1つの数値を当てるのではありません。5分の位置で時計は 333 ms 戻り、10分では 600 ms 戻ります。1つ目の字幕の時点でドロップフレームは10個のラベルを捨て、2つ目では18個を捨てているからです。両端が同じ量だけ動くので各字幕はミリ秒単位で長さを保ちます。これは移動ではなく付け直しです。
1時間の位置で同じ補正
入力
1
01:00:03,600 --> 01:00:06,600
An hour into the programme.
出力
1
01:00:00,000 --> 01:00:03,000
An hour into the programme.
1時間でドロップフレームの 01:00:03,600 は non-drop の 01:00:00,000 です。108個の飛ばしたラベル、3600 ms です。ページを確かめる数値として使ってください。出力の最初の行は入力の最初の行よりちょうど 3600 ms 前になり、ドロップフレームのデッキから出たファイルは丸い時刻に着地します。
最初の1分に入る字幕
入力
1
00:00:04,000 --> 00:00:06,000
Still early in the file.
2
00:05:00,000 --> 00:05:02,000
This one does move.
出力
1
00:00:04,000 --> 00:00:06,000
Still early in the file.
2
00:04:59,667 --> 00:05:01,667
This one does move.
1時間のうち最初の1分ではラベルが捨てられないので、2つの約束はその60秒を同じに綴り、最初の字幕はそのまま残ります。5分の2つ目は動きます。1つが変わらず隣が動くのは、このファイルの正しい出力であり止まった実行ではありません。補正は1時間の頭で0になり、最初の分の境界から増えていきます。
よくある質問
字幕が後ろではなく前へ出てくるのはなぜですか?
ファイルの時計が名指す瞬間より大きかったからです。non-drop は 29.97 fps が1秒に30フレームを出すかのように1秒に30個のラベルを数えるので、実時間より少しずつ先行します。ドロップフレームは毎分2個のラベルを飛ばしてそれに合わせます。ドロップフレームのデッキから読んだ時計を non-drop として解釈すると、本来より先を指すので、修正はその超過分を引きます。5分で 333 ms、1時間で 3600 ms、10時間で 36000 ms です。1時間の最初の1分に入る時計はすべて0なので、ページが適用する最小の補正は最初の分の境界のもので、どの時計も 00:00:00 より下がりません。
書けないドロップフレームのタイムコードはどうなりますか?
書ける最後のラベルへ引かれます。ドロップフレームの毎分は ;00 と ;01 のラベルを欠くので、00:01:00,000 と 00:01:00,010 はその約束が表示できない時計です。67 ms 前の 00:00:59,933 に着地します。このページで出力が正確な付け直しにならない唯一の箇所で、範囲は限られ、飛ばす分あたり2個、2時間で216個です。だから差分で見つけさせるのではなくここで名指しします。
字幕がファイルから消えることはありますか?
1フレーム、33.37 ms より短い字幕だけです。2つのことが字幕を1つのフレームに押し込みます。上で説明した吸着で、00:01:00,000 から 00:01:00,010 のような10 ms の字幕は両端が 00:00:59,933 へ引かれます。もう1つはもともとフレーム未満だった字幕です。開始と終了が同じ瞬間の字幕は書き出せないので削除され、その件数がワークスペースの上の損失レポートに出ます。該当のないファイルは何も報告せず、それが通常です。
時計の値以外にファイルで変わるものはありますか?
ありません。字幕番号、その順序、各行のテキスト、字幕内の明示的な改行、字幕の総数はファイル自身のもので、そのまま残ります。ページは各字幕の2つの数値を付け直して書くだけです。時計が non-drop になったことをどこかに記録もしません。ここで読む形式、SRT、WebVTT、ASS、SSA、SBV、SAMI、MicroDVD、TTML、JSON、CSV のどれにもそれを保持する欄がなく、落としたファイルもそう言っていなかったからです。
欄にはどのフレームレートを入れますか?
素材が実際に持つ任意のレートで、この変換には影響しません。このページの名前にある 30 と 29.97 はタイムコード文字列に書かれた数え方の約束で、映像のフレームレートではありません。だから入力した数値で何かが拡大縮小されることはありません。欄が必須なのは MicroDVD がタイミングを時計ではなくフレーム番号で保存し、フレームレートなしでは読めないからだけです。
この出力に反対のページを流すと元のファイルに戻りますか?
ドロップフレームが書けない種類のタイムコードに当たらなかった限り、バイト単位で戻ります。2つのページは同じ算術を逆向きに読んだもので、こちらは増える量を引き、あちらは足し戻します。量は固定のずれではなく各字幕の位置で決まります。例外は吸着の場合で、00:01:00,000 から 00:00:59,933 になった値は 00:00:59,933 として戻ります。往復誤差は 0 ms で、この種類だけが往復にならないタイムスタンプです。