niiyan's blog

niiyanの個人ブログ。

ShowTimeCode - タイムコードを表示する関数

AviSynth Wiki - ShowTimeCode にページを設置しました。最新の情報およびダウンロードは、AviSynth Wiki - ShowTimeCode を参照してください。


2ちゃんねるAviSynth スレッド Part 20 で「動画にタイマーをつけた」いという話が出ていました。そういえば、以前、そのような関数を書いたなと思って過去ログを漁ってみたらありました。

Avisynthを絶賛ιょぅょ Part15

228 名前: ◆NIiYaNiQWc :03/12/16 23:41
>>197
# ShoboInfo()(仮)
#
# 別件で考えていたものを手直し。一応動く程度

別件というのが何なのかは書いた本人にもわかりませんが、この関数を少し手直したものを作ってみました。

2006-02-11 追記)タイムコードの表示には、AviSynth 内蔵の ShowSMPTE フィルタを利用することもできます。ShowSMPTE フィルタの方が動作が軽く、AviSynth 2.5.6 以降なら Subtitle フィルタのオプションを使用することも可能です。

概要

ShowTimeCode は、タイムコードを表示する関数です。フレームレートと現在のフレーム番号から時間を計算して、クリップ上に表示します。実際のタイムコードとは、若干の誤差が生じる可能性があります。

2005-11-09 版から、ShowTimeCodeEx 関数を同梱しています。ShowTimeCodeEx については、にーやんのブログ :: ShowTimeCodeEx: SubtitleExプラグインを使用したタイムコード表示関数を参照。

また、2006-02-11 版での変更点については、にーやんのブログ :: ShowTimeCode 関数を更新を参照。

ダウンロード

AviSynth Wiki - ShowTimeCode を参照。

使用方法

ShowTimeCode.avs をメインのスクリプトにインポートして、使用してください。詳しくは、下記の使用例を参考にしてください。

なお、ShowTimeCode.avs の中には ShowTimeCode の補助関数 GetTimeCode が含まれていますが、GetTimeCode は単独では使用できません。

書式

ShowTimeCode(clip c, int "x", int "y", string "font", int "size",
\ int "text_color", int "halo_color", int "align", int "spc",
\ float "offset", bool "nowtime", string "mode", int "ms_digit")

引数

  • x, y: タイムコードの表示位置(x-y 座標)。
  • font: フォント。
  • size: フォントの大きさ。
  • text_color: フォントの色。
  • halo_color: フォントの縁の色。
  • align: デフォルトの表示位置。Subtitle フィルタの align。
  • spc: フォントの間隔。Subtitle フィルタの spc。
  • offset: オフセット。
  • nowtime: システム時間の取得。
  • mode: 表示モード。
  • ms_digit: ミリ秒単位において表示する桁の数。

offset、nowtime、mode、ms_digit については、にーやんのブログ :: ShowTimeCode 関数を更新を参照。それ以外は、AviSynth 内蔵の Subtitle フィルタの引数と同じです。

使用例1: 引数を省略した場合

スクリプト

Import("ShowTimeCode.avs")
ColorBars(320,240)
ShowTimeCode()

サンプル画像

使用例2: 引数を指定した場合

スクリプト

Import("ShowTimeCode.avs")
ColorBars(320,240)
ShowTimeCode(60,240,"Digital Number",30,$ffffff,$000000,1,30)

サンプル画像

備考

  • AviSynth 2.5.6aで動作確認。
  • 動作無保証。
  • 動作に問題がないようなら、AviSynth Wiki に転載するかもしれません。


(追記) ShowTimeCode.avs と Subtitle フィルタのリンクが間違っていたのを修正しました。


2005-11-09 追記)

新しいバージョンに差し替えました。変更点は、以下のとおり:

  • ShowTimeCode: 引数の順番を「..., int "size", string "font", ...」から「..., string "font", int "size", ...」に変更(Subtitleフィルタに合わせるため)。
  • ShowTimeCode: 内部の変数を「ts_*」から「stc__*」に変更。
  • ShowTimeCodeEx 関数を追加。SubtitleEx プラグインを使用するバージョンです。

2006-02-11 追記)

(2007-10-01 追記)

  • 2007-10-01: FTP アップロード時に改行コードが変更されるため、ZIP 形式での配布に変更した(バッチファイルの内容に変更はありません)。

(2008-03-22 追記)

  • 2008-03-22: AviSynth Wiki - ShowTimeCode にページを設置しました。これにともない、このページのダウンロードリンクを削除しました。