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?
próbowałeś z NSTimer? – kumar
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
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