티스토리 툴바


고급 폴더 첫글입니다
이 폴더에서는 본격적인 인코딩을 위해 avisynth의 플러그인들을 쭈욱 적을텐데요


그전에
오늘은 AviSynth 라는 프로그램의 기본적인 배경과 설치 사용방법 약간만 배워 보겠습니다

avisynth... 중급에서 그렇게 기초를 갈고 닦아 배웠는데
이 프로그램을 빼놓고 강의를 쓸 사람이 아마 있을까요?




이 프로그램은 영어를 잘 해야만 혼자서 번역해가며 배울수 있는 프로그램라 국내에는 강좌도 잘 없습니다

특히 워낙 고급??? 프로그램 이라서 그런지 기초 강좌는 찾아 볼수가 없는데요
저도 이걸 처음배울때 아주 기초적인걸 많이 헤멘 기억이 나네요....
우린 간단한 것도 상세히 배우겠습니다........





avisynth 는 세계에서 제일 강력한... 동영상 후 처리 편집툴이 되어 버렸는데요
사실 이 프로그램에 굳이 분류를 매기자면 프레임 서버 프로그램 입니다

Frame Server
프레임을 배달해 주는것의 의미죠

어떤 동영상을 불러오는 프로그램에서
avisynth 가 동영상을 받아 편집 살짝 해주고
인코딩 프로그램에 전달 해준다

아시겠죠?




일단 설명하기가 좀 난해하니 다운 받아 깔아보겠습니다^^;
http://sourceforge.net/project/showfiles.php?group_id=57023
소스포지로 가신뒤 저기서 avisynth 2.5.7 버전을 다운 받아 주세요

그럼 설치해 보겠습니다(는 거짓말이고 제 기억엔 넥스트만 눌러서 설치해도 상관 없었던거 같네요)



자아.....

설치를 다했는데 실행파일 하나 안보이시죠?

이게 정상입니다

이 프로그램은 원래 메모장으로 스크립트를 짜서 동영상 파일처럼 사용합니다..




그래서 스크립트짜는걸 도와주는 프로그램을 하나더 받겠습니다

AVSP 를 다운 받아주세요
http://avisynth.org/qwerpoi/

자 켜보겠습니다




자... 다들 어떤 형태일지 다들 기대하셨겠지만..

메모장이랑 별로 다를게 없어보이죠?

왜이렇게 인코딩 프로그램들의 인터페이스는 날이갈수록 퇴보하는걸까요?


그만큼 인코딩이라는게 편하게 배울수가 없고 한눈에 안보이면 짜증나고 골치 아프단 증거겠죠









뭐부터 배워볼까요? 맨땅이네요


아주아주 기본적인 필터부터 알아보며 사용법을 익히겠습니다

아무 동영상을 불러오고, 구간설정, 크롭, 리사이즈, 색조절 정도만 배워보겠습니다



각자 아무 동영상이나 불러옵시다

마우스 우클릭을 누르고 인서트에 인서트 소스를 눌러 파일을 고릅니다

AVISource("C:\ ‥‥‥‥‥‥‥‥‥‥‥) 라고 추가 되시겠죠?
(시스템 코덱이 없는경우엔 불러와지지 않습니다 ffdshow가 필요하죠 인코딩할때도 편한 통합코덱 추천합니다 http://codec.ohpy.com/ 인코더버전 으로 받아두시면 편합니다
@ 08년02월중 모뎀시절 부터 있었던 우리나라 최초 코덱팩인 통합코덱이 문을 닫았네요...
흠 이제 뭐쓰지 x264 vfw 버전은 끝인듯 하고...
다른 코덱팩은 보면....
Z통합코덱은 편리한듯 불편하고.. 스타코덱... 은 ffdshow 의존이 적네요 설정하기 귀찮게..
)



그리고 f5를 눌러 새로고침 하시거나 아래 있는 슬라이드를 움직이시면 동영상 내용이 뜹니다





그럼 기본적인 기능중에 크롭... 잘라내기 해봅시다
(저는 적당한 영상이 없어 사진을 넣었더니 AVISource가 아닌 ImageReader 로 나오네요...-_-;)

C라고 대문자로 적으면 쭉 고를수 있는 필터들이 뜨네요
크롭을 골라 괄호를 열고나면 ( 커서밑에 풍선 도움말 비슷한게 뜹니다

clip은 어려우니 아직 모르셔도 되는 기능이고....

int left 라고 나와있죠?

left=
이라고 적으신뒤 int.. 그러니까 정수값을 적으시면 됩니다 왼쪽으로 8 잘라낼꺼면

Crop(left=8,‥‥‥‥‥

하고 말이죠


또 저렇게 위에 사진에 적혀진거 처럼 순서대로 숫자만 적으셔도 알아서 잘 인식됩니다

또 특이한점은 right와  bottom 은 - 가 붙어있죠?

설명대로 음수값을 적으시면 됩니다




그럼 쉬우니 패스







리사이즈

이미지 크기를 조절하는 방법에는 종류가 몇개 있습니다
BilinearResize
BicubicResize
LanczosResize

보통 Bilinear 는 빠르고 날카롭게 나오며 Bicubic은 부드럽게 잘 연결되며 좀 느리고 Lanczos는 bicubic 보다 살짝더 느리면서 날카롭게 잘나옵니다

차이는 확대해보지 않는이상 잘 안보이죠...

아무튼 지금은 Bicubic 쓰겠습니다
avisynth에서 바이쿠빅은 특이한점이 단순히 해상도만 적는게 아니라
float "b", float "c" 라는 실수를 적는 칸이 두개 있는데요

b는 블러의 정도고
c는 샤픈입니다

안적으실경우 기본값 1/3 로 적용되죠

윗사진에 전 샤픈을 세게 1/3 과 3을 적었네요









다음은 색깔 조정해 보겠습니다

ColorYUV 라는 명령어로 하겠습니다

다들 이거말고 RGB 관련필터를 사용하시던데
사실 아날로그 비디오가 YUV다 보니 RGB는 별로 틀어질 일이 없어서
YUV필터 하나면 다~~ 됩니다


아래 그림보시면

gamma 감마
cont 콘트라스트, 대비
gain 밝기 라고해야되나?
off 명암

들이 있죠?

설명도 해드려야 되나요? 모르시는 분은 디스플레이 옵션 들어가셔서 모니터 설정건드려 보세요..
또 수치 범위에 대한건 풍선도움말 클릭해보시면 도움말이 뜬답니다

이것과 _y _u _v 만 붙히면 되네요
우린 중급에서 Y와 U와 V에 대해 잘 배워 오셔서 아시죠?

일단 감마 올려 보겠습니다



ColorYUV는 YUV 컬러에서만 동작한다고 하네요 제가 사진을 넣어서 RGB상태죠

윗줄에
http://hruj.tistory.com

ConverttoYUY2 적어 넣고
좀 삭막한 사진이니 채도좀 과하게 올려보겠습니다



근데 YUV로 채도를 어떻게 올렸지 궁금하신가요??

어... U,V 값은 128,128 이 기본 무색 상태입니다

이 U가 128보다 높아지면 파란색 성분이 추가되고 V가 128보다 높으면 빨간색성분이 추가됩니다

그럼 u가 128보다 낮으면 노란색?? 이겠죠 v는 초록색



즉 u와 v에 대비를 올려주면 좀더 파랑,노랑,빨강,초록 쪽으로 치우쳐 지겠죠?

그게 채도입니다

그래서 cont_u 랑 cont_v 를 올린거죠



이제 인코딩을 해볼까요?

오른쪽 밑에있는 세모 버튼을 누르시고 적당한 인코딩 프로그램을 골라주세요

보통 버추얼덥 모드면 충분합니다
혹은 megui 쓰셔도 되는데 사실 megui에 강력한 기능들이 다 avisynth와 완벽하게 중복되죠....
버추얼덥 모드 추천합니다
http://www.doom9.org/index.html?/software.htm
doom9 여기 인코딩의 모든게 다있죠.... 여기서 VirtualDubMod 1.5.10.1 찾아 받으세요



그럼 avisynth 기본적인 필터 따라하기는 끝












흠 빼먹은거 있나...

가끔 동영상에 색온도를 조절하고 싶으신분들도 계시던데 RGB보다 UV gain 조절이 훨씬더 적당해 보입니다

또..... 저처럼 AVSP 밑화면에 RGB YUV 보이게 하고 싶으신분은

옵션에 - 프로그램셋팅 - 비디오1텝에 - 커스터마이즈비디오스테터스바 누르시면 있습니다

%RGB %YUV 추가하면 되겠죠?
나머지 그깟 용어들 따위쯤??은

우린 중급 다 배웠으니 척 보면 뭔지 다 아실겁니다





흠또........ analyze 나 showyuv 같은거도 궁금하시면 해보세요
analyze=true 이렇게 추가 하시면됩니다


또 알아두셔야할 기본적인 연산자는

. 한줄에 명령어 잇기
# 은 그줄 명령어 무시 입니다
음 별거 알아 둘만한게 없네요


참고로

int 는 정수
float 은 실수
string 은 따옴표 치고 " " 문자열을 적으셔야되고
bool 은 따옴표 없이 true 혹은 false 값을 적어 넣으시면 됩니다






  • 아하 여기에 대한 설명이 약했네요... 추가합니다
    지금 배우고 AVSP 에서 찌끄린 스크립트들..
    다른이름으로 저장 누르면 avs 파일로 저장되죠?
    혹은
    avsp에서 적은 스크립트를 쫙 복사하셔서
    txt 파일을 만드시고 거기에 붙혀넣은뒤 확장자를 avs로 고치셔도 같습니다

    이렇게 만들어진 avs 파일은 무압축 상태의 동영상으로 인식하게 됩니다
    avisynth 에서 디코딩해서 전달하기에 무압축 상태인거죠
    스크립트에 적혀진대로 그때그때 디코딩해서 프레임서브.. 전달해주기에
    용량은 스크립트 텍스트 만큼밖에 차지하지 않습니다

    이 avs 파일은 어느 인코딩 프로그램에서나 무압축 동영상처럼 인식 가능합니다
    혹시 avs확장자가 선택이 안되는 프로그램도 간혹있는데
    열기 창에서 파일열기 이름 부분에 *.* 이라고 입력해주신뒤
    엔터치면 모든 확장자가 목록에 보여서 선택가능합니다



  • 또 한가지 avisynth 를 사용하는 목적에서 비디오만 재 인코딩하고 오디오는 인코딩없이 다이렉트 스트림 카피를 하고 싶으신 분이 있는데 avisynth 를 거치게되면 무조건 무압축상태로 되죠...
    이때 오디오 인코딩을 신경안쓰고 그대로 두면 오디오가 무압축상태로 동영상 파일에 붙어버립니다...ㄱ- 용량이...
    그럴땐 그냥 스크립트에 Killaudio 치셔서 오디오는 없에신뒤
    버추얼덥으로 원본 오디오를 떼어내고 그대로 완성된 비디오 파일에 붙히시면 인코딩없이 가능합니다






그럼 오늘은 이정도만 적겠습니다
 
이까지 보셨으면 기본적인 사용방법은 다 익히셨겠죠?




이제는 정말 중급이고 고급 기초 사용법 까지 다 배웠으니

정말 어렵게 적을겁니다

이제 더 배울것도 없죠뭐 ㅋㅋ 앞으론 필터들만 쭉 번역해 놓겠습니다

그걸 다 보시면 dvd립정도는 물론 동영상에 대해 두려울게 없겠네요


그럼 오늘은 끝
Posted by hruj
TAG

댓글을 달아 주세요

  1. 개구리발 2008/01/30 03:26  댓글주소  수정/삭제  댓글쓰기

    여기서 자막 입히는 플러그인도 가능한가요?
    그리고 lancoz와 bicubic..lancoz에 샤픈이 있어서lancoz써왔는데 그냥bicubic이 낫겠네요.
    (핸폰용 인코딩시에요 해상도 320x240 mp4)

  2. hruj 2008/01/30 15:40  댓글주소  수정/삭제  댓글쓰기

    mp4 자막..은 저도 안해봐서 편한법을 잘 모르겠는데
    avisynth 에서 자막 플러그인이 있긴한데 정말 불편하고 귀찮습니다

    전 그래서 avisynth 에서 작업한걸 버추얼덥에서 vobsub 필터가지고 자막을 넣습니다
    여기서 만들어진 avi 파일로
    megui 툴 안에 들어있는 mp4 muxer 로 mp4로 고치시면 되겠네요

    흠 아니면
    mp4인코딩할때 어떤걸 쓰시는진 모르겠지만 이렇게 avisynth 를 거친 스크립트 avs 파일은 무압축 동영상 파일로 인식하기에 다른 프로그램에 강제로 넣으면 다 들어가고 한번더 자막 추가라던지 가능합니다

  3. 개구리발 2008/01/30 17:58  댓글주소  수정/삭제  댓글쓰기

    저도 vobsub필터로 시도해봤는데 avs 스크립트에서 자막 경로를 textsub로 지정해주니까 vobsub와 자막이 겹쳐서 나오더라구요 2개로;;
    그래서 textsub를 빼니 아예 자막이 안나와서;
    ㅎㅎ 인코딩시 화질 좀 좋게해보려고 megui랑 버덥을 연습중인데 더 귀찮네요;
    앞으로 자주 와서 질문을 드려야할듯함 ㅠㅠ

  4. hruj 2008/01/30 23:46  댓글주소  수정/삭제  댓글쓰기

    앗 저도 헛갈렸네.. 버추얼덥의 vobsub가 아니라 textsub 였네요

    avisynth 플러그인중에 있는 textsub(vsfilter.dll 이죠) 는 smi로 하려면 정말 귀찮죠 srt파일로 만들어서 글씨체,색,크기 다 지정해줘야 됩니다 ㅠㅠ

    버추얼덥 플러그인 중에 textsub를 쓰세요
    이건 인터넷에서 textsub.vdf 검색하셔서 다운받을수 있구요 (32kb) 저 파일을 받으셔서 버추얼덥 플러그인 폴더에 넣으신 뒤 버덥키고 필터 추가해주시면 됩니다 윈도우 메뉴니 smi처럼 간단한 자막에 무지 편하답니다

    이렇게 버추얼덥으로 avi 파일 만드신뒤 megui 에 mp4 muxer를 사용하시면 되겠네요

  5. siyeke 2008/02/11 16:07  댓글주소  수정/삭제  댓글쓰기

    지금도 어려운데 더 어렵게 적는다니요 ㅠ_ㅠ

    이해할려고 몇번씩이나 읽고읽고하는데 ㅠ_ㅠ

  6. siyeke 2008/02/11 16:11  댓글주소  수정/삭제  댓글쓰기

    이 강좌를 이해하는데 필요한 관련책자같은게 있나요 ?
    이를테면 스크립트 강좌같은게 나와있는 --)
    평소 pc는 인터넷과 게임만 하다가 각종 프로그램과 avs스크립트 작성으로 인코딩을 할려니 머리가 터질거같네요--) 영어와 외계어가 섞여잇는듯한 ..... 쿨럭

  7. hruj 2008/02/11 22:06  댓글주소  수정/삭제  댓글쓰기

    용어들은 중급 폴더에 다 나와 있습니다, 근데 중급도 어렵죠...
    저도 이곳저곳에서 주워보고 배운 지식으로 적는거라 책자 같은건 있을지 모르겠네요
    그리고 이곳저곳 인코딩 배우려 뒤져봐서 아는데 여기보다 자비롭고 한번에 쉽게 설명한곳 없을겁니다 ㅠㅠ

  8. CiEL 2008/02/12 01:59  댓글주소  수정/삭제  댓글쓰기

    -┏)b

    그런데 RGB를 별로 사용할일이 없으시다는건 잘.. ㅎㅎ

    저는 옛소스들을 다루다보니 RGB를 안다루면 색자체가 이상한경우가 많아서요.

    요즘 DVD들의경우에도 그런게 많다보니...

  9. 미소 2008/05/07 20:53  댓글주소  수정/삭제  댓글쓰기

    안녕하세요, 매일 들러서 열심히 읽고 또 읽으며 많은 가르침을 얻고 가는 미소입니다. 자꾸 이게 에러메세지가 뜨는데 이유를 몰라서요.. ㅠㅠ


    setworkingdir("h:\aviplugins")

    loadplugin("DGDecode.dll")
    AVISource("h:\enc_test\haptic.avi")
    ConvertToYV12(interlaced=false)

    LoadPlugin("masktools.dll")
    LoadPlugin("mt_masktools.dll")
    LoadPlugin("fft3dfilter.dll")
    LoadPlugin("warpsharp.dll")
    loadplugin("coloryuy2.dll")
    LoadCplugin("yadif.dll")

    yadif(mode=1,order=1)
    import("h:\aviplugins\limitedsharpen.avs")
    a=AVISource("h:\enc_test\haptic.avi")
    b=fft3dfilter(a,sigma=6,sharpen=0.3,bt=5,bw=16,bh=16,ow=8,oh=8,ncpu=4)
    limitedsharpen(b,ss_x=2.0,ss_y=2.0,smode=2)
    FlipVertical(a)
    Crop(3, 6, -5, -2)


    라고 스크립트를 넣으면 crop:YUV images can only be cropped by even numbers (left side) 라는 에러가 뜹니다. 동영상 정보를 보니 colorspace가 RGB32로 나옵니다. ConvertToYV12(interlaced=false) 이걸 넣어주면 yuv로 되어 crop이 될 줄 알았는데 에러가 떠서... ㅠㅠ 해결 방법이 없을까 하여 댓글을 남깁니다. ㅠㅠ

  10. hruj 2008/05/08 00:08  댓글주소  수정/삭제  댓글쓰기

    저 에러 메세지는
    YUV 이미지는 짝수로만 잘라내야 합니다 (왼쪽)
    이라고 적혀 있네요 RGB32 라고 나오는 이유는 빨간색 에러 메세지가 RGB라서 그런 거구요
    yv12 는 2x2 색깔부분을 공유해서 짝수로만 잘라야하고
    yuy2 는 2x1 을 공유해서 가로만 짝수, 세로는 홀수로도 가능합니다

    중급에서 배울때 해상도가 결과적으로 짝수만 되면 되는게 아닌가 라고 생각 하실 수도 있는데
    조금만 더 생각해 보시면 왜 자를때 짝수를 지켜야 하는지 이해 될겁니다

  11. 미소 2008/05/08 00:50  댓글주소  수정/삭제  댓글쓰기

    감사합니다;ㅁ; 짝수였군요... 더 열심히 복습을 해야겠습니다. 속이 다 시원하네요. 왜 안되나 했더니..(영어로 에러메세지만 뜨면 그냥 머릿속이 멍해지는것이;ㅁ;) 좋은 밤 되세요. 정말 감사합니다!

  12. 딸구 2009/04/24 17:50  댓글주소  수정/삭제  댓글쓰기

    저도 여기서 죽어라 헤맸어요..

    동영상은 크롭 안되는줄로만 알았죠...ㅜㅜ

    근데 문제는 짝수였군요!

    감사합니다

  13. 간고등어 2009/06/03 13:23  댓글주소  수정/삭제  댓글쓰기

    ㅠㅠ 이걸 찾지 못해서 계속 헤메고 있었어요..ㅠㅠ

  14. 간고등어 2009/06/04 11:53  댓글주소  수정/삭제  댓글쓰기

    AVI -> WMV 로 어덯게 뽑죠?>
    Avisynth 이용해서?

  15. IMENINE 2010/03/01 01:30  댓글주소  수정/삭제  댓글쓰기

    안녕하세요??
    AvisynthScript 질문인데요....

    제가 얼마전까지 ASF파일을 Avs로 불러와 편집하고 버츄얼덥으로 인코딩을 했었습니다.

    근데 컴포맷후 메구이 새로 설치한 후에 ASF파일을
    AVS에서 불러올 수가 없네요...-_-;;

    AviSynth script error:DirectShowSource:RenderFile,the filter graph manager won't talk to me
    라는 에러 메시지가 뜨는데 원인을 모르겠습니다.

    혼자 별짓을 다 해보다 이렇게 질문드립니다.
    해결 가능할런지 모르겠네요.
    부탁 드립니다.