기타 강좌

(이런 것도 강좌냐고 하겠지만 어쨌든 시작)

  플레이스테이션 2 에뮬레이터인 PCSX2에는 자체 동영상 캡처기능이 있습니다.  그래픽 플러그인인 Gsdx32의 것인지는 잘 모르겠지만.  이 기능을 사용하면 Fraps 같은 별도의 캡처도구를 써서 동영상을 찍을 필요가 없고 저장된 결과물에서도 프레임 저하현상을 볼 수 없다는 장점이 있지만 음성과 영상이 따로 저장되는데다가 동영상을 찍는 동안 게임이 느려진다는 문제가 있습니다(사실 이 문제는 별도의 캡처 프로그램을 써도 나올 수 있음.  녹화중 프레임 저하문제는 컴퓨터의 사양에 따라 달라질 수 있음).  본문에서는 이렇게 하여 하드에 저장된 결과물을 인코딩하는 것에 대해 말할 것입니다.


[동영상 녹화]

1. PCSX2에서 F12를 누릅니다.  사용하는 그래픽 플러그인이 Gsdx32라면 대화창이 뜰 것입니다.

pcsx2-screencapturedialogue.png

  해당 대화창에서 파일을 저장할 경로를 선택하고 원하는 이름을 입력한 뒤(AVI형식으로 저장된다는 것에 주의) 코덱과 해상도, Color Depth를 지정합니다.  무압축으로 저장하는 것은 용량이나 속도 문제상 추천하지 않으므로 Lagarith Lossless Video Codec같은 무손실압축 코덱을 사용하여 저장하는 것을 권합니다(물론 이렇게 해도 분당 1GB가까이 나올 수 있음).  설정이 끝나면 OK를 누릅니다.

2. 원하는 부분의 녹화가 끝나면 F12를 눌러 녹화를 종료합니다.  제대로 녹화가 되었다면 PCSX2가 설치된 곳(또는 avi가 저장된 곳)에 recording.wav가, 녹화시 지정한 파일경로상에 (파일명).avi가 저장되어 있을 것입니다.



[동영상 인코딩]

사용 툴:

VirtualDub

AviSynth

1. VirtualDub에서 동영상을 불러옵니다.  녹화된 동영상에는 음성트랙이 없으므로 별도의 파일에서 불러와야 합니다.

2. VirtualDub의 Audio->Audio from other file에서 녹음된 wav파일을 불러옵니다.

3. 저장할 부분을 home과 end로 범위를 지정합니다.

4. Video, Audio 양쪽 다 Full processing mode를 체크하고, Compression에서 사용할 코덱을 지정합니다(코덱 설정에 대한 자세한 설명은 생략).

5. File -> Save as AVI.  만일 2-pass라면 패스별로 파일저장(또는 첫번째 패스는 파일저장 없이 'Run video analysis pass'를 실행)을 선택해야 합니다(Queue Batch Operation을 통해 작업 리스트에 넣은 뒤 F4를 눌러 리스트창을 띄우고 실행).

6. 나온 결과를 확인합니다.  

-> 이렇게 하면 되긴 한데 문제는 녹화된 동영상이 60fps(정확히는 59.94fps?)기 때문에 동영상 공유사이트에 올리면 올려놓은 결과물에서 프레임삭제로 인한 끊김이 발생할 수 있습니다.  이 문제를 해결하고 싶다면 Video->Frame Rate에서 프레임레이트를 바꾼 뒤 인코딩하거나, 아니면 아래에 제시하는 방법을 사용하면 됩니다.


- AviSynth를 전처리기로 사용하는 방법.

1. AviSynth가 이미 설치되어 있다는 가정하에서 다음 스크립트를 작성합니다:

video = AVISource(파일명) #불러올 avi파일의 용량이 2GB를 넘어갈 경우 AVISource 대신 OpenDMLSource를 사용.
audio = WAVSource(파일명)

clip = AudioDub(video, audio) #동영상과 음성을 합친다
ChangeFPS(clip, "ntsc_video") #59.94fps로 녹화된 동영상의 프레임을 29.970fps로 변환.  만일 PAL이라면 "pal_video" 프리셋을 사용.

작성된 스크립트를 적당한 이름으로 저장합니다(확장자는 avs).  필요하다면 crop이나 resize등을 적용할 수도 있습니다(상하에 레터박스가 있고 그것을 제거하고 싶을 경우).

2. 1에서 작성한 스크립트를 VirtualDub에서 불러옵니다.

3. 저장할 부분을 home과 end로 선택합니다.  이후는 VirtualDub만 사용하는 방법과 동일.

4. 인코딩된 결과물을 확인합니다(특히 영상과 음성 싱크문제가 없는지).  제대로 되었다면 29.970fps의 avi파일이 나올 것입니다.

-> AviSynth 스크립트 작성시 다음 줄을 넣으면 위에서 3번 과정을 스킵할 수 있습니다만, 영역을 제대로 선택하려면 역시 VirtualDub을 사용하거나 AvsPmod같은 스크립트 편집기를 사용하는 것이 좋습니다.

Trim(동영상, 시작 프레임, 끝 프레임) #동영상에서 선택 영역만 남기고 삭제



List of Articles
분류 제목 글쓴이 날짜 조회 수
Vegas Pro 베가스 강좌 목록 아방스 2017.09.28 887
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 758
기타 특별한 게임제작 특강! '게임제작, 어렵지 않아요!' 수퍼말이오 2015.10.28 337
웹디자인 관련 테이블은 이제 그만 쉬어야 할 때. 3 아방스 2007.11.07 2688
기타 클로버 자동업데이터기 사용법 4 file fgdr147 2009.05.21 2023
C언어 코르뉴의 자료구조 기초 - 자기 참조 구조체(1/3) 코르뉴 2009.12.11 2924
기타 컴퓨터에 설치된 코덱 확인방법 아방스 2010.05.31 2232
C언어 컴파일러 다운하세용.. 1 제니스 2009.06.13 2685
기타 캠타시아 설정 방법. 3 아방스 2008.03.09 6431
기타 캠타시아 사용법 강좌 11 아방스 2008.03.26 8467
기타 캐릭터고르는 이벤트 만들기 1 file ☆고진수 2011.08.25 2263
기타 캐릭터 생성에 도움 되는글? 10 아방스 2008.08.26 3222
기타 카일 쿠퍼의 강의 입니다. Kyle Cooper: The Film Inside the Film (lecture) 아방스 2011.01.17 2415
에프터 이펙트 총 쏘는 듯한 효과를 만들어 볼까요? 7 아방스 2010.06.01 5784
플러그인 초고속 카매라 같은 효과를 만드는 Twixtor 플러그인 아방스 2011.12.16 13333
기타 제로보드 xe 서버 이전하기 5 아방스 2008.01.11 2610
C언어 제니스가 올린 글 출처 알았네요.... 2 제네시스& 2009.06.27 2383
C언어 정체불명의 프로그래밍입문 4 실행 디버깅 1 정체불명 2012.01.18 1684
C언어 정체불명의 프로그래밍 입문 중간체크 file 정체불명 2012.01.18 1611
C언어 정체불명의 프로그래밍 입문 main 함수작성 3 file 정체불명 2012.01.18 1721
C언어 정체불명의 프로그래밍 입문 2 1 file 정체불명 2012.01.18 1290
C언어 정체불명의 프로그래밍 입문 2 정체불명 2012.01.18 1262
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19