Amazonで商品を見るセール会場へ

After Effectsのタイムコードを1行で表示|fps・開始時刻・フレーム番号

テキストレイヤーのソーステキストへtimeToCurrentFormat()を貼ると、現在の表示形式に従う時間表示を作れます。

固定の30をすべてのコンポへ流用せず、コンポのfpsと表示形式を先に確認します。

2026年10月14日、Windows 11 Pro(10.0.26200)、After Effects 26.5(Build 89)日本語版・JavaScriptエンジンで確認しました。

960×540のテキストレイヤーで、式の返り値とコンポジション上の表示を照合しました。

24fpsの秒境界・開始時刻・フレーム表示と、29.97fpsのドロップフレーム境界を確認しています。

目次

ソーステキストへ1行の式を貼る

「コンポジション」→「新規コンポジション」で960×540、24fps、デュレーション4秒、開始タイムコード00:00:00:00にします。

「レイヤー」→「新規」→「テキスト」で文字を作ります。

検証ではConsolas・64pxを使いました。

文字が見える色とサイズを設定してください。

プロジェクト設定の「時間表示形式」を「タイムコード」にします。

テキストレイヤー左側の三角を開き、「テキスト」→「ソーステキスト」のストップウォッチをAltクリック(MacはOptionクリック)して、式の入力欄を開きます。

既存の式を選択して、下の1行へ置き換えてください。

入力欄の外側をクリックして確定します。

// テキストレイヤーの「ソーステキスト」へ貼付
timeToCurrentFormat();

0秒、1秒、1秒の1フレーム前へ再生ヘッドを移動し、表示が00:00:00:00、00:00:01:00、00:00:00:23となるか確認します。

24fpsの23フレーム目でtimeToCurrentFormatの式と00:00:00:23を表示したAfter Effects実画面
24fps・開始00:00:00:00。ソーステキストのtimeToCurrentFormat()が23フレーム目に00:00:00:23を表示。 2026年10月14日、Windows 11 Pro・AE 26.5(Build 89)で撮影。

画面は24fpsの23フレーム目で、表示は00:00:00:23です。

タイムライン左上の現在時刻をクリックして0:00:00:23を入力すると再現できます。

1フレーム進めると00:00:01:00になります。

プロジェクトの時間表示形式を「フレーム」にすると、同じ式でも0・23・24フレーム目は00000・00023・00024になりました。

タイムコードを焼き込むつもりで数字だけが出るときは、この設定を確認します。

既定ではコンポの開始時刻も時間へ加えます。

開始タイムコードを01:00:00:00にしたコンポでは、先頭表示にもその開始時刻を反映します。

スポンサーリンク

コンポ先頭を0フレームとして数える

開始タイムコードを加えず、コンポの経過時間からフレーム番号を出したい場合は次の式へ置き換えます。

fpsはframeDurationから取得します。

AE本体で24fpsの1秒は24、30fpsの1秒は30を確認しました。

開始タイムコードを01:00:00:00にしても、この式では先頭が0、24fpsの1秒が24になります。

// コンポ先頭を0とするフレーム番号
timeToFrames(time, 1 / thisComp.frameDuration, false).toString();
入力フレーム番号基準
24fps/time=1秒24開始タイムコードを加えない
30fps/time=1秒30固定30ではなくコンポから取得
レイヤーのIN点を1秒へ移動その時点はコンポの1秒この式はIN点からの経過ではない

本文の1行の式とは別の例です。

25fpsのコンポで、タイムコード・fps・開始時刻・フレーム番号を、1つのテキストに並べた画面を撮影しました。

ソーステキストの式は、fpsを「1 / thisComp.frameDuration」で求めています。

タイムコードは「timeToCurrentFormat(time)」、開始時刻は「timeToCurrentFormat(thisComp.displayStartTime)」、フレーム番号は「timeToFrames(time)」で文字にしています。

1秒12フレームの時点で、表示は「TC 00:00:01:12 | FPS 25 | START 00:00:00:00 | FRAME 37」でした。

After Effectsでタイムコードとfpsと開始時刻とフレーム番号を表示する式と結果
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

現在時刻を2秒12フレームへ進めると、表示は「TC 00:00:02:12 | FPS 25 | START 00:00:00:00 | FRAME 62」に更新されました。

After Effectsの現在時刻に合わせてタイムコードとフレーム番号が更新された結果
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

開始時刻が00:00:00:00のため、フレーム番号は、先頭から数えた値になっています。

25fpsの1秒12フレームが37、2秒12フレームが62です。

本文の24fpsの検証とは別のコンポで撮影した例です。

24fps固定と29.97ドロップフレームを区別する

24fpsコンポで表示基数を24に固定し、先頭からのタイムコードを出したい場合は次の式を使います。

コンポ設定を30fpsへ変えたときも自動で基数30には変わらないため、この式は24fpsの練習用です。

// 24fpsコンポで、コンポ先頭を00:00:00:00にする
timeToTimecode(time, 24, false);

29.97fpsでは、コンポ設定のドロップフレーム表示とプロジェクトの時間表示形式を確認し、最初のtimeToCurrentFormat()で設定に従わせます。

ドロップフレームは番号の数え方で、映像フレームを削除する操作ではありません。

検証用コンポを29.97fps、開始00;00;00;00、デュレーション10分5秒以上にして、コンポジション設定でフレームレート欄の右にあるメニューから「ドロップフレーム」を選びました。

ソーステキストの式はtimeToCurrentFormat()のままです。

フレーム番号は先頭を0として数えています。

先頭からのフレーム番号AEの表示(実測)
179900;00;59;29
180000;01;00;02
1798100;09;59;29
1798200;10;00;00

1分境界では末尾00・01の番号を飛ばして02へ進み、10分境界では00へ進みました。

これが映像の2フレームを削除するという意味ではありません。

境界を再現するときは、現在時刻に0;00;59;29を入力して1フレーム進め、次に0;09;59;29で同じ操作をします。

29.97fpsドロップフレームで00;01;00;02を表示したAfter Effects実画面
29.97fps・ドロップフレーム・開始0。先頭から1800フレーム目は00;01;00;02。直前の00;00;59;29から番号が進む。 2026年10月14日、Windows 11 Pro・AE 26.5(Build 89)で撮影。

旧式のtimeToTimecode(…, 30, …)へ29.97を入れ替えるだけで、コンポ設定と同じドロップフレーム表示を再現したとは扱いません。

表示できない場合と戻し方

式エラーでは、位置や不透明度ではなくソーステキストへ貼ったかを確認します。

数字だけになる場合は、現在の時間表示形式がフレーム番号になっていないかを確認します。

表示の桁がずれる場合はコンポのfps、開始タイムコード、どの式を使っているかを確認します。

戻すときは式の有効スイッチをOFFにし、元のテキストと時間表示形式を復元します。

旧配布ページと参考動画

次のリンクは従来の配布ページと参考動画です。

配布物の現行内容や購入条件は今回変更していません。

上の1行の式は.jsxの実行やProgram Files配下への配置を必要としません。

参考動画:https://www.youtube.com/embed/xK0knqvi5xI

配布ページ:https://cg-method.booth.pm/items/1072862

仕様の参照:時間変換メソッド、Adobeのタイムコードと時間表示単位。

音声の曲名も表示するときはBGMレイヤー名の表示を参照します。

関連記事と旧配布資料

関連記事は目的に応じて使い分けます。

旧配布コードと、このページの改訂コードは同じものではありません。

スポンサーリンク

よくある質問:After Effectsでタイムコードをテキストに表示するとき

現在のタイムコードを、テキストに表示するには?

テキストレイヤーのソーステキストへ、timeToCurrentFormat()を貼ります。

現在の表示形式に従う時間表示を作れます。

固定の30をすべてのコンポへ流用せず、コンポのfpsと表示形式を先に確認します。

式は、どう貼りますか?

960×540、24fps、開始タイムコード00:00:00:00の練習コンポを作り、テキストレイヤーを追加します。

時間の表示形式をタイムコードにしてから、テキスト→ソーステキストのストップウォッチをAltクリック(MacはOptionクリック)します。

0秒、1秒、1秒の1フレーム前へ再生ヘッドを移動し、表示が00:00:00:00、00:00:01:00、00:00:00:23となるか確認します。

上の1行の式は、.jsxの実行やProgram Files配下への配置を必要としません。

数字だけが表示されるのは、なぜですか?

現在の時間表示形式が、フレーム番号になっていないかを確認します。

表示形式をフレーム番号にすると、同じ式でも時間文字列の見え方が変わります。

コンポの先頭を0として、フレーム番号を出すには?

開始タイムコードを加えず、コンポの経過時間からフレーム番号を出したい場合は、記事の別の式へ置き換えます。

fpsはframeDurationから取得します。

記事の例では、24fpsで1秒は24、30fpsで1秒は30です。

この式は、レイヤーのIN点からの経過ではありません。

開始タイムコードが00:00:00:00ではないコンポでは?

既定では、コンポの開始時刻も時間へ加えます。

開始タイムコードを01:00:00:00にしたコンポでは、先頭表示にもその開始時刻を反映します。

24fps固定の式を、30fpsのコンポで使ってもよいですか?

式は動作しますが、表示の基数は24のままです。

30fpsコンポのフレーム番号と一致する表示が必要なら、timeToCurrentFormat()またはコンポのframeDurationを使う式へ切り替えます。

29.97fpsのドロップフレームは、どう扱いますか?

29.97fpsでは、コンポ設定のドロップフレーム表示とプロジェクトの時間表示形式を確認し、最初のtimeToCurrentFormat()で設定に従わせます。

ドロップフレームは番号の数え方で、映像フレームを削除する操作ではありません。

旧式のtimeToTimecode(…, 30, …)へ29.97を入れ替えるだけで、同じドロップフレーム表示を再現したとは扱いません。

AE 26.5で、1分境界は00;00;59;29から00;01;00;02、10分境界は00;09;59;29から00;10;00;00になることを確認しました。

この式は、実機で確認済みですか?

2026年10月14日にWindows 11 Pro、AE 26.5(Build 89)で確認しました。

24fpsの0・23・24フレーム、開始01:00:00:00、フレーム表示、29.97fpsドロップフレームの1分・10分境界を検証しています。

描画はConsolas・64pxで確認しました。

macOS、別バージョン、別フォント、動画ファイルへの書き出しは今回の検証範囲に含みません。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

須澤 元貴のアバター 須澤 元貴 代表社員

MOTOKI合同会社 代表社員。
アニメ・映像業界とゲーム業界で、2D・UI・3D・アニメーション制作、映像編集、ツール制作に携わってきました。
現在はWordPressを中心にWebサイトの制作とカスタマイズを手がけています。
著書に『Unity デザイナーズ・バイブル』『Unityゲーム プログラミング・バイブル 2nd Generation』(ボーンデジタル)。
岡山県出身、埼玉県在住。

目次