使用AVFoundation在时间域中logging位置

我跟随了很多教程,关于在AVFoundation中录制的每个教程都只涵盖了录制video或audio或者这两者。

我想在同一个时间域logging一些位置,如video/audio在单独的轨道上。 该位置的航点只有5个属性 – 纬度,经度,高度,开始时间,持续时间,并且它会经常改变5秒的logging。 这个录音是为了演示的目的,我需要的function,如stream,前进,跳过,暂停。

任何人有一些想法如何使用AVFoundation框架呢?

当然,这是可能的。

AVFoundation是一个更高级别和更低级别的库的集合,有许多选项可以在各个阶段进入处理stream程。 假设你想从摄像机捕获,那么你将使用AVCaptureSession,它的委托https://developer.apple.com/reference/avfoundation/avcapturevideodataoutputsamplebufferdelegate和AVAssetWriter的一些组合。

AVCaptureVideoDataOutputSampleBufferDelegate正在捕获CMSampleBuffers(它将一帧video数据与定时信息结合在一起),在你接收它的点上,你通常只是“写出”CMSampleBuffer来loggingvideo,但是你也可以进一步处理它来过滤它或者像你想要的那样,用定时数据logging附加信息(例如,在video中的这一点,我有这些坐标)。

研究如何从iOS上的相机​​编写video开始并使用委托,您将很快看到在代码中的位置,以实现您的目标。