2009-04-13 5 views

답변

8

OpenGLCaptureToMovie 샘플을 참조하십시오. 타이머 대신 Quartz Display Services' refresh-notification APIs을 사용해야한다고 덧붙입니다.

OpenGL 예제는 NSImage 객체를 생성하지 않습니다. 당신은 영화에 넣을 수 없으므로 그렇게 할 필요가 없습니다. 글쎄, 당신이 지정한 프레임 시간에 NSImage를 할당 할 수있을 것 같아요,하지만 얼마나 잘 압축과 함께 작동할지 모르겠다.

압축에 관해서는 녹음 품질을 최대화하여 애니메이션 코덱을 사용하십시오. 이것은 디스크를 압도하지 않을만큼 충분한 압축을 제공하며 확실히 프로세서를 압도하지는 않습니다. 그런 다음 H.264, iPhone 용 H.264 및 iPod 용 H.264와 같은 변환 옵션을 제공 할 수 있습니다. 또한 사용자가 원본 파일을 유지하도록 허용해야합니다. Vimeo와 같은 일부 사이트는이를 수용하고 방문자가 다운로드하도록 허용합니다.

+2

이전 답변이 오래되었습니다. 오늘은 CGWindowList API를 사용하여 캡처를 수행하고 CGWindowList가 너무 느린 경우에만 OpenGL로 전환합니다. –

+0

이전 답변에 대한이 업데이트는 @Peter에게 감사드립니다. 나는 오픈 소스 스크린 레코드를하고 싶었는데 ucan이 추가 할 새로운 엘보 베이션이 있습니까? :) – Noitidart

+1

@Noitidart : https://developer.apple.com/library/mac/documentation/Carbon/Reference/CGWindow_Reference/ –