'AviSynth'에 해당되는 글 19건

  1. 2009.06.20 EBS 600k 영상 avs 스크립트 2
  2. 2009.05.30 GradFun2DB
  3. 2009.05.27 Yadif
  4. 2009.05.25 ConvertToYUY2 / ConvertToYV12
  5. 2009.05.21 AAA
  6. 2009.05.20 Avisynth Wiki 2 - 시작하기
  7. 2009.05.14 Avisynth Wiki 1 - 첫걸음 4
  8. 2009.03.22 aWarpSharp
  9. 2009.02.27 Avisynth 258
2009. 6. 20. 23:39



 얼마전 EBSi에서 600k 동영상 다운로드를 일반인들에게 오픈했지요.
 뭐 어차피 상업경제야 제가 작년부터 미리 공부 해놨던 과목이라 인강까지 볼 필요성은 못 느꼈지만, 주위에서 이거 PMP에서 보려는데 안돌아간다. 너 이쪽에 관심 많으니까 어떻게좀 해달라. 는 요청을 받아서 한번 하게 되었어요.

 PMP에서 바로 재생이 불가능한 이유는 EBS 600kb 동영상의 경우 일부는 wmv9 코덱을 쓰지만 대부분의 영상들이 자체 개조 h264 코덱을 써서, 인덱스 파일(svs)를 참고하여 재생하는데, PMP에서는 이 svs파일을 인식하지 못하는 바람에 디코딩 자체를 하지 못해 발생하는 현상이더군요.

 avisynth를 통하면 여러가지로 귀찮기도 하고 인코딩 시간도 오래 걸리기 때문에 곰인코더로 코덱만 슬쩍 바꿔보려 했지만 바로 포기했어요. 바로 조악한 화질 때문.

 스트리밍으로 제공하는 600k 영상은 640p정도 되는데 반해 (물론 강좌마다 달라요) 제가 인코딩 하려는 영상은 448 336이라는 작으면서도 괴상한 사이즈, 거기에 유료가 아니다보니 초보인 제가 해도 저거보다 잘할 것 같은 수준으로 인코딩 되어 있더군요.

 어쩔 수 없이 avisynth를 통해 인코딩 하기로 결정했어요.

 1. Directshowsource
 보통 avi파일을 불러올때는 avisource()를 사용하지요. 하지만 EBS 영상의 경우는 svs파일을 참조 할 수 있어야 하는데, avisource는 이 파일을 읽어오지 못해요.
 이거 어쩌나 싶어서 고민하다가 KMP에서 directshow로 재생되는걸 발견, 해봤더니 제대로 인식 하더군요.

 2. Crop
 아무리 무료라지만... 다운로드 영상에 블랙바가 있을거라곤 상상도 못했어요.

 3. Lancoz4Resize
 업스케일 리사이즈에 이만한 녀석도 없지요. (Spline36을 더 선호합니다만 실사영상에 쓰면 뭔가 느낌이 달라져서 피하고 있습니다.)
 거기에 샤픈효과까지 살짝 들어가기 때문에 칠판글씨가 잘 보여야 하는 인강영상 인코딩에는 정말 최적이죠.

 4. ColorYUY2
 개인적으로 쓸까 말까 고민했던 필터에요. 애니의 경우도 그렇지만 실사영상의 경우 밝기를 올리면 전체적으로 퀼리티가 떨어지는 경우(재인코딩 혹은 업스케일링 후)가 생기는데, 까만 칠판 부분에서 이게 가장 두드러지게 나와요.
 하지만 인강의 경우 (특히 EBS) 전체적인 퀼리티보다 칠판글씨가 더 중요하기 때문에 분필 글씨가 더 잘보이도록 신경좀 써봤어요. 이게 득이될지 실이될지는 모르겠지만 말이에요.

 5. TemporalCleaner
 보통은 2, 3정도로 옵션값을 지정하는데 이번엔 좀 세게 지정해 봤어요.
 우선은 위에서 밝기를 올렸으니 잡티를 정리하려는 것도 있고, 무언가 알수 없는 노이즈가 생겼다, 사라졌다 해서 대비 차원으로 적용 했어요.
 덕분에 인코딩 시간이 엄청 늘었죠 ㅠㅠ

 6. Limitedsharpenfater
 위에 썼듯 인강에서 가장 중요한 요소는 칠판 글씨세요.
 하지만 원본 영상 질이 원체 좋지 않았는데 업스케일링까지 하니 얼라이언스가 생기더군요.
 잠깐 색 반전후 linedarken 필터를 써볼까도 했지만 정신 나간짓 같아서 포기하고, 애니메이션에서의 선이 얇은데에 미해 칠판 글씨가 두꺼운걸 감안하여 혹시나 하고 걸어봤는데 효과가 괜찮은 것 같아요.

 다만 인코딩 시간이 문제죠 ^^

 7. Dehalo_alpha
 사실 자주 쓰지 않는 필터인데 위의 샤픈을 써줬더니 할로가 조금 생기더군요.
 그냥 blur()필터로 뭉개버릴까(...) 생각도 했지만 왠지 귀찮아지니 그냥 요 필터를 쓰기로 했지요.

 사실 100% 맘에 드는 결과물은 아닙니다만, 어차피 재인코딩의 성격을 띄고 있고, 화나지 않을 정도로만 보정하는게 목표였으니, 나름 만족하는 결과물이 되었어요.

 

'Working' 카테고리의 다른 글

실사 인코딩은 참 어려워요  (4) 2010.04.18
케이온 끝!  (11) 2010.01.25
인코딩 시작  (15) 2009.11.01
작안의 샤나 S 1화  (6) 2009.10.24
WHITE ALBUM 블루레이 Vol.4 발매  (2) 2009.07.26
Posted by 아스쿨
2009. 5. 30. 09:58
GradFun2DB


사용법
gradfun2db( clip c, float "thr" )


정보
관련글 : 링크
제작 : ??
분류 : 디밴딩
동작 색공간 : YV12, YUY2, RGB24, RGB32
라이센스 : ??

예제
avisource("color.avi")
GradFun2DB()

 이런 필터가 왜 필요합니까... 라고 물으신다면 "밴딩 효과를 없애기 위해서요."라고 밖에 할 말이 없군요.
 일단 밴딩 현상이 뭔지나 좀 알아보죠

출처 : http://en.wikipedia.org/wiki/Color_banding


 어떠한 이유로 인해 (동영상 편집중에서는 보통 과도한 샤픈이나 색 보정으로 인한 경우가 많습니다) 색이 자연스럽게 퍼지지 않고 층이 생기는 경우가 있습니다.
 위 그림에서 8-bit gradient의 경우죠. (단 위 그림은 단순한 비트 부족이 이유고, 동영상에서는 위에 말한 이유가 대부분입니다)

 이 디밴딩 필터는 저 층들을 누름으로서 색층을 제거합니다. 좀 과장된 비유기는 하지만 한 서너가지 색의 수채 물감으로 충을 그려두고, 물 묻힌 붓으로 슥슥 문질러 준다고 생각하시면 되겠습니다.

 제가 써놓고도 한심할정도로 이상한 설명이군요. 위 이미지와 함께 한줄로 요약하면

맨 왼쪽과 같은 이미지를 맨 오른쪽같이 자연스럽게 만들어준다

입니다.
 

옵션
thr

: 이상의 모든 실수 값 사용 가능

= 1.2 : (기본값)

= 1~3 : 추천값


 간단합니다. 옵션 하납니다.
 옵션이 하나라 thr= 처럼 표기 하지 않고 gradfun2db(2.5) 처럼 값만 넣어줘도 작동합니다.
 원하신다면 3.141592로 시작하는 파이값을 한 소숫점 300자리까지 넣어주셔도 무방합니다만, 그렇게까지 쓰실 변태님은 안계시겠죠.

  제가 추천하는 설정값은 기본값입니다. 물론 소스에따라 많이 달라지지만 이 필터 자체가 의도 했던 의도하지 않았던 blur 필터를 먹인 느낌을 많이 주기 때문에 강하게 주면 흐릿해지는 영상을 볼 수 있으실겁니다. (특히 실사영상이 심하죠 이게...)

 이걸 써야하는 소스중에 08년 최고의 주말드라마 트루 티어즈가 있습니다. 720p로 업스케일링 하면 배경에 층이 정말 장난 아니게 많아집니다.
 그냥 이 필터 쓰면 되지 않느냐... 하시는데, 트루티어즈 작화 자체가 배경이 흐릿한데 이 필터를 강하게 걸어주면 배경 자체가 완전히 안개낀듯한 영상을 내놓아 보는 제가 짜증이 날 정도의 이상한 정도의 영상이 나옵니다. (당시 제가 이 필터를 아예 모르고 그냥 적용시켜 본거라 다른 필터들 옵션값 생각하고 80을 줬더랬죠 ㅡ,ㅡ)

 기본값을 추천하는 이유가... 이 배경의 퀼리티와 층 제거의 타협점이 기본값에서 가장 적당하게 나오는 경우가 많았기 때문이고... 뭐 그렇습니다.
 
P.S 오늘따라 글이 좀 이상하군요. 나중에 수정하던지 해야겠습니다.

'Avisynth > Plugins' 카테고리의 다른 글

FFT3DGPU  (2) 2009.08.11
DGDecode  (0) 2009.07.15
Yadif  (0) 2009.05.27
ConvertToYUY2 / ConvertToYV12  (0) 2009.05.25
AAA  (0) 2009.05.21
Posted by 아스쿨
2009. 5. 27. 22:35
Yadif

사용법
Load_Stdcall_Plugin("C:\Program Files\megui\tools\yadif\yadif.dll")
yadif(mode, order)
 *위 플러그인 로드 경로는 MeGUI Updater를 통해서 yadif를 다운 받았을때 경로입니다.
따로 다운 받으셨다면 yadif.dll 파일의 해당 경로를 입력 해 주시면 됩니다.

정보
원문 : 링크
제작 : Fizick
버전 : Ver.0.9
분류 : 디인터레이스
동작 색공간 : YV12, YUY2
라이센스 : GPL

예제
Load_Stdcall_Plugin("C:\Program Files\megui\tools\yadif\yadif.dll")
avisource("anime.avi")
yadif()

 최상급의 품질을 내어주는건 아니지만, 황금눈(?)이 아닌이상 구별하기 힘들 정도의 품질을 보여주면서도, 다른 디인터레이스 필터에 비해 비교 될 정도로 빠른 속도를 보여주는 디인터레이스 필터입니다.

 전 주로 애니메이션 영상을 인코딩 하기 때문에 TDient 필터를 더 좋아합니다만, 가끔 실사영상이나 개인적인 감상 용도로 인코딩 하는 영상은 속도 하나 보고 yadif를 사용합니다.

옵션
mode

= 0 : 시간/공간을 통해 인터레이스를 검출하고, 디인터레이싱합니다. (기본값)

= 1 : 시간과 공간을 통해 작업하되, 프레임률을 두배로 늘립니다 (bob)

= 2 : 시간을 통해 검출하고, 작업합니다.

= 3 : 시간을 통해 검출, 작업하되, 프레임률을 두배로 늘립니다 (bob)


order

= -1 : 자동 (기본값)

= 0 : Bottom field first

= 1 : Top field first


 옵션이 있어서 적어두긴 했습니다만... 그냥 yadif()처럼 기본값으로 쓰시는걸 추천합니다.

 yadif의 장점이 미칠듯한 스피드인데... mode=2를 주면 결과물이 너무 조악하고, 1이나 3을 주면 화질 향상도 없는 주제에 다른 의미로 미칠듯한 스피드를 보여줍니다.

 order은... 사실 저도 완벽히 이해하지 못한 부분이라 그냥 원문 그대로 써둡니다. MeGUI의 스크립트 크리에이터에서도 저게 있는거 봐서는 디인터 정렬 같은데... 그저 AUTO가 속편합니다.


'Avisynth > Plugins' 카테고리의 다른 글

FFT3DGPU  (2) 2009.08.11
DGDecode  (0) 2009.07.15
GradFun2DB  (0) 2009.05.30
ConvertToYUY2 / ConvertToYV12  (0) 2009.05.25
AAA  (0) 2009.05.21
Posted by 아스쿨
2009. 5. 25. 20:40
ConvertToYUY2 / ConvertToYV12

사용법
ConvertToYUY2()
ConvertToYV12()

정보
원문 : 링크
버전 : 정보 없음
분류 : 색공간 변환
동작 색공간 : 모든 색공간
라이센스 : 정보 없음
필요 필터 : 없음

예제
avisource("anime.avi")
ConvertToYV12()
Fastlinedarken(strength=80, luma_cap=191, thinning=24)

 ConvertTo... 필터는 무슨 기능을 위해서 사용하기 보다는 필터나 스크립트의 요구 색공간을 맞춰 주기 위해서 사용합니다.
 컬러 매트릭스 전환도 가능하긴 합니다만... 보통 이 필터로 하지 않지요.

 위의 원문 링크를 눌러 보시면 별별 색공간이 다 나오지요. 하지만 실제 스크립트 짜는 과정에서 자주 쓰이는건 YV12, YUY2... 한두개 더 붙이면 RGB나 RGB32 정도 입니다.

 특정 색공간에서만 작동하는 필터를 색공간 변환 없이 사용시 색공간이 맞지 않는다는 에러 메세지가 나오게 됩니다.
 이럴때 해당 필터가 필요로 하는 색공간으로 변환 해 주면 됩니다.

 팁을 하나 드리자면, YUY2보다 YV12가 처리 속도가 좀 빠른데, 버츄얼덥에서 Full Compression을 선택하시면 이 모드에서는 YV12 색공간을 지원 하지 않기 때문에, YUY2로 강제 변환되어 인코딩 됩니다.

 YV12를 사용하기 위해서는 압축 설정에서 Fast Compression을 선택 해 주시면 됩니다. 실제 1pass에서는 별 속도 향상이 없지만, 2pass에서는 체감속도가 확실히 빨라집니다.
 (그래도 애니메이션 30분짜리 하나 인코딩 하는데 한나절 걸리던게 한 9시간 걸리는 겁니다만...)

 뭐 그래도 1초라도 빨리 끝나는게 기분상 좋겠지요? AvsP 미리보기 창 하단에서 색공간을 확인 하시고, YUY2일 경우 YV12로 바꿔주는 필터 한번 써 주시면 한결 가벼워집니다.
 (여기서 필터 하나 더 쓰면 속도 느려지지 않겠냐... 하시는 분들이 계신데, Convert 필터는 쓴건지 안쓴건지 모를 정도로 속도가 빠른 필터니 그런 걱정 하지 않으셔도 좋을거라 생각해요.)

'Avisynth > Plugins' 카테고리의 다른 글

FFT3DGPU  (2) 2009.08.11
DGDecode  (0) 2009.07.15
GradFun2DB  (0) 2009.05.30
Yadif  (0) 2009.05.27
AAA  (0) 2009.05.21
Posted by 아스쿨
2009. 5. 21. 11:09
AAA

사용법
AAA(Xres, Yres, Xshrp, Yshrp, Us, Ds, chroma)

정보
원문 : 링크
제작 : Sounhunter
버전 : 정보 없음
분류 : 안티-앨라이언싱
동작 색공간 : YV12
라이센스 : 정보 없음
필요 필터 : Sangnom, Unfilter

예제
avisource("anime.avi")
AAA()

 애니메이션을 위해 개발된 안티-앨라이언싱 스크립트입니다.
 리사이즈를 하는 경우 계단 현상이 생기는 경우가 많은데, 그런 경우에 쓰면 좋은 필터입니다.
 다만 안티-앨라이언스 필터류의 특성상 약간 뭉개는 경우가 있으니 꼼꼼히 확인 후 사용해야 합니다.
 사용법에는 Xres니 뭐니... 써있는데, 그냥 기본값으로 충분하다고 생각합니다.



'Avisynth > Plugins' 카테고리의 다른 글

FFT3DGPU  (2) 2009.08.11
DGDecode  (0) 2009.07.15
GradFun2DB  (0) 2009.05.30
Yadif  (0) 2009.05.27
ConvertToYUY2 / ConvertToYV12  (0) 2009.05.25
Posted by 아스쿨
2009. 5. 20. 22:30
본 포스트는 http://avisynth.org/mediawiki/Getting_started 의 글을 번역(의역)한 포스팅입니다.
독자의 편의를 위하여 국내사정을 감안한 뒤 추가하거나 제거한 부분이 있습니다.
일부 용어가 옳지 않게 사용 되었을 수 있습니다. 리플로 지적 부탁드립니다.

시작하기

 처음으로 할 일은 "스크립트"라고 불리는 특별한 명령어가 들어있는 간단한 텍스트 파일을 만드는 일입니다. 이 명령어들은 하나 혹은 하나 이상의 동영상들과 필터들이 원하는대로 결과물을 내어 주도록 만듭니다.

 하나의 스크립트 파일을 다 만드셨다면, VirtualDub이나 MeGUI같은 인코딩 툴을 실행해서 (이 이외에도 엔젤 인코더라는 프로그램이 avs를 지원합니다만, 보통 버덥 모드나 메구이를 사용하는게 요즘 추세입니다)avs 파일을 열어 봅시다.

 avs 파일을 열면, 이제서야 잠자던 AviSynth가 깨어나 일을 시작합니다. avs파일을 받은 프로그램은 AviSynth에게 스크립트의 내용을 해석 해 줄것을 부탁하고, Avisynth는 그 부탁 받은 스크립트를 바탕으로 동영상을 불러오고, 필터를 적용해서 압축되지 않은 동영상 형태로 프로그램에 돌려줍니다.

 사실 쉬운 이해를 위해서 위처럼 쓰긴 했습니다만, Avisynth는 따로 실행되는 프로그램이 아니라, 완전히 Background에서 실행되는 프로그램입니다. (Background를 설명하면 운영체제에 대한 설명까지 덧붙여야 하므로, 건너 뜁니다. 모르시는 분들은 검색해 주세요)
 이런 저런 이유로, 인코딩 프로그램들은 Avisynth를 통한 영상을 하드디스크 어딘가에 붙어있는 AVI파일을 바로 불러온것으로 인식합니다.

아날로그 편집 (Linear Editing)
 
 Avisynth로 할수 있는 가장 간단한 작업은 영상 자르기등의 Virtualdub에서 하던 작업입니다.
 이 스크립트는 쉽습니다. 복잡한 필터나 스크립트도 나오지 않으니 걱정하실 필요도 없습니다.

 연습을 위해서 test.avs 파일을 만들고, 그 파일 안에 다음과 같이 써 봅시다

 Version

 test.avs 파일을 WMP나 KMP, 곰플등으로 재생 해 보면 Avisynth의 버전 정보와 저작권에 관한 내용의 10초짜리 영상을 볼 수 있습니다.

 여기서 Version 은 소스 필터라고 부릅니다.
 이 필터는 수정 할 동영상을 불러오는 역할을 합니다.
 Avisynth 스크립트 (이하 avs, 혹은 avs 스크립트라고도 적겠습니다)의 첫줄에는 소스 필터가 와야 합니다. 동영상을 불러와야 그걸 편집하겠지요 :D
 (역주 : 아직은 그런 고급 기능을 쓸 리 없겠지만, 소스 필터 위에 다른 소스가 오는 경우가 있습니다.)

 이제, 두번째줄에 무언가 더 써 넣어 봅시다. 이렇게요
Version
ReduceBy2

 다시 test.avs 파일을 플레이어로 열어 봅시다. 아까처럼 버전과 저작권 안내가 뜹니다. 하지만 아까의 영상의 반만한 크기로 영상이 뜰겁니다.

 ReduceBy2는 "Transformation filter"라고 부릅니다. 이전 영상을 어떻게 어떻게 바꿔주는 필터라는 의미입니다. 버츄얼덥에서 필터를 사용하듯, 이런 Transformation filter를 여러개 사용 할 수 있습니다.
 이제 다른 필터를 써 봅시다. 점점 검은색으로 변하면서 끝나는 fade-out 영상을 만들어 보도록 합시다. 세번째줄에 다음과 같이 넣어 주세요

Version
ReduceBy2
FadeOut(10)

 다시 열어봅시다. 처음 9초는 아마 처음과 똑같을 겁니다. 하지만 마지막 1초에서는 부드럽게 검은색으로 변하면서 끝나는 걸 볼 수 있습니다.
 잘 보시면 10이라는 숫자를 가지고 있는걸 볼 수 있는데, 여기서 10은 fadeout이 시작되는 프레임의 번호를 말합니다.
 
 근데,,, fadeout 효과를 보기까지 너무 오래 걸리죠. 기다리는 시간을 줄여봅시다.
 이제 120~150프레임만 남길겁니다. 나머지는 버려야죠.
 (역주 : 프레임에 대한 개념이 없으시면 앞으로 이해하시는데 많은 애로사항이 꽃핍니다. 검색이나 다른 방법을 통해 꼭 동영상의 원리와 프레임에 대한 개념을 습득 하고 이 글 혹은 다른 인코딩 관련 글을 읽으시길 바랍니다. 모르셔도 읽으실 순 있지만 이해 하실지는... 모르겠습니다.)

뭐 하여간, 잘라 봅시다.
Version
ReduceBy2
# 앞의 119개의 프레임을 잘라내고, 120~150프레임만 유지합니다.
# (119개를 잘라내는 이유는 Avisynth는 첫프레임의 번호를 0으로 두기 때문입니다.)
Trim(120,150)
FadeOut(10)

 이 예제에서는 # 가 처음으로 등장했습니다.
 #는 주석을 의미합니다.
 #가 사용된 줄은 전부 주석 처리 되며, 주석처리 된 줄은 Avisynth가 아예 무시합니다.

 이제 다시 Trim을 살펴 봅시다. fadeout은 10이라는 하나의 변수를 주었지만, trim은 120,150 이라는 반점(콤마, ',')로 구분된 두개의 변수를 주었지요.
 Trim에서 두개의 변수를 준다는 의미는 첫번째 변수 프레임 ~ 두번째 변수 프레임 까지의 영상을 제외한 다른 부분을 모두 잘라낸다는 의미입니다.

 그런데... 만약에 처음 119프레임만 제거하고 싶다면 어떻게 해야할까요?
 여기서 0 이 등장합니다.
 이건 따라하지 말고 어떻게 쓰이는지만 한번 구경 해 보세요.
 
Version
Trim(120,0)

 여기서 0의 의미는 "끝까지" 입니다.
 끝까지 유지 한다고 했으니, 앞의 119프레임만 제거하고, 뒷부분은 자르지 않습니다.

 여기서 하나 문제가 생깁니다. Trim을 쓰면 자르기 쉽다지만, 자르려는 위치가 몇 프레임인지 알 도리가 없지요.
 두가지 방법이 있습니다. 화면에 프레임 번호를 표시해주는 ShowFrameNumber 필터를 쓰거나, 버츄얼덥 같은 영상의 현재위치의 프레임 번호를 알려주는 프로그램을 사용하면 됩니다.
 (역주 : 사실 AvsP를 더 추천합니다. Trim 결과를 바로 확인 할 수 있거든요)

 이제 Version 보다 더 유용한 필터인 AVISource를 써 보도록 합시다.
 AVISource는 AVI 파일을 읽어오는 기능을 합니다.
 만약에 가지고 있는 AVI 파일이 있다면, 바로 이 필터로 읽어 올 수 있습니다.

AVISource("d:\capture.avi")  # 따옴표 안은 하드디스크의 Avi 파일 경로를 넣습니다.
ReduceBy2
FadeOut(15)
Trim(120,0)

 이 한줄의 소스는 2GB 이상의 영상을 지원하지 않는 프로그램에서 2GB가 넘는 영상을 감상하거나, 편집할 때 유용하게 사용 할 수 있습니다.


디지털 편집 (Non-Linear Editing)
이제 재밌는 부분을 해봅시다. AVS 파일을 다음과 같이 만드세요

StackVertical(Version, Version)

 이제 열어봅시다.
 결과를 보면 버전 전보가 위아래로 두개 나옵니다.
 StackVertical 필터는 두개의 영상을 불러와서 상하로 합치는 역할을 합니다.
 이 스크립트에서 Version 필터는 두번 불러와집니다. 각각 한번의 Version 정보를 보내지요.
 이 두 정보 (영상)을 StackVertical 이 합치는겁니다.
 (역주 : 말로 설명하기 어려우니 직접 한번 해보세요, Version 대신 AVISource()등을 넣어도 됩니다. 다만 각각 다른 영상을 불러오려면 두 영상의 가로 사이즈가 같아야 합니다)

 이런 종류의 필터 중에서 가장 유용하게 쓰이는 필터중에 UnalignedSplicer가 있습니다.
 이 필터는 비디오의 끝과 끝을 이어줍니다.
 이제 3개의 AVI 파일을 이 필터로 한번 이어봅시다.

UnalignedSplice(AVISource("d:\capture.00.avi"), \
 AVISource("d:\capture.01.avi"), \
 AVISource("d:\capture.02.avi"))

 StackVertical 필터나 UnalignedSplice 둘다 60개 까지 합칠 수 있습니다.
 
 하나 팁을 드리자면, + 부호를 쓰면 좀 더 편하게 UnalignedSplice 필터를 쓸 수 있습니다.

 예를 하나 들어보자면, 아래 스크립트는 방금 해본 스크립트와 같은 결과가 나옵니다.

AVISource("d:\capture.00.avi") + \
 AVISource("d:\capture.01.avi") + \
 AVISource("d:\capture.02.avi")
(참 짧아지네요 ㅡ,ㅡ)

 이제, 여러개의 동영상을 하나의 AVI 파일로 만드는 방법을 알았습니다. 하지만 소리가 별도의 WAV파일로 저장되었다면 어떻게 해야할까요? 합칠 순 있을까요?

 아래처럼 해보세요
AudioDub(AVISource("d:\capture.00.avi") + \
 AVISource("d:\capture.01.avi") + \
 AVISource("d:\capture.02.avi"), \
 WAVSource("d:\audio.wav"))

(역주 : 사실 음성의 경우에는 싱크 문제등으로 인하여 영상만 따로 인코딩 한 뒤에 Muxer로 합쳐주는게 일반적인 인코딩 방법입니다. 고로 이 방법은 쓸데가 없다. 고 생각하셔도 무방합니다.)

'Avisynth > 번역' 카테고리의 다른 글

Avisynth Wiki 1 - 첫걸음  (4) 2009.05.14
aWarpSharp  (0) 2009.03.22
Posted by 아스쿨
2009. 5. 14. 10:56
본 포스트는 http://avisynth.org/mediawiki/First_script 의 글을 번역(의역)한 포스팅입니다.
독자의 편의를 위하여 국내사정을 감안한 뒤 추가하거나 제거한 부분이 있습니다.


첫걸음

처음으로 Avisynth를 다운받고, 설치 했다면, 가장 기초적인 Avisynth 스크립트를 써 봅시다.

AviSource("c:\folder\myclip.avi")


 뭐라도 좋으니 텍스트 편집기(메모장, editplus등... AvsP를 추천합니다)를 하나 열어서 위 내용을 붙여 넣고 myclip.avs로 저장 해 봅시다. (따옴표 안의 내용은 적절하게 컴퓨터 안의 avi 파일의 경로로 수정합시다)
 바르게 위 소스를 입력하고, 제대로 경로를 지정 했다면, 윈도우 미디어 플레이어, KMplyaer, 곰플레이어등 대부분의 프로그램에서 avs 파일을 열면 스크립트가 실행 됩니다.
 물론 유명한 동영상 편집 툴인 VirtualdubMOD나 VirtualDub에서도 avs 스크립트를 실행 할 수 있습니다.
 결론적으로, 지금 만든 avs라는 확장자를 가진 텍스트 파일이 동영상이 된겁니다.

 세상에는 AVI 파일 말고도 정말 다양한 동영상 확장자와, 코덱들이 있습니다. 각각의 동영상 코덱들은 동영상을 재생하는데 서로 다른 방법을 사용하기 때문에, AVI 파일을 불러오는 AVISource 라는 명령어로는 MPEG(주로 DVD에 사용됩니다)파일을 읽어 올 수 없습니다.
 MPEG파일은 AVI와 다르게 DirectShowSource 라는 명령어로 불러 올 수 있습니다.
 이렇게 한번 써보세요.

DirectShowSource("c:\folder\myclip.mpg", fps=25)

 사실 MPEG파일을 불러올때는 DGDecode라는 DirectShowSource보다 더 좋은 방법이 있습니다만, 아직 처음이므로 DirectShowSource 로 만족하도록 합시다.
 
 한번 Frameserver를 통한 동영상 인코딩에 (Anisynth를 통한 인코딩을 의미합니다) 맛들이게 되면, 시간가는줄 모르고 예전 동영상을 꺼내 인코딩 하실겁니다. 속는셈 치고 한번 해보시고, 스스로 필터나 AniSynth 매뉴얼을 작성 해 보세요.


'Avisynth > 번역' 카테고리의 다른 글

Avisynth Wiki 2 - 시작하기  (0) 2009.05.20
aWarpSharp  (0) 2009.03.22
Posted by 아스쿨
2009. 3. 22. 15:57
다운로드 : http://ziquash.chez-alice.fr/ 혹은





 아래 내용은 aWarpSharp 필터와 동봉된 readme 파일을 번역 한 것입니다.
 제가 아직 인코딩 초보라 틀린 내용이 있을 수 있으니 틀린 부분이 있다면 리플로 지적 부탁드립니다.


aWarpSharp - Avisynth 2.5용 날카롭게 필터 - beta1

이 필터는 새로 개발한 필터입니다.
ISSE를 쓸 수 있는 CPU가 필요하며, YV12인 영상에 적용됩니다.

문법:
  aWarpSharp(float "depth", int "blurlevel", float "thresh", int "cm")


depth & blurlevel :
 이 기능은 Vdub의 WarpSharp 필터와 비슷합니다.
 필요한 만큼 수치를 조정하시면 됩니다.
 blurlevel은 CPU를 좀 더 많이 사용하지만, 작업 시간을 줄입니다.
 기본값 : 16.0, 2

역주) depth는 샤픈의 강도를 조절하는 옵션이고, Blurlevel은 샤픈 뒤의 계단현상 등을 없애기 위해 문지르는(blur)강도 입니다. blur는 기본값이면 충분하고, depth는 경우에 따라 14, 16, 18정도가 적당 한 것 같습니다.

thresh :
 이 옵션은 샤픈을 진행할 범위를 지정합니다. 실수값을 입력하며, 1.00이 100%입니다. 최고의 결과를 얻기 위해서는 기분으로 두시는걸 추천합니다. 이 옵션값을 조정 하실 때에는 가장자리를 왜곡하거나 효과가 없을 수 있다는걸 염두에 두고 조정 하시기 바랍니다.
기본값 : 0.5 (50%)

역주) 제작자는 기본값을 쓰는걸 강력하게 권하고 있습니다. 딱히 다른 수치를 쓸 필요도 느끼지 못하구요.

cm : (색상)
cm=0 : 색상 관련 필터링을 하지 않습니다.
cm=1 : 색상, 명암에 워프를 적용합니다(추천)
cm=2 : 색상에만 워프를 적용합니다.
기본값  : 2

역주)제작자와 저는 2가 가장 나아 보이지만, 1을 권장하는 분들도 계십니다. 취향에 따라 선택하세요

고급 설정은 필요하지도않고, 문서화 되어 있지도 않습니다.
(실제 쓰지도 않고, 누가 쓴다고 더 좋을 것 같지는 않습니다)

 질과 속도에 관해서 :
 aWarpSharp는 새로 개발한 고성능 워프샤프닝 필터입니다. 여기서 새로 개발했다는 의미는 이미 개발된 다른 필터를 수정하거나, 묶은 필터가 아닌, 아예 새로 개발했다는 의미입니다.
 이 필터의 소스는 대부분 iSSE에 최적화 되어 있습니다. 직접 확인해 보세요.
 아마 640X480, 25fps정도의 동영상에 이 필터를 쓰는데 550mhz정도의 CPU가 필요할겁니다. 좀 그런 예이긴 하지만 40fps의 PAL MPEG-2 영상에 디인터레이싱, 워프 샤프닝을 MPEG2Dec("dvd.d2v").aDeInt().aWarpSharp() 로 하면 1.4ghz정도의 CPU를 사용 할 것입니다.

 aWarpSharp는 제 CPU(개발자의 CPU)인 애슬론XP에 최적화 되어 있습니다, 하지만 요즘 나오는 대부분의의 CPU에서 동작하고, 사양만 좋다면 빠른 속도를 낼겁니다.
 
 이 글을 읽으시는 분이 제 마지막 필터를 즐겁게 사용 해 주셨으면 좋겠습니다. 전 이 코드를 짤때가 다른 어떤 코드를 짤때보다 즐거웠습니다.

 지난 몇달간 짠 이 필터를  모든 애니메이션 팬과 모든 Avisynth 유저를 위해 바칩니다.
 그럼 안녕히 ^^.

MarcFD

2003년 2월 5일- Copyright (C) 2003 MarcFD

'Avisynth > 번역' 카테고리의 다른 글

Avisynth Wiki 2 - 시작하기  (0) 2009.05.20
Avisynth Wiki 1 - 첫걸음  (4) 2009.05.14
Posted by 아스쿨
2009. 2. 27. 15:29

요새 잘나가는 인코딩 툴.

근데 사실 이것만으로 인코딩은 불가능하다.


 요녀석의 역할은 AVS 스크립트 파일을 읽고, 써있는데로 필터질을 해서 MeGUI나 Virtualdub 같은 AVS를 지원하는 프로그램에 넘기는 중간 역할을 한다.


그러니까, 비디오파일 -> AVS 파일 -> Avisynth -> GUI 기반 인코딩 툴

순서.



사실 간단한 보정이나 단순 인코딩은 버츄얼덥만 가지고도 충분하지만, Avisynth 용으로 개발된 필터가 엄청나게 많은데다가 주로 필터질용으로 사용되는 Virtualdub mod는 4년째 업데이트 중단이라 필터가 그리 많지 않아 좀 곤란한점이 몇개 있다.


 결론은 Avisynth를 깔아두면 쓸데가 많다. 는거다.

'Program' 카테고리의 다른 글

곰인코더 6월 16일 업데이트  (0) 2009.06.18
DGAVCIndex 1.09  (0) 2009.06.13
DVD Shrink 3.2.0.15  (2) 2009.05.07
DVD decrypter 3.5.4.0  (0) 2009.05.05
MeGUI 3.0.1.1014  (0) 2009.02.27
Posted by 아스쿨