반응형
avisynth는 국내에선 많이 알려진 프로그램은 아닙니다. 하지만 외국포럼에선 심심치 않게 이야기가 되고 있습니다. 그 이유는 여러 동영상 인코딩 프로그램들이 avisynth 로 입력을 받을 수 있게 되어 있기 때문입니다.

가령 예를 들어 보지요. http://x264.nl/ 이 사이트에는 x264.exe 라는 프로그램이 있고 이 프로그램은 x264 코덱으로 영상을 인코딩 해 줍니다. 보통 x264 로 인코딩된 raw 한 데이터의 확장자는  .264 라는 파일로 만들어 줍니다. 그리고 이 프로그램 역시 avisynth의 파일 확장자인 .avs 파일을 입력 받습니다.

avs 파일로 입력을 받는 이유를 알아보도록 하죠. 보통우리가 보는 동영상의 영상은 Divx 같은 코덱으로 압축이 되어 있습니다. 즉 우리가 영상을 보기 위해선
 
압축된 영상 -> 압축을 풀어줌 ->  화면에 표시

와 같은 과정을 거치게 됩니다. avisynth는 저 '압축을 풀어줌' 뒤에 압축이 풀린 데이터를  얻는 겁니다. x264.exe 는 압축을 푸는 역활은 하지 못합니다. 따라서 압축이 풀린 영상 데이터를 입력해 줘야 하는데 그걸 바로 .avs 파일 즉 avisynth가 해 주는 것이죠. 이해를 높이기 위해 간단한 예제를 만들어 보죠.

avisynth 사이트에서 다운로드 링크를 누르고 avisytn를 다운받아 설치합니다. http://avisynth.org
그리고 Xvid 코덱 설치버전 이나 Helix YUV Codec 2중 하나를 설치합니다.

이제는 a.avs 파일을 만들어 보죠. 그리고 시험삼아 동영상을 하나 준비 합시다.
제 경우는 wmv 파일이라. DirectShowSource 명령을 썼는데 avi 인 경우 AVISource(filename)
이런식으로 해도 됩니다.

a.avs의 파일 내용은 다음과 같습니다.

DirectShowSource("mgs4.wmv",fps=119.88,convertfps=true)

그리고 KMP에서 그 avs 파일을 재생해 봅시다. 그와 함께tab을 눌러서 영상정보를 캡쳐 해 봤습니다.
사용자 삽입 이미지

Codec 부분이 좀 이상하죠?
사용자 삽입 이미지

avs 파일이 아닌 원래 파일의 정보는 이렇습니다.
즉 avs 로 입력을 받을 경우 압축이 풀린 데이터를 쉽게 얻을 수 있다는 겁니다. 그래서 대부분 외국에서 만들어진 인코딩 프로그램들은 avs 파일을 입력(open) 할수 있도록 만들어져 있습니다. 예전에 많이 썼던 virtualdub 도 잘 보시면 avs파일을 입력받을 수 있게 되어 있죠.

단 여기엔 조건이 있습니다. 위에서 말했듯이

압축된 영상 -> 압축을 풀어줌 ->  화면에 표시

이런 과정을 거치려면 어디선가 압축을 풀어줘야 합니다. 위에 보면 DirectShowSource 라는 명령을 썼었죠. 즉 윈도우에 설치된 코덱들을 이용하는 겁니다.

KMP같은 경우 윈도우 내부의 코덱들을 이용하지 않습니다. 대부분의 코덱들을 KMP가 내장하고 있습니다. 그런이유로 윈도우 기본 동영상 재생프로그램인 미디어플레이어에서 재생안되는 동영상이 KMP에선 재생이 되는 것 입니다.

즉 위의 2가지를 종합하면 윈도우의 미디어 플레이어에서 재생이 안되는 동영상의 경우 avisynth로 압축이 풀린 데이터를 얻을 수 없다는 결론에 이르게 됩니다. 따라서 avisynth를 이용하려면 흔히쓰는 코덱모음팩 같은걸 쓰거나 http://x264.nl/ 이곳의 ffdshow를 설치하여야 합니다. 또한 spliter도 설치해야 되고요.

즉 바로 위 사이트에서 ffdshow와 matroska splitter를 받아 설치하면 거의 대부분의 동영상을 avs입력을 지원하는 프로그램으로 재 인코딩할 수 있습니다.

avisynth를 쓰는 이유는 단순히 이런 이유외에도 영상의 크기를 바꾸는 resize, 일부를 잘라내는 crop, 프레임 조정....화면의 노이즈를 제거하는 작업등....여러 영상을 가공하는 작업을 할 수 있습니다.

요즘엔 좀 더 편리한 프로그램등이 나와 있어서 보통의 사람들이 avisynth를 쓰는 경우는 많지 않을 것 입니다. 곰인코더 같은 경우 일정 금액을 지불하고 인코딩을 할 수도 있고요.

또한 avisynth는 일일이 .avs 파일을 만들어서 인코딩 해야 하므로 불편함도 있고 이런저런 프로그램을 설치해야 하는 번거로움도 있습니다.

하지만 만일 프로그램을 하실 줄 안다면 간단한 스크립트로 인코딩 프로그램을 작성해서 쉽게 사용하실 수는 있겠죠.

마지막으로 avisynth를 이용하기 위한 대략적인 프로그램 리스트를 적도록 하겠습니다.

avisynth
Xvid 코덱 설치버전 or Helix YUV Codec
ffdshow 와 matroska splitter

전에도 이야기 했지만 http://x264.nl/ 이 사이트의 MeGUI는 이러한 동영상 인코딩을 쉽게 해주는 프로그램이고 avs파일 작성을 도와주는 도구도 내장을 하고 있으니 관심이 있으시면 사용해 보시기 바랍니다. 저는 MeGUI에 대한 설명은 일단은 안하겠습니다. ^^


+ Recent posts