XENIX(제닉스)

AviSynth - 4.이어붙이기 (FPS,SIZE가 동일할 때)

AviSynth 2010.02.07 댓글 XENIX

목차

    서로 다른 5개의 영상을 가지고 각각의 영상에서 맨 첫프레임부터 시작해서 300 프레임까지 떼어내서 이것을 하나로 연결하는 작업을 해보겠습니다.

    참고로 이 테스트에 사용된 동영상들은 동일한 프레임수, 동일한 화면크기로 만들어진 동영상들입니다. 이런 조건일때의 결과와 이중에서 하나라도 다를때 이어붙이기하는 결과가 어떻게 나오는지와 그걸 해결하는 과정을 다음 포스트에서 보여드리도록 하겠습니다.

    [AviSynth] - AviSynth - 이어붙이기(FPS가 다른 경우)


    우선 스크립트와 동영상클립이 같은 폴더에 있다고 가정하겠습니다.(경로 적어주는게 지겨워서..)

    그럼 첫번째 동영상클립을 avisource("movie1.avi") 이런 식으로 불러오면 되겠죠. 나머지도 클립명만 다를뿐 마찬가지 입니다. 그런 후 Trim 필터를 이용하여 각 클립에서 맨 첫 프레임부터 300번째 프레임까지 떼어내야 하므로 Trim(0,300)이라고 하면 됩니다. 시작프레임부분에 0은 맨 첫 프레임을 의미합니다.

    참고로 Trim 필터는 받는 함수값이 꼭 시작과 끝 프레임 값만을 받는게 아닙니다. 클립명을 함수값으로 받을 수도 있습니다. 따라서 이걸 우리는 좀 줄여서 쓸수있습니다.

    Trim(avisource("movie1.avi"), 0, 300)

    자, 그럼 5개의 영상에서 앞에서부터 300프레임씩 떼어내서 이를 합치는 스크립트는 어떻게 될까요?

    clip1= trim(avisource("movie1.avi"),0,300)
    clip2= trim(avisource("movie2.avi"),0,300)
    clip3= trim(avisource("movie3.avi"),0,300)
    clip4= trim(avisource("movie4.avi"),0,300)
    clip5= trim(avisource("movie5.avi"),0,300)

    clip1+clip2+clip3+clip4+clip5

    자, 결과물을 보실까요?
    FPS와 화면사이즈가 서로 동일한 경우는 아무 문제없이 작업할 수 있었습니다.



    만약 위와 같은 작업을 버추얼덥의 이어붙이기 기능을 이용해서 만들려면 어떻게 해야했을까요?

    1번부터 5번까지의 영상에서 300 프레임씩 떼어내서 각각 저장한 다음 이를 Append 시켜야했겠지요. 그럴경우 5개의 Trimmed한 파일이 만들어지기 때문에 그만큼 하드디스크 사용이 늘어나고 시간도 지루하게 흘러갑니다. 하지만 AviSynth의 스크립트 몇줄만으로 서로 다른 영상을 특정한 부분만 골라와서 이를 이어붙일 수 있다는거... 정말 대단하지 않습니까?

    댓글