기타 강좌

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

  플레이스테이션 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언어 [ - Zennys - ] 제니스의 C언어 강좌 [문자열] 제니스 2009.06.13 2840
C언어 [ - Zennys - ] 제니스의 C언어 강좌 [3중문자] 1 제니스 2009.06.13 2352
C언어 [ - Zennys - ] 제니스의 C언어 강좌 [열거형,정의] 제니스 2009.06.13 2558
C언어 [ - Zennys - ] 제니스의 C언어 예제ㅡ 2 file 제니스 2009.06.13 2595
C언어 [ - Zennys - ] 제니스의 C언어 강좌 [include] 3 제니스 2009.06.13 3125
C언어 [-구름-] 배열로 스택구현하기 3 [SST]구름 2009.06.13 2747
C언어 [-구름-] 배열로 큐 구현하기 3 [SST]구름 2009.06.13 3610
C언어 [ - Zennys - ] 제니스의 C언어 강좌 [태그] 1 제니스 2009.06.13 2149
C언어 알았습니다..그럼 게시물은 다 삭제해버리겠습니다.. 8 제니스 2009.06.16 2278
C언어 제니스가 올린 글 출처 알았네요.... 2 제네시스& 2009.06.27 2383
기타 아방스 분들 사과드립니다.... 12 제네시스& 2009.06.27 2307
XpressEngine 게시물의 추천/비추천 기능 추가하기 1 아방스 2009.07.09 4895
기타 그림판으로 아이콘 만들기 4 검은별 2009.07.13 3395
기타 게임줄거리를 만들어볼까?!! 6 칼리아 2009.08.01 2522
기타 - 하늘 -의 리눅스 book! 리눅스를 배워보자! 5 - 하늘 - 2009.08.01 2515
기타 - 하늘 -의 리눅스 book! [ <1>리눅스를 배우기전에... ][수정] 5 - 하늘 - 2009.08.01 2145
기타 - 하늘 -의 리눅스 book! [ <2>리눅스를 배우려면?][수정] 8 file - 하늘 - 2009.08.01 3357
기타 해커스쿨 F.T.Z서버에 대해 궁금하신 분들은 글올려주세요... - 하늘 - 2009.08.03 3428
기타 - 하늘 -의 리눅스 book! [ <3>리눅스의 기초!] 1 file - 하늘 - 2009.08.03 2161
기타 [파이썬] 파이썬을 배우자 )1( 6 - 하늘 - 2009.09.05 2730
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Next
/ 19