본문 바로가기

AviSynth

AviSynth를 이용한 모션블러 적용

MMD 영상을 다룰때 문제가 한가지 있는데 바로..

렌더링 엔진이 너무 간단하다는 겁니다.


영상에 넣는 효과라고 해봐야 외곽선 기능과 안티 앨리어싱 정도가 전부이고

아무래도 움직이는 영상이다 보니, 모션블러 정도는 넣고 싶다는 거죠...

하지만 자체 엔진에서 지원 하지 않으니 후처리 가공이 필요합니다.


그런데 상업용 동영상 편집 프로그램이 아닌 이상 모션블러 넣는것도 일이더군요.


버추얼덥에서 자체적으로 지원하는 필터에 모션블러가 있습니다만,

이게 성능이 좀 개떡 -_- 같습니다.

그래서 이리저리 돌아다니다 MVtools2 라는걸 발견했습니다.

AviSynth에 묶여 돌아가는 플러그인으로, 제법 괜찮은 결과물을 보여 주더군요.


간단히 설명을 하자면..

일단 Virtualdub과 AviSynth가 필요하고

여기에 MVtools2를 설치합니다. 자세한것은 사이트 참조. (http://avisynth.org.ru/mvtools/mvtools2.html)

가능하다면 멀티코어 지원 버전의 AviSynth도 있으면 괜찮을 겁니다. (http://avisynth.org/mediawiki/MT)

체감 인코딩 속도가 30% 정도 오르더군요.


그리고 다음과 같이 .avs 스크립트를 만들어 줍니다.

AVISource("F:\test.avi") # or MPEG2Source, DirectShowSource, some previous filter, etc
super = MSuper()
backward_vectors = MAnalyse(super, isb = true)
forward_vectors = MAnalyse(super, isb = false)
MFlowBlur(super, backward_vectors, forward_vectors, blur=30)


# 부분은 주석입니다.

MFlowBlur()에서 blur=30 부분이 모션이 번지는 정도를 결정하는데

화면 해상도 라던가 모션의 빠름 등등을 보고 결정하면 좋을 것 같습니다.


모션블러를 적용한 영상 샘플 :




대강 만드느라 카메라를 안 움직였더니 별로 티가 안 나는군요...

'AviSynth' 카테고리의 다른 글

MixAudio()  (0) 2010.12.12
Loop()  (0) 2010.12.12
Trim()  (0) 2010.12.12
BlankClip()  (0) 2010.12.12
AviSource(), WavSource(), AudioDub()  (0) 2010.12.12
AC3-ACM Codec 1.5  (1) 2010.12.11
AvsPmod 2.0.5  (0) 2010.12.11
AviSynth 2.5.8  (0) 2010.12.11
AviSynth를 이용한 MMD 영상 효과 적용  (0) 2010.10.04
AviSynth를 이용한 블룸효과 적용  (0) 2010.10.04