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 から、その他のオプション(offsetxyfontsizetext_colorhalo_colorfont_widthfont_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 から、その他のオプション(offsetoffset_fxyfontsizetext_colorhalo_colorfont_widthfont_angle)が内蔵されています。offset は、ユーザーがタイムコードにオフセットを追加することを可能にします。一方、offset_f は、ユーザーがフレーム番号を指定することによってタイムコードにオフセットを追加することを可能にします(offsetoffset_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.58ShowTime 関数を追加。font_width パラメータと font_angle パラメータを追加。
v2.56offset とその他のオプションを追加。

註: このページは、AviSynth 2.5.8 RC3 に同梱されている英語版ヘルプの日本語訳です。原文は、AviSynth をインストールしたフォルダ内の Docs/english/corefilters/showframes.htm にあります。なお、このページのテキストおよび画像のライセンスは、オリジナルのそれに準じます。詳しくは、AboutLicense を参照してください。


*1 訳者註: 参考: SMPTEタイム・コード - マルチメディア/インターネット事典
*2 訳者註: カレントの fps が利用できない場合。
*3 訳者註: PDF です。

最終更新日時: 2014-03-11 (火) 03:49:21 (3862d)