タイムコードを総フレーム数・経過秒へ変換

タイムコードを総フレーム数・経過秒へ変換

整数fpsの非ドロップフレームタイムコードを、先頭0基準の総フレーム数、経過秒、ミリ秒へ変換します。

入力

非ドロップの整数fpsだけを入力します。23.976、29.97、59.94には使用しません。

相対タイムコードの時。0〜9999です。

0〜59分。60分は時へ繰り上げます。

0〜59秒。60秒は分へ繰り上げます。

同じ秒内の0始まり番号。必ずfps未満にします。

使い方

  1. 素材または編集プロジェクトの整数フレームレートを確認して入力します。
  2. タイムコードの時・分・秒・フレーム番号を各欄へ分けて入力します。
  3. 「計算する」を押し、先頭をフレーム0とした総フレーム数、経過秒、ミリ秒を確認します。
  4. 編集ソフトへ転記するときは、フレームレート、ドロップフレーム有無、開始タイムコードも一緒に記録します。

計算式・考え方

整数fpsの非ドロップフレームとして、総フレーム数=(((時×60)+分)×60+秒)×fps+フレーム番号。経過秒=総フレーム数÷fps、経過ミリ秒=経過秒×1000です。

注意事項

  • タイムコードからフレーム数への変換は、映像上の位置を整数フレームの通し番号へ直す計算です。このページは00:00:00:00をフレーム0とする相対位置を扱い、ファイルの作成日時や時計時刻とは区別します。計算はブラウザ内だけで完結します。
  • 時・分・秒をまず秒へまとめ、その秒数へ整数fpsを掛けて、最後に同じ秒内のフレーム番号を足します。途中で時間を小数へ丸めないため、長い素材でも秒表示から逆算するよりフレーム境界を保ちやすくなります。
  • 分と秒は0〜59、フレーム番号は0以上fps未満に限定します。例えば30 fpsなら有効なフレーム番号は0〜29です。30を入力すると次の秒の0フレームと重複するため、fps欄とフレーム欄の組合せエラーとして拒否します。
  • 代表例として24 fpsの01:02:03:12は、3723秒×24+12=89364フレームです。経過秒は3723.5秒、ミリ秒は3723500 msになります。フレーム番号が12なので、秒境界から12/24=0.5秒進んだ位置です。
  • 境界の00:00:00:00は総フレーム0、経過0秒です。これは最初のフレームを1ではなく0として数える一般的なインデックスです。『何枚のフレームを含むか』を数える用途では終端を含むかで1枚差が生じるため、区間長と位置を区別してください。
  • このページは整数fpsの非ドロップフレーム専用です。23.976、29.97、59.94の実フレームレート、SMPTE drop-frame番号、1000/1001系、可変フレームレート、音声サンプル位置を自動補正しません。これらは表示番号と実時間の関係が異なります。
  • 29.97 fpsのドロップフレームでは、実フレームを捨てるのではなく特定の番号を飛ばして時計時刻とのずれを抑えます。整数30 fpsとして計算するとドロップフレームの表示番号とは一致しません。素材またはシーケンス設定のDF/NDF表示を確認してください。
  • フレームレートは画像の枚数/秒で、シャッタースピード、タイムベース、再生速度、コンテナのtimebaseとは別の設定です。同じ24という表示でも、24/1と24000/1001は長時間で差が積み上がるため、整数でない場合はこのページを使わないでください。
  • 式と用語はSMPTE timecodeの一般的構造とFFmpeg・編集ソフト公式文書のfps/timebase区別を確認して設計しました。参照資料は条件と用語の確認に使い、文章、入力検証、例、FAQはこのページ向けに独自作成しています。
  • 生成物はWordPress本文、追加CSS、追加JavaScriptへ分離し、ページ先頭に計算フォーム、その下に説明を配置します。共通の許可制ASTだけを使い、外部CDN、fetch、eval、new Functionを使用しません。
  • 編集作業の補助としてはR0ですが、放送納品、同期、字幕、EDL、音声サンプル精度が必要な案件では、プロジェクトの正式なフレームレート、DF/NDF、開始TC、ソフトウェアのtimebaseを優先し、この簡易結果だけで納品位置を確定しないでください。
  • 整数fps・非ドロップフレーム専用です。29.97/59.94、DF、VFR、放送納品には専用ツールを使用してください。

よくある質問

29.97 fpsを入力できますか?

できません。このページのfpsは整数です。29.97/59.94とdrop-frameは番号付け規則を含む専用計算が必要なので、整数30/60として代用しないでください。

30 fpsでフレーム番号30を入力できないのはなぜですか?

1秒内の番号は0〜29で、30は次の秒の0と同じ位置になるためです。入力の重複を避けるためconstraintで拒否します。

総フレーム数に1を足す必要はありますか?

位置番号としては足しません。区間に含まれるフレーム枚数を両端含みで数える場合だけ、開始・終了番号の差に1を足すことがあります。

可変フレームレート動画にも使えますか?

使えません。一定fpsを仮定します。VFR素材は各フレームのpresentation timestampを読み取れる編集・解析ツールで確認してください。

入力したフレームレートとタイムコードはこの端末内だけで計算され、外部へ送信・保存されません。動画ファイル自体をアップロードする欄はありません。