同时使用两个 AVAssetWriters 创建相同视频输入的两个版本

Use two AVAssetWriters simultaneously to create two version of same video input

如果您想为同一视频输入创建两个版本,一个经过过滤,一个未修改,同时使用两个 AVAssetWriter 是否有缺点?

根据 this SO post,不可能(至少在 2011 年)同时使用 AVCaptureVideoDataOutput 和 AVCaptureMovieFileOutput,因此希望同时使用两个 AVAssetWriter 可以解决问题。只是想知道是否有需要注意的不明显问题。

我们使用了两个 AVAssetWriters 没有问题。没有真正的"gotchas"我能想到的,但一些考虑:

  • 显然,硬件越旧,它就会越困难(我们使用 iPhone 6 及更高版本,完全没有问题)。
  • 输出文件的大小对性能有影响,因此为了最快的编译,请考虑较小的分辨率。
  • 不清楚您是在实时合成还是在 post 处理中合成。如果你正在 post-processing,你应该没有任何问题(除了它会稍微慢一点),但如果你正在现场写作,那么如果性能受到影响,你可能会看到丢失的缓冲区。

根据我的尝试经验,没有任何理由不尝试这个解决方案,它应该可以正常工作。