본문 바로가기

동영상 지식/avisynth 스크립트

동영상에 에프터이펙트로 만든 동영상로고 삽입 인코딩 강좌

일단 동영상 로고를 에프터 이펙트로 먼저 제작합니다.


그다음에 완성된 컴포지션을 렌더링 대기열에 추가하시구요

대기열에서 렌더링 설정을 60프레임으로 해주시면 좋겠네요.


이제 출력 모듈을 누르시구요


RGB무손실로 출력하는게 정공법이긴 하지만 별로 권장드리지 않습니다.

용량의 압박이 심하고 로고를 삽입해서 인코딩 할시에도 하드디스크 로딩의 압박이 굉장히 심하기 때문이에요.


이 글에선 x264 vfw를 이용하는 방법으로 알려드리겠습니다.


여기서 관건은 채널을 RGB와 알파를 파일 두개로 따로따로 렌더해 줘야 하는것과 색상 매트를 해제하는 것입니다.

6초 내지의 로고인데, RGB는 5기가인 반면에 x264 무손실은 75MB였습니다.

x264 vfw는 형식옵션에서 선택하실 수 있고

코덱 설정은 


이런식으로 해주시면 되구요





그렇게 만든 RGB 채널을 logo.avi라하고 알파 채널을 alpha.avi라고 AVSP에서 로고를 삽입하는 스크립트 예제를 첨부하겠습니다.


ffvideosource("loseless.mp4",threads=8) #로고를 삽입할 영상을 먼저 준비해둡니다.
#"\"슬러시 기호는 윗줄에서 계속 이어진다는 뜻입니다.

logo=AVISource("logo.avi")  [*로고 영상을 "logo"라는 이름으로 불러왔습니다.*]
\.ConvertToYV12().ColorMatrix("rec.601->rec.709")
\[*↑HD 동영상에 삽입할 로고로 가정하고 색상 왜곡을 없애기 위해 Rec709로 변환해주었습니다.*]
\.Lanczos4Resize(400,400)    [*란조쉬4 리사이즈로 로고를 400x400으로 크기변환.*]
\.Loop(-1)  #마지막으로 로고를 몇번 반복할건지 정해줍니다. -1:무한

alpha=AVISource("alpha.avi")    [*알파 영상을 "alhpa"라는 이름으로 불러옵니다.*]
\.ConvertToRGB()    [*알파 채널을 제대로 읽어오기 위해 RGB로 변환해주었습니다.*]
\.Lanczos4Resize(400,400)    [*이것 역시 로고랑 크기가 같게끔 크기변환.*]
\.Loop(-1)  #이것 역시 로고와 같게

Overlay(logo,mask=alpha, x=0, y=0)
#x,y로 로고 삽입 위치를 결정하면 끝~



완성 동영상~