2016-06-29 13 views
5

momento ho una videocamera impostato con un AVCaptureVideoDataOutput cui campione tampone delegato è implementato come tale:registrazione video dalla fotocamera con UIView animato sovrapposizione

- (void)captureOutput:(AVCaptureOutput *)captureOutput 
didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer 
     fromConnection:(AVCaptureConnection *)connection 
{ 
    NSArray *detectedFaces = [self detectFacesFromSampleBuffer:sampleBuffer]; 
    [self animateViewsForFaces:detectedFaces]; 
} 

Il tampone campione viene elaborato e Se vengono rilevate facce, i loro limiti sono mostrati come visualizzazioni su un AVCaptureVideoPreviewLayer che sta visualizzando l'uscita video dal vivo (rettangoli sui volti). Le viste sono animate in modo che si muovano agevolmente tra i rilevamenti del viso. È possibile in qualche modo registrare ciò che viene mostrato nel livello di anteprima e unirlo con gli animati UIView s che lo stanno sovrapponendo, il risultato finale è un file video?

+0

sfortuna con questo? – Roshit

risposta

1

In genere, è possibile utilizzare un approccio di basso livello per creare un flusso video, quindi scriverlo in un file. Non sono un esperto di formati video, codec e così via, ma l'approccio è:

- Impostare un CADisplayLink per ottenere la richiamata attivata per ogni fotogramma che lo schermo ridisegna. Forse una buona decisione è impostare l'intervallo di fotogrammi su 2 per ridurre la frequenza fotogrammi del video di destinazione a ~ 30 fps.

- Ogni volta che lo schermo viene ridisegnato, prendere uno snapshot di livello di anteprima e sovrapposizione.

- Elabora le immagini raccolte: zip ogni due immagini di un fotogramma quindi creare un flusso video dalla sequenza di fotogrammi uniti. Presumo, iOS ha strumenti integrati per un modo più o meno semplice di farlo.

Ovviamente, risoluzione e qualità vincolate ai parametri dei livelli. Se hai bisogno di streaming video raw dalla videocamera, devi acquisire questo flusso e quindi disegnare i dati di overlay direttamente nei fotogrammi video che hai catturato.

Problemi correlati