XENIX(제닉스)

Avisynth

22

두개의 화면을 수평배치하기

질문을 하셔서 여기에 답을 올립니다. 먼저 스크립트를 보실까요? clip1=avisource("shares.avi") clip2=avisource("054.avi",audio=false).BicubicResize(width(clip1),height(clip1)) stackhorizontal(clip1,clip2).BicubicResize(640,480) 단 세줄의 스크립트구요 설명드리자면 다음과 같습니다. 1. 먼저 첫번째 영상을 불러오구요 2. 두번째 영상을 불러와서 오디오를 Disable 시킵니다. 수평이든 수직이든 배열할때 첫 영상의 오디오만 나오니까요.그리고 화면의 크기를 첫번째 영상의 크기에 맞게 가로/세로값을 넘겨 받아 리사이즈 합니다. 3. 수평으로 두 영상을 배열한 후 적당한 사이즈로 리사..

AviSynth 2011.06.17 2 XENIX

동영상에 테두리 넣기

동영상에 특정 두께의 테두리를 삽입하는 방법에 대한 설명입니다. 사용된 필터는 Addborders 필터이구요 두께와 색깔을 사용자가 마음대로 선택할 수 있습니다. 동영상의 칼라스페이스가 YV12일 경우 추가된 테두리의 좌우값을 합한 수치가 4의 배수이어야만 에러가 나지 않습니다. 이런 수치에 신경쓰고 싶지 않으시다면 동영상의 칼라스페이스를 Converttorgb32 필터를 이용해서 RGB32 형식으로 변환하시기만 하면 됩니다. >>비교영상

AviSynth 2011.05.25 1 XENIX

한 화면에 동일한 영상 3개 넣기

Avisynth를 이용하여 한 화면에 동일한 3개의 영상을 넣는 과정을 테스트 해봤습니다. 물론 가로/세로 짝수 배열일 경우 모양새가 좋아보이긴 하지만 필요에 따라서 3개를 넣어야만 하는 경우 이런 방법으로도 가능하다는 것을 보여드린것 뿐입니다. 물론 응용력을 발휘하신다면 보다 나은 결과가 있겠지요.

AviSynth 2011.05.24 XENIX

AviSynth - 19. 화면분할 (화면크기,FPS가 다른 경우)

테스트를 위해서 아래 4개의 파일을 준비했습니다. 일단 해상도는 전부 다르구요 프레임레이트만 2개씩 동일합니다. 이제 단계별로 스크립트를 만들어보겠습니다. 프로그래밍에 능숙하신 분이라면 몇단계를 묶어서 스크립트를 작성하실 수도 있겠지만 전 프로그래밍에는 재능이 없어서 그냥 베이직수준으로 스크립트를 만들어보겠습니다. a=avisource("001.avi") a_width=width(a) a_height=height(a) a_fps=framerate(a) 먼저 001.avi 파일을 로드하여 a라는 변수에 할당했습니다. 그리고 width(), height(), framerate()라는 AVS 스크립트를 이용하여 001.avi 클립의 속성중에 가로값,세로값 그리고 FPS값을 받아내서 이를 a_width, a_h..

AviSynth 2010.09.11 9 XENIX

AviSynth - 18. 수직대칭화면 만들기

clip=avisource(".\mov\012.avi") clip2=fliphorizontal(clip).GreyScale() end=stackhorizontal(clip,clip2).BicubicResize(640,480) subtitle(end,"수직대칭화면을 만들어봤습니다",align=2,size=40) 영상파일을 하나 불러오고 FlipHorizontal 필터를 이용하여 수직대칭인 클립을 하나 회색톤으로 만들고 이 둘을 수평배열시킨 후 리사이징하고 설명 자막을 넣은 내용입니다.

AviSynth 2010.08.25 XENIX

AviSynth - 17. 되감기효과

clip1=avisource("pavv1.avi",audio=false).trim(250,300) clip2=reverse(clip1) clip=clip1+clip2 loop(clip,5) 동영상을 불러와서 오디오는 끄고 50프레임구간을 발췌한 후 이걸 clip1이라고 하고 이걸 reverse 필터를 이용하여 되감기 효과를 준것을 clip2라 하여 이를 이어붙인것을 5회 반복시키도록 만든것입니다.

AviSynth 2010.08.25 1 XENIX

AviSynth - 16. 특정구간 반복시키기

clip1=avisource("pavv1.avi").trim(26,35) clip2=avisource("pavv1.avi").trim(56,65) loop(clip1,10) + loop(clip2,10) 하나의 영상에서 26번째 프레임부터 35번째 프레임까지 총 9 프레임을 가져오고 또 동일한 영상에서 56번째 프레임에서 65번째 프레임까지 총 9 프레임을 가져와서 이를 각각 10번씩 반복하게 하는 영상을 이어붙인 내용입니다.

AviSynth 2010.08.25 XENIX

AviSynth - 15. 같은 장면을 색상을 달리하여 보여주기

ori=avisource("second.avi").Trim(1000,2000) # 파일로드 후 트리밍 clip=converttorgb32(ori) # RGB 포맷으로 변경 a=clip #원본색상 b=greyscale(clip) # 회색톤 c=rgbadjust(clip,1,2,1,1) # RGB값 변경 d=rgbadjust(clip,2,0.5,2,2) aa=stackhorizontal(a,b) # 수평정렬 bb=stackhorizontal(c,d) stackvertical(aa,bb).BicubicResize(640,480) # 수직정렬 후 리사이즈

AviSynth 2010.08.23 XENIX

AviSynth - 14. 하나의 영상을 화면분할하여 보여주기

먼저 결과화면을 보시겠습니다. 위의 영상은 하나의 동영상파일입니다. 그 파일의 특정 구간들을 발췌하여 화면을 분할하여 보여주는 것입니다. 그럼 스크립트를 보실까요? 1. 먼저 하나의 파일을 로드해서 clip이라는 변수에 할당하구요 2. clip이라는 영상에서 서로 다른 각각의 900프레임씩 트리밍하여 또다른 변수에 할당한 다음 3. 두 클립씩 수평배열시킨 후 4. 수평배열된 영상들을 수직으로 배열시킨 후 화면사이즈를 조절한 내용입니다. 서로 다른 영상에서 클립을 가져오는것이 아니라 하나의 영상에서 구간발췌 (실제로 구간마다 자르는게 아니고하 그 구간의 프레임들을 참조하는 방식임)여 한 화면에 보여주는 내용이며 하나의 영상에서 가져오므로 화면사이즈나 fps등을 신경 쓰실게 없으나 하나의 영상에 여러 작업이..

AviSynth 2010.08.20 XENIX

AviSynth - 13. MKV, MP4 파일 로드하기

DirectShowSource 필터를 이용하여 mkv/mp4 파일을 로드할 수 있습니다. 이를 로드하기 위해선 Haali Matroska Splitter를 설치해야 합니다. - Splitter를 설치하지 않은 채 DirectShowSource 필터를 이용하여 mp4 파일을 로드해보았더니 - 아래와 같이 파일과 연결된 소스필터를 찾지 못하여 에러가 발생합니다. - Haali Matroska Splitter를 설치하였더니 - 스크립트가 제대로 실행됨을 알 수 있습니다. - 물론 mkv 파일도 같은 방법으로 로드가 가능했습니다.

AviSynth 2010.08.19 3 XENIX

AviSynth - 12. 되감기효과 (Rewind Effect)만들기

AviSynth와 무비메이커를 이용하여 되감기 효과를 만들어 봤습니다. 테스트한 내용은 이렇습니다. 먼저 영상이 한번 쭈욱 지나갔다가 특정구간을 되감았다가 되감긴 끝지점에서 다시 정상적으로 재생되도록하는 그런 영상을 만들계획입니다. AviSynth와 VirtualDub 이 두 무료프로그램과 단 몇줄의 스크립트만으로도 만족할 만한 결과물을 얻으실 수 있을것입니다. AviSynth의 설치에 관해서는 아래글을 참고하시기 바랍니다. [AviSynth] - AviSynth - 1.시작 및 설치 여기서 설명하는 내용은 아주 기본적인 내용이므로 읽으시는 분들의 무궁무진한 응용을 기대해봅니다. 한가지 오디오부분이 걸리는데 원래는 리와인드 되는부분의 오디오도 되감기는 효과를 주어야 하는데 물론 해당부분의 오디오만 발췌해..

AviSynth 2010.05.08 6 XENIX

AviSynth - 11.PIP효과 (동영상 속에 동영상 넣기)

처음부터 차근차근 해보겠습니다. 먼저 두개의 영상이 필요하겠지요. 바탕이 되는 영상을 full.avi라고 하고 full.avi 속에 들어갈 영상을 in.avi라고 이름 지어봤습니다. 일단은 두개의 영상을 불러와야겠지요. a=avisource("full.avi") b=avisource("in.avi") 동영상 속에 동영상을 넣으려면 layer 필터를 사용해야 하는데 위 그림에서 보듯이 Layer 필터의 경우 입력받는 동영상이 RGB32 또는 YUY2 형식이어야 하므로 다음과 같이 컨버팅해줍니다. a=avisource("full.avi").converttorgb32() b=avisource("in.avi").converttorgb32() 그런 후 속에 들어가는 in.avi가 바탕이 되는 full.avi보다 ..

AviSynth 2010.02.25 4 XENIX