Nach einigen Basteln, diese Antwort hat sich in zwei Teile geteilt:
Wie Frames bei 60fps aufnehmen
Die AVCaptureSessionPreset1280x720 auf dem iPhone4s/5.1, mit Rahmendauern auf:
connection.videoMinFrameDuration = CMTimeMake(1, 60);*
connection.videoMaxFrameDuration = CMTimeMake(1, 60);
gibt Ihnen eine stabile, superglatte Erfassung.
Wie Frames in einer Datei zu erfassen @ 60fps
Rahmen Capturing alles sehr gut ist, aber vermutlich wollen, um sie zu halten.
Wie Brad in den Kommentaren bemerkte, ist das Schreiben dieser Frames in eine Datei eine andere Geschichte. Leider, egal welche Konfigurationen ich versuchte, die Encodierung der Frames über eine AVAssetWriter
verursacht die Erfassungsrate zu den beobachteten ~ 37fps fallen und keine Menge der Fiedeln mit alwaysDiscardsLateVideoFrames
könnte es ändern. Bei diesem Ansatz wird jedoch jeder einzelne Frame von AVFoundation in Ihre App und dann wieder zurück kopiert, was für den Bus ziemlich sinnlos und sehr anstrengend ist. Zum Glück hat AVFoundation
eine Klasse, die diese Rundreise entfernt: AVCaptureMovieFileOutput
.
Wenn Sie AVFoundation
das Schreiben für Sie machen, dann kann das iPhone4S Frames + Audio in eine .mov-Datei mit 60fps * aufnehmen und codieren, ohne ins Schwitzen zu kommen (~ 25% CPU).
Während 60fps Videoaufnahme ist eine großartige Funktion, kann ich nicht helfen, aber ein wenig enttäuscht, da AVCaptureMovieFileOutput
eine Menge Spaß Dinge ausschließt (z. B. Echtzeit-Effekte mit GL-Shadern, Aufnahme Start/Stopp ohne Rahmenverlust).
Kuchen/essen
* 59, wenn Sie immer noch iOS 5.0.1
Sie wissen nicht, laufen, warum diese Frage geschlossen werden soll, abgestimmt? Es scheint eine gute, nicht duplizierte Frage nach guter Forschung zu sein. Sicherlich weiß das OP nicht, wo es anfangen soll, aber zumindest sagt er, was er sucht, ist möglich und wurde bereits von anderen Apps auf nicht-jailbroken Telefonen erledigt. – Krishnabhadra
Ja, um klarzustellen, ich möchte nicht jailbreak. Es gibt einige Zeitlupen-Anwendungen für das iPhone (TimeFreeze, Slopro). Ich weiß, dass es möglich ist. – Michel