AviSynthのぺーじ/選択範囲の指定
これは、かつて「にーやんのAviSynthのぺーじ」として公開されていたものを転載したものです。内容は古く、間違いも含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のヘルプや AviSynth 公式サイトを参考にすることをおすすめします。AviSynth Wiki の AviSynth入門なども活用してください。
Trimフィルタ †
AviSynthにおける編集方法については[AviSynth Tips]のCM編集のページで詳しく解説していますが、ここではその中からTrimフィルタを使って選択範囲を指定する方法を紹介します。
テンプレートでは、19-20行目にTrimフィルタを使った選択範囲の指定行があります。
###### 5.選択範囲の指定 ##### #Trim(0, 0)
Trimフィルタでは、次のように選択範囲を指定します。
Trim(選択開始フレーム, 選択終了フレーム)
たとえば上のビデオクリップの1番から3番までのフレームを選択したい場合、Trimフィルタでは次のように記述します。
Trim(1, 3)
なお、AviSynthではフレーム番号を0からカウントします。
VirtualDubModではAviSynthと同じ0番からカウントしますので、とくに気をつけることはありませんが、編集ソフトによってはフレーム番号が1から始まるものもありますので注意してください。
たとえば、フィールドオーダーの確認のところで使用したAviUtlは、初期設定でフレーム番号を1から表示するようになっています。
[AviUtlのフレーム番号の表示を0からにする方法] †
AviUtlのメニューの[ファイル] -> [環境設定] -> [システムの設定]で、「フレーム番号の表示を1からにする」のチェックをOFFにすると、AviUtlでのフレーム番号の表示が0からになります(デフォルトではON)。
複数の選択範囲を指定したい場合 †
Trim(選択開始フレーム1, 選択終了フレーム1) ++ Trim(選択開始フレーム2, 選択終了フレーム2) ++ …
++という記号(演算子)を使ってTrimフィルタを連結させることで、複数の選択範囲をつなげて一つのビデオクリップにすることができます。
たとえば、上のビデオクリップの1-3番のフレームと7-8番のフレームをそれぞれ選択して、結合させたいときは、次のように記述します。
Trim(1, 3) ++ Trim(7, 8)
これを実行すると次のようなビデオクリップが作成されます(かっこ内の数字は元のフレーム番号)。
さらに選択範囲を追加したい場合は、同様に++でTrimフィルタをつなげていってください。
[ビデオクリップの結合] †
ビデオクリップの結合に使われる符号(演算子)には、+と++があります。
+は映像と音声の同期を考えずに単純に結合します。これに対し、++は映像と音声の長さが合わない場合に、音声をカットしたり無音を挿入することで同期をはかります。
一般的に、AVIファイルなどの結合には+が、Trimフィルタによる選択範囲どうしの結合には++が用いられます。
(参考)オリジナルFAQ
Trimフィルタを使った、その他の指定方法 †
Trim(選択開始フレーム, -フレーム数)
選択終了フレームの代わりに負の数を記述することで、選択開始フレームから何フレーム分を選択範囲とするかを指定することができます。
たとえば、上のビデオクリップの0番から3番までのフレーム(計4フレーム分)を選択範囲にしたいときは、次のように記述することができます。
Trim(0, -4)
マイナスの符号をのぞいた数が選択されるフレーム数になります。
Trim(選択開始フレーム, 0)
また、選択終了フレームが0のときは、ビデオクリップの最終フレームまでを選択することを意味します。
たとえば、上のビデオクリップが100フレームまでしかないとすると、
Trim(1, 0)
これで1番から100番までのフレームを選択範囲として指定することになります。
[注意] †
AviSynth2.0.6以前のバージョンには、マイナスの符号を使った指定方法にバグがありました。2.0.6以前のAviSynthを使用している人は、この指定方法を使わないか、バージョンアップしてから使うようにしてください。
最終更新日 2004年2月9日