2012-12-03 22 views
11

Nagrywam film z AVCaptureSession i AVCaptureMovieFileOutput. Zapisuję również dane przyspieszenia i próbuję wyrównać dane przyspieszenia z wideo.AVCaptureSession i AVCaptureMovieFileOutput timestamp

Próbuję znaleźć sposób, aby uzyskać czas rozpoczęcia nagrywania pliku wideo. Robię, co następuje:

currentDate = [NSDate date]; 
[output startRecordingToOutputFileURL:fileUrl recordingDelegate:self]; 

Jednak według moich testów, nagrywanie wideo rozpoczyna 0.12 sekund przed podjęciem wywołanie startRecordingToOutputFileURL. Zakładam, że dzieje się tak dlatego, że różne bufory wideo są już pełne danych, które są dodawane do pliku.

Czy mimo to można uzyskać rzeczywistą wartość NSDate pierwszej klatki wideo?

+0

próbowałeś z NSTimer? – kumar

+0

Jeśli ustawisz kanał wyjściowy do przechwytywania danych próbki surowej ramki, możesz uzyskać dostęp do znacznika czasu każdej klatki. Ale nie byłem w stanie skonfigurować AVCaptureSession zarówno z danymi wyjściowymi filmu, jak i z próbką surowych ramek, więc nie wiem, jak uzyskać dokładną sygnaturę czasową pierwszej nagranej klatki w pliku filmu. – algal

+0

Po prostu podam ci kilka wskazówek, ale nie mam prawdziwej odpowiedzi. AVFoundation dużo używać KVO czy jesteś pewien, że nie ma żadnych właściwości zmienionych w "czasie rzeczywistym"? Czy próbowałeś wydrukować AVItemMetadatas pliku filmu? – Andrea

Odpowiedz

0

jeśli otrzymam poprawnie pytanie, chcesz poznać znacznik czasu, kiedy pierwsza klatka jest nagrywana. możesz spróbować

CMTime captureStartTime = nil; 

- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection { 

     if !captureStartTime{ 
     captureStartTime = CMSampleBufferGetPresentationTimeStamp(sampleBuffer); 
     } 
    // do the other things you want 
} 
+0

Kiedy próbowałem tego, nie byłem w stanie przechwycić danych wyjściowych pliku filmowego. Czy masz działający przykład, który przechwytuje zarówno znaczniki czasu bufora próbki, jak i plik filmowy? – algal

Powiązane problemy