AviSynth

덤프버전 :

AviSynth
개발자
AviSynth developers
정식 버전
2.6.0
개발자 버전
2.6.1 Alpha
프로그래밍 언어
C++
운영체제
Microsoft Windows
프로그램 종류
비선형 비디오 편집 프로그램, 프레임서버
라이센스
GNU GPL
홈페이지
http://avisynth.nl/index.php/Main_Page
1. 소개
2. 기능
2.1. 장점
2.2. 단점
3. AviSynth 스크립트 언어
3.1. AviSynth 스크립트 언어의 특징
4. 기타
5. 관련 항목


1. 소개[편집]


AviSynth는 Microsoft Windows에서 구동[1]되는 GUI환경 비선형 비디오 편집 프로그램이다. AVI 또는 MPEG, VFW파일의 인코딩 및 영상 처리에 활용 된다. 다양한 필터를 내장 하고 있어 트리밍, 자르기, 디인터레이싱, 역 텔레시네, 색상 보정, 노이즈 제거 등이 가능하고 외부 플러그인을 추가함으로써 상용 프로그램 못지 않은 강력한 기능과 확장성을 제공한다. 밴 로디악 굴드에 의해 처음 개발되었으며 라이선스는 GNUGPL에 따라 배포되고 있다. 그리고 일부 필터의 기능은 v2.5.7 릴리즈 이후 버전부터 크리에이티브 커먼즈 Attribution-ShareAlike 3.0 License를 따른다.


2. 기능[편집]


AviSynth는 입력된 영상을 전개해, 여러가지 필터를 걸쳐 가공한 영상을 다른 동영상 편집 소프트웨어에 건네줄 수 있다. 기본으로 다양한 영상 처리 필터를 갖추고 있고 유저가 개발한 외부 플러그 인의 추가도 가능하다.


2.1. 장점[편집]


  • 다양한 포맷의 동영상을 로딩할 수 있으며 외부 플러그인을 통해 지원 불가 포맷도 로딩 할 수 있다.
  • 프레임서버 프로그램으로 동영상과 같이 용량이 큰 파일을 인코딩이나 디코딩시 한꺼번에 로딩하지 않고 필요한 부분만 조금씩 프로세싱 해준다.
  • 영상의 포맷변환, 크기변환, 프레임레이트 변환이 쉽다.
  • AviSynth Script인 AVS를 사용하여 임시파일이 필요없으며 즉시 편집을 지원, 다양한 비디오 편집 및 처리 방법을 제공한다.
  • 각 프레임당 그림으로 저장이 아닌 스크립트(문자)형태로 저장할 수 있다.
  • 외부 플러그인을 통해 여러 기능을 추가할 수 있어 확장성이 대단히 우수하다.
  • 상용 프로그램 못지 않은 강력한 성능을 가졌음에도 GNU GPL 라이센스이므로 무료다.
  • 팟플레이어에서 사용 가능하다.


2.2. 단점[편집]


  • 배우기 위한 진입 장벽이 상당히 높다. 더구나 보통 MeGUI와 조합되기 때문에 쌍으로 진입장벽을 높인다.[2]
  • 윈도의 동영상 처리 방법에 대한 약간의 지식이 필요하다.
  • 문법 오류에 민감하고 필요한 플러그인 및 라이브러리가 제대로 설치되어 있지 않으면 로딩하는 것조차 안 된다.
  • if/else는 삼항 조건 연산자로, for/while은 재귀함수로 구현한다. 익숙하지 않으면 작성이 어렵고 가독성도 떨어진다.
  • 일부 필터들의 경우 하드웨어적으로 지원 가능해야 사용 할 수 있는 경우가 있다.
  • 개발된 상당수의 필터가 32비트 기반이고, 멀티스레딩 지원이 아직 미흡하다.


3. AviSynth 스크립트 언어[편집]


AviSynth 스크립트 언어인 AviScript는 AviSynth를 프레임서버로서 사용하기 위한 인터프리터 언어이며 이를 파일형태로 지원하기 위한 확장자로 AVS가 사용된다. AVS를 확장자로 가지는 파일을 실행 하였을 때 편집에 사용된 원본의 영상과 효과를 FrameServing하여 보여주게 되며 프레임서버에서는 스크립트를 해석하여 다이렉트쇼로 인터프리팅 하게 된다.


3.1. AviSynth 스크립트 언어의 특징[편집]


AviSynth 스크립트 언어는 인터프리터의 특징을 가지고 있는데 문법이 C언어와 유사하다. AVS의 특징을 간략히 기술하면 다음과 같다.

  • 대부분의 필터는 매소드 형태로 제공 되며 영상 클립을 리턴 하는 형태로 제공 된다.
  • 스크립트 변수를 사용 할 수 있다. 어떤 필터의 매소드를 임의의 변수에 저장하는 기능으로 변수명에는 길이 제한이 없고, 거의 모든 문자열을 사용 할 수 있으며, 변수명은 영어와 숫자로 선언 할 수 있다. 하지만 변수의 첫 문자로 숫자를 사용 할 수 없고 영어가 아닌 다른 문자로는 사용 불가.
  • 영상 클립을 비디오 및 오디오가 포함된, 스크립트 유형의 값으로 리턴해야 하며 클립이 액세스 할 수 있는 다양한 속성을 자체 필터로서 보유하고 있어야 한다.
  • 문자 텍스트를 나타내는 시퀀스는 문자열의 반환 가능한 텍스트중 하나를 따옴표에 의해 둘러 싸이게 되며, 텍스트 종료 인용 부호 혹은 트리플 인용 시퀀스를 제외한 모든 문자를 사용 할 수 있다.
  • 프로그래밍 언어에서 주로 사용하는 조건문인 if 문을 지원하며, C언어와 유사한 삼항 연산자를 사용할 수 있다.
  • AviSynth 스크립트는 메모장으로도 작성 할 수 있으나 보통 AvsPmod와 같은 전용 에디터를 사용 하거나 버추얼 덥과 같은 소프트웨어를 통해 사용 하는것이 일반적이다.


4. 기타[편집]


Adobe 프리미어 프로와 같은 편집 소프트웨어에서도 AviSynth를 로드해 사용 할 수 있고, 상당수의 인코더 및 미디어 플레이어에서 AviSynth를 미디어 처리에 활용 하고 있다.[3] AviSynth 2.x의 한계를 극복하고 새로운 언어를 기반으로 색공간, 사용 가능한 모델, 캐시 관리 및 매커니즘의 향상을 위해 AviSynth 3.0이 크로스 플랫폼으로 개발 중이었으나 2007년 8월 이후로 교착상태에 빠져 있다.[4] 여담으로 TV 방송이나 DVD, 블루레이의 립을 전문적으로 뜨는 대부분의 불법 릴들은 거의 100% AviSynth와 MeGUI조합을 사용 한다고 보아도 좋을 정도.


5. 관련 항목[편집]


AviSynth/필터 일람
VapourSynth
동영상 인코더
MeGUI
FFmpeg
H.26x
LAVFilters
프레임 보간


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 2023-10-20 19:59:59에 나무위키 AviSynth 문서에서 가져왔습니다.

[1] 리눅스macOS에서도 와인을 이용해 구동할 수 있다.[2] 프로그래밍 언어의 함수나 매소드, 파라메터에 대한 약간의 이해는 진입장벽을 낮추는데 상당히 도움이 된다.[3] 심지어 오디오 재생기인 foobar2000에서도 컴포넌트를 추가 하는 것으로 AviSynth를 사용 할 수 있다. 단 오디오에 한해서만 동작한다.[4] http://forum.doom9.org/showthread.php?p=1179369#post1179369 참고