突撃FPS

いろいろなゲームを適当に楽しんでいる人のブログ

AviSynthの個人的なメモ

自分は動画を編集する際、フレームの切り取りやらフェードインアウトをAviSynthで行っています。 いつも使い方を忘れてググる癖があるので、ここに個人的にいつも使うコマンドなどを適当にメモ。 尚、ここで使っている関数にはもっと深いいろいろな使い方があるので、詳細を知りたい方は適当にググってみてください(http://www.avisynth.info/)。 自分自身はここで記載する程度にしか使っていません。

※ググりながら独学で覚えたので間違っている、もしくはもっとスマートな書き方があるってな場合があるので注意。

動画の読み込み

AviSource(" file_path ") file_pathは絶対パスでも相対パスでも可。 自分自身は常に動画ファイルとavsファイルを一緒のパスに置くので、基本的にはファイル名のみ。

video = AviSource("test.avi")

詳細→AviSource - avisynth.info

サウンドの読み込み

WavSource(" file_path ") wavファイルとavsファイルを同じパスに置いて作業するので、これも基本的にファイル名のみ。 多分絶対パスでも相対パスでも大丈夫なはず。

audio = WavSource("test.wav")

詳細→AviSynthのぺーじ/外部音声の合成とWAV変換 - avisynth.info

動画と外部音声を合成

AudioDub( video , audio ) 自分の声入り動画をDxtoryで録画した後2ソースある音声を合成し、改めて動画と合体させる時に使ってます。

video = AviSource("test.avi", false)
audio = WavSource("test.wav")
mixvideo = AudioDub(video, audio)

詳細→AviSynthのぺーじ/外部音声の合成とWAV変換 - avisynth.info

フレームの抜き出し

Trim( video , Start_flame , end_flame ) 指定したフレーム間を抜き出します。 例えば50フレーム目から100フレーム目を抜き出したい場合

trim(AviSource("test.avi"), 50, 100)

といった具合。 尚、

video = AviSource("test.avi")
trim(video, 50, 100)

と記述しても同じ結果が得られます。

詳細→Trim - avisynth.info

フェードインとフェードアウト

FadeIn / FadeOut / FadeIO( video , frame , color , fps ) 基本的に書式は同じ。 FadeIn、FadeOutはそれぞれフェードインとフェードアウトを、FadeIOは両方を行います。 例えば60fpsで録画した動画で100フレームから1000フレームの始め30フレームでフェードイン、終わり30フレームでフェードアウトさせたい場合

video = AviSource("test.avi")
return FadeIO(trim(video, 100, 1000), 30, 0, 60)

こんな感じ。 尚、自分は黒でフェードインアウトしかしたことないのでcolorを0に指定していますが、黒以外にしたい場合はcolorの部分を変更してください。

詳細→Fade - avisynth.info

このくらいかな? ことのついでなので。

この動画は

video=Avisource("ava 2011-08-20 12-21-16-160.avi")

video1=fadeio(trim(video,788,12134),30,0,60)
video2=fadeio(trim(video,15960,35393),30,0,60)
video3=fadeio(trim(video,37527,43366),30,0,60)
video4=fadeio(trim(video,46746,51069),30,0,60)
video5=fadeio(trim(video,53274,54664),30,0,60)
video6=fadeio(trim(video,58129,60121),30,0,60)

video100=video1+video2+video3+video4+video5+video6

return video100

こんな感じ。