이번 IDL 8.1 버전에서는 그래픽 이미지들을 모아서 고화질 동영상 파일을 만들 수 있는 기능이 추가되었습니다. 이 기능은 IDLffVideoWrite라는 객체 클래스를 통하여 구현됩니다. 기본적으로는 AVI나 MP4와 같은 형식들을 지원하지만, 실제 지원 가능한 형식들의 갯수는 훨씬 많으며 그 구체적인 목록은 구동 컴퓨터의 OS나 하드웨어 등에 따라 조금씩 다를 수 있습니다. 그리고 생성될 동영상 파일에는 비디오 뿐만 아니라 오디어 정보도 넣을 수 있습니다. 비디오의 경우는 MPEG-4 등과 같은 여러 코덱들이 지원되고, 오디오의 경우도 AAC 등과 같은 여러 종류의 코덱들이 지원됩니다.
IDL 8.1에서 IDLffVideoWrite 클래스의 도움말을 보면 예제 코드가 하나 있습니다. 지금 첨부된 파일은 이 예제 코드를 이용하여 생성한 MP4 형식의 동영상 파일입니다. 좀 유치한 감이 있지만 오디오도 나오니까 재생시 소리도 한번 들어보시길 바랍니다. 참고로 이 예제 코드의 내용도 아래에 소개합니다(물론 8.1 버전에서만 돌아갑니다)
PRO surfaceVideo_ex file = FILEPATH('surface.mp4', /TMP) width = 500 height = 500 frames = 180 fps = 30 speed = 2 samplerate = 22050L ; Create object and initialize video/audio streams oVid = IDLffVideoWrite(file) vidStream = oVid.AddVideoStream(width, height, fps) audStream = oVid.AddAudioStream(samplerate) ; Generate some audio audio = FINDGEN(samplerate * frames / fps) audio += SIN(audio * 2 * !PI / samplerate) * samplerate / 22 audio = SIN(audio * 2 * !PI / samplerate * 1000) audio = FIX(30000 * audio) time = oVid.Put(audStream, audio) ; Generate video frames surf = SURFACE(/TEST, DIMENSIONS=[width,height]) FOR i = 0, frames-1 DO BEGIN time = oVid.Put(vidStream, surf.CopyWindow()) surf.Rotate, speed ENDFOR surf.Close ; Close the file oVid.Cleanup END
'IDL > Object Graphics' 카테고리의 다른 글
고리형(Ring Shaped) 폴리곤을 구현해봅시다 (0) | 2014.08.29 |
---|---|
Mac OS Mountain Lion 10.8에서 Object Graphics 구현시의 문제 해결법 (0) | 2012.10.31 |
Object Graphics in IDL [31] (0) | 2011.04.05 |
Object Graphics in IDL [30] (0) | 2011.03.21 |
Object Graphics in IDL [29] (0) | 2011.03.15 |