拆分AVMutableComposition并将其导出为多个较小的合成物

时间:2018-11-08 15:23:19

标签: swift avfoundation avmutablecomposition

我正在构建一个需要以下功能的应用程序:

  • 将视频合并为一个AVMutableComposition并将该单个视频内容呈现给用户。
  • 以多个块导出视频合成。例如,如果整个作品的长度为60秒,则将其导出为3个20秒的视频。

分割AVMutableComposition并将其导出为多个较小的合成的最有效方法是什么?

我已经提出了以下解决方案,但是似乎都不是特别有效:

  • 创建x个所需长度的合成物。
  • 创建x个整个合成的副本,并使用removeTimeRange()将每个副本修剪成较小的合成。
  • 导出单个合成,并使用该文件创建x个较短的AVMutableCompositions。

在继续实施上述解决方案之一之前,我想确认没有一种直接的方法可以分割我所缺少的AVMutableCompositions。

1 个答案:

答案 0 :(得分:0)

最有效的方法是完全不分割构图。而是使用

  • timeRange的{​​{1}}属性,或

  • AVAssetExportSessionstartSessionAtSourceTime,当使用endSessionAtSourceTime

  • 书写时