0
正確なタイムスタンプでビデオの録画を開始しようとしています。正確なタイムスタンプでの録画の開始
見つかった方法を使用して各フレームのタイムスタンプを取得できました:hereおよびhere
- (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection{
CMTime time = CMSampleBufferGetPresentationTimeStamp(sampleBuffer);
...
// check if time > timestampToStart, use these frames
}
これを行うことで、指定したタイムスタンプの後に来るフレームのみを使用できます。
問題は、最初のフレームがでなく、timstampToStartでは正確にでなく、timstampToStartに0-1/fps(通常はfps = 24)の小さな間隔があることです。
どのように私はあなたがタイムクリティカルな機能を必要とするとき、私は
あなたの答えをありがとう。しかし、私の場合、「あなたのことをやってください」というのは時間がかかることです。この方法では、録画したビデオの最初のフレームを正確にタイムスタンプにします。 – Nilsymbol
それから、sleepUntilDateコールの前にします。 –
バッファストリームはavcapturesessionから来て、残念なことにこの方法では "一時停止可能"ではありません – Nilsymbol