기타 강좌

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

  플레이스테이션 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 886
파이널컷X 파컷 강좌 목록 아방스 2017.06.18 757
C언어 [C언어] 변수에 대해 [Dark].Angel 2009.01.14 2625
C언어 [C언어] scanf()함수에 대해 [Dark].Angel 2009.01.14 2830
C언어 [C언어] 주석에 대해 [Dark].Angel 2009.01.14 2151
C언어 [C언어] 산술연산자, 대입연산자, 증감연산자 란? 2 [Dark].Angel 2009.01.14 3541
C언어 [C언어] 난수에 대해 2 [Dark].Angel 2009.01.14 3785
C언어 Lua강좌 1 *ps인간 2009.01.26 4902
기타 [강좌][공식]타겟과 포인트와의 거리 계산 2 허걱 2009.02.14 3136
기타 [VB6 강좌] 제3강 - 알고리즘과 순서도 4 독도2005 2009.02.14 2838
XpressEngine XE1.1.5로 업후 위젯들이 문제를 일으킬때 수정방법 아방스 2009.02.21 3033
기타 [VB6 강좌] 제4강 - 변수와 데이터형 1 독도2005 2009.02.25 2075
기타 [VB6 강좌] 제5강 - 제어문 1 독도2005 2009.02.26 2662
기타 게임제작 관련 학과들 7 아방스 2009.03.12 3061
C언어 시작의반 6 file 정체불명 2009.05.01 2167
C언어 스릴 쇼크 서스펜스!!!!!!!! 정체불명 2009.05.01 1967
C언어 락발라드 구구단~ file 정체불명 2009.05.02 2560
기타 [VB6 강좌] 1~5강 강의평가 2 독도2005 2009.05.05 2256
기타 인스톨 팩토리 사용법~ 5 file Skybound 2009.05.11 3773
기타 바이러스 제작 모험기 : 상편.shutdown명령어! 4 file 창조자 신 2009.05.16 3779
C언어 정체불명 강의노트 개발툴의 설치 2 정체불명 2009.05.16 2246
C언어 정체불명 입문자를 위한 요약노트 01 12 정체불명 2009.05.16 2011
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19