選択範囲の指定方法 のバックアップ差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#contents
#br
**AviSynthにおける選択範囲の指定 [#o4e79ee6]
AviSynthで選択範囲の指定を行う方法には、次の3つがあります。
-Trimフィルタ
-AddRangeプラグイン
-AddRange関数
#br

**フレーム番号の数え方 [#fe0dd18f]
AviSynthではフレーム番号は0から始まります。編集ソフトによっては1から始まるものもありますので注意してください。~
AviUtlは「1から数える」か「0から数える」かをシステム設定で変更することができます(デフォルトは1から)。
AviUtlでは、「1から数える」か「0から数える」かをシステム設定で変更することができます(デフォルトは1から)。
#br

**Trimフィルタ [#bbe71594]
AviSynth内蔵フィルタのTrimを使って、選択範囲を指定することができます。

Trimの書式は、次の2通りです。

 Trim(clip clip, int first_frame, int last_frame)
 Trim(clip clip, int first_frame, int -num_frames)

***書式1: Trim(clip clip, int first_frame, int last_frame) [#ub568d60]
-書式: Trim(clip clip, int first_frame, int last_frame)
--clip: クリップ
--first_frame: 選択開始フレーム
--last_frame: 選択終了フレーム
#br
#br
例: 100番のフレームから199番のフレームまでを選択したい場合~
 Trim(100, 199)
#br

***書式2: Trim(clip clip, int first_frame, int -num_frames) [#rb6846ce]
-書式: Trim(clip clip, int first_frame, int -num_frames)
--clip: クリップ
--first_frame: 選択開始フレーム
--num_frames: 選択フレーム数(負の符号が必要)
#br
#br
100番のフレームから100フレーム分を指定したい場合~
例: 100番のフレームから100フレーム分を指定したい場合~
 Trim(100, -100)
#br
「100番のフレームから199番のフレームまでを選択」するのと「100番のフレームから100フレーム分を指定」するのは同じことを意味しますので、「Trim(100, 199)」と「Trim(100, -100)」はまったく同じ意味になります。
「100番のフレームから199番のフレームまでを選択」するのと「100番のフレームから100フレーム分を指定」するのは同じことを意味します。~
このため、「Trim(100, 199)」と「Trim(100, -100)」は、まったく同じことを表していることになります。
#br

***書式1において、last_frame=0のとき [#vc16da6c]
選択終了フレーム番号を0にした場合、フレーム番号0ではなくクリップの最後を意味します。~
このため、たとえばフレーム番号0のみ(1フレーム分)を選択したいときは、

 Trim(0, 0)

ではなく、

 Trim(0, -1)

と記述する必要があります。~
「Trim(0,0)」は、0番〜最終フレームまでを選択範囲として指定してしまうからです。
#br

***複数の選択範囲を結合する [#fbb5adc4]
複数の選択範囲をつなげて、一つのクリップとしてエンコードしたい場合には、次のように記述します。

 Trim(A,B) ++ Trim(C,D) ++ Trim(E,F) ...

たとえば、フレーム番号100から199まで、200から299まで、300から399までを一つのクリップにする場合、

 Trim(100,199) ++ Trim(200,299) ++ Trim(300,399)

と書きます。

***+ と ++ の違い [#b43c5c41]
ビデオクリップの結合に使われる符号(演算子)には、+と++があります。

+は映像と音声の同期を考えずに単純に結合します。これに対し、++は映像と音声の長さが合わない場合に、音声をカットしたり無音を挿入することで同期をはかります。

一般的に、AVIファイルなどの結合には+が、Trimフィルタによる選択範囲どうしの結合には++が用いられます。

**AddRangeプラグイン [#ff5fcec1]
#br

**AddRange関数 [#w56b7f38]