일부 후 이 대답은 두 부분으로 나누어 져 있습니다 :
방법으로 설정 프레임 기간으로, 초당 60 프레임
아이폰 4S/5.1에 AVCaptureSessionPreset1280x720에서 프레임을 캡처 :
connection.videoMinFrameDuration = CMTimeMake(1, 60);*
connection.videoMaxFrameDuration = CMTimeMake(1, 60);
당신에게 안정, 슈퍼 부드러운 캡처를 제공합니다.
어떻게 프레임을 캡처하는 것은 모두가 아주 잘 초당 60 프레임
@ 파일로 프레임을 캡처하지만, 아마도 당신이 그들을 유지하려는.
Brad가 주석에 언급했듯이 파일에 파일을 쓰는 것도 다른 이야기입니다. 슬프게도, 내가 시도한 구성에 상관없이
AVAssetWriter
을 통해 프레임을 인코딩하면 캡처 된 속도가 관찰 된 ~ 37fps로 떨어지고
alwaysDiscardsLateVideoFrames
으로 바이올린을 사용하지 않아도 변경 될 수 있습니다. 그러나이 방법에서는 모든 단일 프레임이 AVFoundation에서 앱으로 복사 된 다음 다시 되돌아갑니다. 이는 버스에 대해 매우 무의미하고 매우 유용합니다. 다행히도
AVFoundation
에는이 왕복을 제거하는 클래스가 있습니다 :
AVCaptureMovieFileOutput
.
AVFoundation
이 글을 쓰면 iPhone4S는 프레임 + 오디오를 60fps *로 .mov 파일로 캡쳐하고 인코딩 할 수 있습니다 (~ 25 % CPU).
60fps 비디오 캡처는 훌륭한 기능이지만, AVCaptureMovieFileOutput
은 많은 재미를 없앴습니다 (예 : GL 쉐이더를 사용한 실시간 효과, 프레임 손실없이 시작/정지 녹화). 당신은 여전히이 질문은 폐쇄 될 투표 이유를 모르겠어요 아이폰 OS 5.0.1
을 실행하는 경우
케이크/IT
* 59을 먹는다? 좋은 연구 후에 좋은, 중복되지 않는 질문이 보인다. OP는 어디서부터 시작해야할지 모르지만 적어도 그가 찾고있는 것은 가능하며 탈옥되지 않은 휴대 전화의 다른 앱에서도 이미 수행되었다고합니다. – Krishnabhadra
예, 명확히하기 위해, 나는 본때를 보여주고 싶지 않다. 저기 아이폰 (TimeFreeze, slopro)에 대한 일부 슬로우 모션 애플 리케이션이 있습니다. 그래서 나는 그것이 가능하다는 것을 안다. – Michel