如何向合并了电影资源和图层指令的 AVComposition 添加过滤器

Zoo*_*ola 6 avfoundation ios

我正在开发的应用程序可以编辑视频文件并将它们合并到 AVComposition 中。这是以一种非常直接的方式完成的,该方式已被详细记录:创建 AVMutableComposition...创建视频和音频轨道。将视频和音频片段插入到这些轨道上。创建一个 AVVideoComposition 对象。用图层指令填充它。

我现在有兴趣向我的 AVComposition 添加过滤器(将在 AVPlayer 中呈现,然后导出到 mp4 文件)。

我能找到的向 AVComposition 添加过滤器的唯一方法是使用 AVMutableVideoComposition 的 videoCompositionWithAsset:applyingCIFiltersWithHandler 初始值设定项。

然而,正如其他人所指出的,以这种方式初始化 AVMutableVideoComposition 不允许稍后添加必要的层指令。

更重要的是,我找不到一种方法来指定分配的过滤器的起点和持续时间(但此时这对我来说不是什么问题)。

我发现的有关在 AVFoundation 中使用过滤器的所有资源都不使用合并视频,而是将过滤器应用于一个视频资产。我尝试使用 AVComposition 作为该资产,但无法使用我的图层指令,结果是无用的。

知道如何创建这样一个合并视频的组合,并且还能够应用过滤器(棕褐色......,亮度等......)。

谢谢

我找到了这个链接,但不清楚: How to use layer instructions into videoCompositionWithAsset:applyingCIFiltersWithHandler method

当尝试初始化时

我收到以下错误/异常:

[AVCoreImageFilterCustomVideoCompositor startVideoCompositionRequest:] 期望视频合成仅包含 AVCoreImageFilterVideoCompositionInstruction'