AviUtilでテキストタイマーを付ける
やりたいこと
動画中に、あるところからあるところまでのタイムが表示されるようにしたい。
やりかた
- テキストオブジェクトを表示したい開始位置と終了位置に配置
- テキストに以下の文字列を貼り付ける
<?a=0.0 ot=(obj.time+a) mes(string.format("%02d:%02d:%02d",ot/60,ot%60,(ot*100)%100))?>
- 以上、終了。
仕組み
どうやら、テキストオブジェクトに表示する文字列をスクリプトで整形できるようです。 ※ スペース区切りなんですね・・・。
つくづく思いますが、AviUtilは本当に素晴らしいソフトです。
変数定義
最初に、a=0.0
と ot=(obj.time+a)
としているのは、変数定義のようです。
a
ot
は任意に決めた変数。
テキストオブジェクト
obj
は、自身(テキストオブジェクト自体)を指しているのでしょうか。
中には time
というフィールドがあって、それがオブジェクト内の現在のタイムのことなのでしょう。
つまり、a
はタイマーのオフセットですね。
mes メソッド
変数定義の後、スペース(または改行区切り)で mes(String)
メソッドを実行しています。
これが、テキストオブジェクトに「メッセージを表示させろ!」という機能を持っているんでしょうね。
引数には、string.format(String, ...)
を渡しています。
Java言語でも見覚えがありますね。
第1引数はテキストのフォーマット。第2引数以降は配列でしょうか。
テキストフォーマットの代入子に代入する値を定義しているようです。
第2引数 分 ot
を60で割った解
第3引数 秒 ot
を60で割った余り
第4引数 1/100秒 ot
を100倍し、100で割った余り
つまり、obj.time
の単位は「秒」なんですね。
いやーホントに便利です。
フリーの動画編集ツールとしては AviUtil ホントにオススメです。