AVCaptureSession
ビデオをムービーファイルにキャプチャするために使用しています。映画の最初と最後のフレームの正確なタイムスタンプを取得したい。どうすればいいですか?
では、ムービーの録画が開始されたときAVCaptureFileOutputRecordingDelegate
にメソッドcaptureOutput(_:didStartRecordingToOutputFileAtURL:fromConnections:)
が呼び出されますが、録画が終了したときのコールバックと同様に、私の目的には不正確です。フレームの正確なタイムスタンプが必要です。
ではAVCaptureVideoDataOutputSampleBufferDelegate
、メソッドcaptureOutput:didOutputSampleBuffer:fromConnection:
はフレームごとに呼び出され、フレームの明示的なタイムスタンプ情報にアクセスするために使用できるため、十分に正確です。
残念ながら、ビデオ ファイルへの記録と生のサンプル データの提供を同時に行うようにキャプチャ セッションを構成することはできないようです。そのため、これを使用してファイルにキャプチャしながらフレームのタイムスタンプを取得することはできません。
または、両方を同時に使用する方法はありますか?または、使用できる別の API が不足していますか?