본문 바로가기

AviSynth

AssumeFps, ChangeFps, ConvertFps

클립을 초당 30프레임으로 간주합니다.

AssumeFps (30)


오디오의 샘플링 레이트도 변환합니다.

AssumeFps (30, true)

이 경우 오디오의 피치값이 변화하게 됩니다.

ntsc_video 인  초당 29.97로 간주합니다.

AssumeFps (30000, 1001)

혹은

AssumeFps ("ntsc_video")

여기에 쓰이는 프리셋 값은 다음과 같습니다.

standard numerator denominator
"ntsc_film" 24000 1001
"ntsc_video"  30000 1001
"ntsc_double" 60000 1001
"ntsc_quad" 120000 1001
"ntsc_round_film" 2997 125
"ntsc_round_video" 2997 100
"ntsc_round_double" 2997 50
"ntsc_round_quad" 2997 25
"film" 24 1
"pal_film" 25 1
"pal_video" 25 1
"pal_double" 50 1
"pal_quad" 100 1


video1의 초당 프레임을 video2와 동기화 시킵니다.

video1 = AssumeFps (video1, video2)


초당 24프레임인 필름을 초당 25프레임인 PAL로 변환하고, 오디오 샘플링 레이트도 변환한 이후 44100으로 복원합니다.

AviSource ("Film.avi")

AssumeFps (25, 1, true)

SSRC (44100)


클립의 프레임을 삭제하거나 복제함으로서 초당 프레임을 23.396으로 변환합니다.

ChangeFps (24000, 1001)

혹은

ChangeFps ("ntsc_film")


클립의 중간 프레임을 합성하여 초당 50프레임으로 변경합니다.

ConvertFps (50)



초당 프레임을 변환하는 대표적인 3인방인데 뭐가 다른가 하면..

클립이 총 120프레임이고 초당 30 프레임일 경우를 예로 들면, 재생 시간은 4초겠죠.


AssumeFps는 초당 프레임에 상관 없이 클립의 총 프레임수는 120개를 유지합니다.

24로 낮춘다면 영상의 재생 시간이 5초로 늘어날 것이고, 60으로 늘린다면 재생 시간은 2초가 됩니다.


ChangeFps와 ConvertFps는 프레임을 드롭하거나 복사하거나 합성하기 때문에,

24로 낮춘다면 총 프레임은 96개, 60으로 늘린다면 총 프레임은 240개가 됩니다. 재생 시간은 여전히 4초를 유지합니다.


하나 알아둘게 있다면 ConvertFps는 합성 (Blend) 모드일 경우 원본의 초당 프레임을 크게 초과하여 변환하지는 못합니다.

원본 초당 프레임과 목표 초당 프레임 비유이 2/3 정도 까지만 가능합니다.

초당 30프레임을 초당 300프레임으로 바꾸거나 하지는 못하죠.

이때는 스위치 모드로 변환해야 합니다. ChangeFPS와 다를게 없다는 소리.


이런 프레임 변환 함수는 인터레이싱 등과도 묶여있기 때문에 다루기가 은근히 까다로운 부분이 있습니다.

MMD 에서는 초당30프레임이 거의 대부분이고, 드물게 60이나 120을 쓰기도 합니다.


'AviSynth' 카테고리의 다른 글

AVI 트레이싱을 이용한 MMD 영상 만들기 6  (3) 2010.12.23
SetMemoryMax  (0) 2010.12.12
Lagarith Lossless Codec 1.3.20  (0) 2010.12.12
Color Format, ConvertToRGB, ConvertToYUY2, ConvertToYV12  (0) 2010.12.12
FadeIn, FadeOut, FadeIO  (0) 2010.12.12
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