Showframes
ShowFrameNumber †
ShowFrameNumber (clip, bool "scroll", int "offset", int "x", int "y", string "font", float "size", int "text_color", int "halo_color", float "font_width", float "font_angle")
ShowFrameNumber は、AviSynth が考えるフレーム番号を示すテキストをすべてのフレーム上に描画します。これは、スクリプトを書くときに役立つことがあります。ShowFrameNumber によって生成されるクリップに追加のフィルタを適用すると、それらのフィルタは画像を扱うようにフレーム上のテキストを扱います。そのため、あなたが目にするときには、番号が歪められているかもしれません。
scroll (デフォルト: false)が true に設定されると、フレーム番号はビデオ上に一回のみ描画され、上から下へスクロールします。でなければ、ビデオの右側に収まる分だけ描画されます。フレーム番号は、トップフィールドファーストの素材に関してはクリップの左側に描画されますが、ボトムフィールドファーストの素材については右側に、フィールドベースの素材では(そのフィールドがトップであるかボトムであるかによって)クリップの左側と右側に交互に描画されます。
v2.56 から、その他のオプション(offset、x、y、font、size、text_color、halo_color、font_width、font_angle)が追加されています。offset は、ユーザーが表示されるフレーム番号にオフセットを追加することを可能にします。それ以外のオプションの説明については、Subtitle を参照してください。
ShowSMPTE †
ShowSMPTE (clip, float "fps", string "offset", int "offset_f", int "x", int "y", string "font", float "size", int "text_color", int "halo_color", float "font_width", float "font_angle")
ShowSMPTE は ShowFrameNumber と似ていますが、SMPTE タイムコード*1(時間:分:秒:フレーム)を表示します。v2.53 から、カレントの fps が利用できない場合をのぞき、引数 fps は必須ではなくなりました。それ以外の場合*2は引数 fps が必要で、その値は 23.976、24、25、29.97、30 のいずれかでなければなりません。
v2.56 から、その他のオプション(offset、offset_f、x、y、font、size、text_color、halo_color、font_width、font_angle)が内蔵されています。offset は、ユーザーがタイムコードにオフセットを追加することを可能にします。一方、offset_f は、ユーザーがフレーム番号を指定することによってタイムコードにオフセットを追加することを可能にします(offset は offset_f に優先します)。それ以外のオプションの説明については、Subtitle を参照してください。
ドロップフレーム VS ノンドロップフレーム タイムコード
クリップのフレームレートが 29.969 と 29.971 の間なら、ドロップフレームタイムコード*3が有効化されます。元々、テレビ信号が白黒だった頃、NTSC は 60 Hz (30fps)で動作していました。色が追加された際に、技術的な理由により 59.94 Hz (29.97 fps)に変更されました。1000 フレームの走査に対し、1001 とカウントされます(実際にフレームをドロップするのではなく、単にフレーム番号の問題です)。10 分ごとを除き、毎分最初の 2 フレームがドロップされます。すなわち、00:00:00:00, 00:00:00:01, 00:00:00:02, ..., 00:00:59:29, 00:01:00:02, 00:01:00:03, ..., 00:01:59:29, 00:02:00:02, 00:02:00:03, ..., 00:08:59:29, 00:09:00:02, 00:09:00:03, ..., 00:09:59:29, 00:10:00:00, 00:10:00:01, ... などといった具合になります。ドロップされたフレームをカウントすることは、ドロップフレームにおける 00:10:00:00 が実時間の 00:10:00:00 と一致することを意味します。
使用例
ShowSMPTE(offset="00:00:59:29", x=360, y=576, font="georgia", \ size=24, text_color=$ff0000)
Mpeg2Source("clip.d2v") # 常にトップフィールドファースト # 9 フレームのオフセットを使って、クリップの左側に上から下へ # スクロールするフレーム番号を描画する ShowFrameNumber(scroll=true, offset=9, text_color=$ff0000)
ShowTime †
ShowTime (clip, int "offset_f", int "x", int "y", string "font", float "size", int "text_color", int "halo_color", float "font_width", float "font_angle")
ShowTime は ShowSMPTE に似ていますが、経過時間(時:分:秒.ミリ秒)を表示します。オプションの説明については ShowSMPTE を参照してください。
注: これらのフィルタは、テキスト描画のため、かなり重いです。
更新履歴
v2.58 | ShowTime 関数を追加。font_width パラメータと font_angle パラメータを追加。 |
v2.56 | offset とその他のオプションを追加。 |
註: このページは、AviSynth 2.5.8 RC3 に同梱されている英語版ヘルプの日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/showframes.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。詳しくは、AboutLicense を参照してください。