我正在开发的应用程序可以编辑视频文件并将它们合并到 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'