手書きが一番のビデオ編集、Avisynth

Avisynthは何かとわかりやすい。
というのは手作業でスクリプトを書くからだろうな。
静かな編集にはAvisynthは便利ですな。
たとえばだけど、a.aviを読み込んで、1000フレームから2999フレームまで抜き出して、それを320x240にリサイズするだけのスクリプトであれば。
DirectShowSource("a.avi")
Trim(1000,2999)
BilinearResize(320,240)
return last
で、ここで実は仮変数なlastが大活躍。というのはちょっと後で。
たとえば、映像のみのa.aviと、音声のみのa.wavを用意して、これを都合するに
v=DirectShowSource("a.avi")
a=DirectShowSource("a.wav")
AudioDub(v,a)
return last
さて、これで、映像だけと音声だけをそれぞれvとaの変数に代入。
なんか贅沢だよね。まぁ本当に代入してるわけじゃないけどね。
こんな風に積み重ねてできているのはAvisynthですな。
で、代入先を書かないとlastになるし、大体のフィルタの第一変数はクリップであって、lastなら省略できる。
だから一番初めのは暗にlastに読み込んでlastを切り出してlastに入れて、lastを変形してlastに入れて、lastが答えと。
で、もう1つこんなやり方もある。
return DirectShowSource("a.avi").Trim(1000,2999).BilinearResize(320,240)
こんな風に.でつなげて編集していくと。
で、2つ以上のクリップをつなげるのに++という演算子が使えるみたい。
まぁ+というのもあるんだけど、それぞれなんかのフィルタに相当するらしい。
それの省略形。で確か++の方がよかったとおもうんだけど。
だからこんなスクリプトを書いてたり。
DirectShowSource("a.avi").Trim(1000,2999)
last ++ DirectShowSource("b.avi").Trim(512,1023)
v3 = DirectShowSource("c.avi")
last ++ v3.Trim(200,399)
last ++ v3.Trim(500,699)
BilinearResize(320,240)
return last
なるほどな。確かに一目瞭然。
そうそう、実はこれで、画面中を塗りつぶしで隠すスクリプトを書いたことがあるんだ。
何かと長かったから書く気はないけど
塗りつぶしの長方形状の映像をBlankClipで生成し、
Layerを用いて、合成するというもの。
まぁ静かな編集にはもってこいさ。複雑ならAdobe Premierを使えばいい。
そうそう、クリップの番号を調べるのにShowFrameNumberが便利だ。
ShowFrameNumber(scroll=true)
とするとチェックしやすくていいぞ。
Author : Hidemaro ◆3rRY3LJ8tc
Date : 2007/08/11(Sat) 00:05
日記帳だ! with Tux on Libserver に戻る | アーカイブTopに戻る |

read.php ver2 (2004/1/26) + riaf web