AviSynthのぺーじ/選択範囲の指定

これは、かつて「にーやんのAviSynthのぺーじ」として公開されていたものを転載したものです。内容は古く、間違いも含まれている可能性があります。より正確で新しい情報を知りたい場合は、AviSynth 付属のヘルプや AviSynth 公式サイトを参考にすることをおすすめします。AviSynth WikiAviSynth入門なども活用してください。

Trimフィルタ

 AviSynthにおける編集方法については[AviSynth Tips]のCM編集のページで詳しく解説していますが、ここではその中からTrimフィルタを使って選択範囲を指定する方法を紹介します。

 テンプレートでは、19-20行目にTrimフィルタを使った選択範囲の指定行があります。

###### 5.選択範囲の指定 #####
#Trim(0, 0)

 Trimフィルタでは、次のように選択範囲を指定します。

Trim(選択開始フレーム, 選択終了フレーム)
01234
telecine000s2.pngtelecine001s.pngtelecine002s2.pngtelecine003s2.pngtelecine004s2.png

 たとえば上のビデオクリップの1番から3番までのフレームを選択したい場合、Trimフィルタでは次のように記述します。

Trim(1, 3)

 なお、AviSynthではフレーム番号を0からカウントします。

 VirtualDubModではAviSynthと同じ0番からカウントしますので、とくに気をつけることはありませんが、編集ソフトによってはフレーム番号が1から始まるものもありますので注意してください。

 たとえば、フィールドオーダーの確認のところで使用したAviUtlは、初期設定でフレーム番号を1から表示するようになっています。

[AviUtlのフレーム番号の表示を0からにする方法]

au98d_system_config.png

 AviUtlのメニューの[ファイル] -> [環境設定] -> [システムの設定]で、「フレーム番号の表示を1からにする」のチェックをOFFにすると、AviUtlでのフレーム番号の表示が0からになります(デフォルトではON)。

複数の選択範囲を指定したい場合

Trim(選択開始フレーム1, 選択終了フレーム1) ++ Trim(選択開始フレーム2, 選択終了フレーム2) ++ …

 ++という記号(演算子)を使ってTrimフィルタを連結させることで、複数の選択範囲をつなげて一つのビデオクリップにすることができます。

01234
telecine000s2.pngtelecine001s.pngtelecine002s2.pngtelecine003s2.pngtelecine004s2.png
56789
telecine005s2.pngtelecine006s2.pngtelecine007s.pngtelecine008s.pngtelecine009s2.png

 たとえば、上のビデオクリップの1-3番のフレームと7-8番のフレームをそれぞれ選択して、結合させたいときは、次のように記述します。

Trim(1, 3) ++ Trim(7, 8)

 これを実行すると次のようなビデオクリップが作成されます(かっこ内の数字は元のフレーム番号)。

0(1)1(2)2(3)3(7)4(8)
telecine001s.pngtelecine002s2.pngtelecine003s2.pngtelecine007s.pngtelecine008s.png

 さらに選択範囲を追加したい場合は、同様に++Trimフィルタをつなげていってください。

[ビデオクリップの結合]

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

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

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

(参考)オリジナルFAQ

Trimフィルタを使った、その他の指定方法

Trim(選択開始フレーム, -フレーム数)

 選択終了フレームの代わりに負の数を記述することで、選択開始フレームから何フレーム分を選択範囲とするかを指定することができます。

01234
telecine000s.pngtelecine001s.pngtelecine002s2.pngtelecine003s2.pngtelecine004s2.png

 たとえば、上のビデオクリップの0番から3番までのフレーム(計4フレーム分)を選択範囲にしたいときは、次のように記述することができます。

Trim(0, -4)

 マイナスの符号をのぞいた数が選択されるフレーム数になります。

Trim(選択開始フレーム, 0)

 また、選択終了フレームが0のときは、ビデオクリップの最終フレームまでを選択することを意味します。

012100
telecine000s2.pngtelecine001s.pngtelecine002s2.pngowari.png

 たとえば、上のビデオクリップが100フレームまでしかないとすると、

Trim(1, 0)

 これで1番から100番までのフレームを選択範囲として指定することになります。

[注意]

 AviSynth2.0.6以前のバージョンには、マイナスの符号を使った指定方法にバグがありました。2.0.6以前のAviSynthを使用している人は、この指定方法を使わないか、バージョンアップしてから使うようにしてください。

最終更新日 2004年2月9日

最終更新日時: 2014-03-12 (水) 23:37:11 (1990d)