AVFoundation:如何实时将视频写入文件而不是使用 exportAsync?

AVFoundation: How to write video to file in real time instead of using exportAsync?

AVFoundation 对我来说是一个很大的困难,因为那里的大多数示例和文档都在 Obj-c.. 正如我的标题所述,我想实时写入文件而不是调用 exportAsync一旦用户完成录制他们的视频。

如果有人可以就如何执行此操作提供一些建议或文档,我们将不胜感激!

不清楚您的视频来自何处,但exportAsync听起来您正在使用 AVAssetExportSession 现有文件或作品。

  1. 捕获您的视频(和音频?)帧
    一种。如果来自现有的组合或文件,AVAssetReader
    b.如果来自相机,AVCaptureSession
  2. 使用 AVAssetWriter & AVAssetWriterInput
  3. 逐步将帧写入文件

如果您希望写入文件由于某种原因被中断, 考虑将 AVAssetWritermovieFragmentInterval 属性 设置为较小的值。