usar notes como apple app iphone ios recording avcapturesession

notes - Captura 60fps en la aplicación de iPhone



como usar la app clips (2)

Estoy trabajando en un proyecto en el que usaremos iPhones como cámaras para capturar una escena. Cuando grabamos, necesitamos grabar @ 60fps y no 30fps (como soporte nativo). Así que estoy trabajando en una aplicación para hacer esto, ya que el hardware del iPhone 4S es compatible con 720p @ 60fps (si haces jailbreak a tu teléfono, puedes lograrlo).

¿Alguien sabe cómo hacer esto en Objective-C en iOS? Hoy vi una aplicación (slopro) que puede grabar 60 fps en teléfonos sin jailbreak. Cualquier consejo o consejo es muy apreciado.


Después de algunos retoques, esta respuesta se ha dividido en dos partes:

Cómo capturar fotogramas a 60fps

El AVCaptureSessionPreset1280x720 en el iPhone4s / 5.1, con duraciones de cuadros configuradas para:

connection.videoMinFrameDuration = CMTimeMake(1, 60);* connection.videoMaxFrameDuration = CMTimeMake(1, 60);

Te da una captura estable, super suave.

Cómo capturar cuadros en un archivo a 60fps
La captura de cuadros está muy bien, pero es probable que desee mantenerlos.
Como señaló Brad en los comentarios, escribir esos marcos en un archivo es otra historia. Lamentablemente, independientemente de las configuraciones que probé, la codificación de las tramas a través de un AVAssetWriter provocó que la tasa de captura disminuyera a los ~ 37 fps observados y que no haya una cantidad de problemas con alwaysDiscardsLateVideoFrames podría cambiarlo. Sin embargo, en este enfoque, cada fotograma se copia desde AVFoundation a su aplicación, y luego vuelve a aparecer, lo cual es bastante inútil y muy desgastado para el bus. Afortunadamente, AVFoundation tiene una clase que elimina este viaje de ida y vuelta: AVCaptureMovieFileOutput .

Si deja que AVFoundation haga la escritura por usted, el iPhone4S puede capturar y codificar cuadros + audio en un archivo .mov a 60 fps * sin interrumpir el sudor (~ 25% de CPU).

Si bien la captura de video a 60 fps es una gran característica, no puedo evitar sentirme un poco decepcionada ya que AVCaptureMovieFileOutput descarta muchas cosas divertidas (por ejemplo, efectos en tiempo real con sombreadores GL, grabación de inicio / parada sin pérdida de fotogramas).

pastel / comelo

* 59 si todavía está ejecutando iOS 5.0.1