【问题标题】:Is it possible to use both CIFilter and GPUImage filter on AVMutableComposition?是否可以在 AVMutableComposition 上同时使用 CIFilter 和 GPUImage 过滤器?
【发布时间】:2020-08-23 05:35:11
【问题描述】:

我有一个 AVMutableComposition 有两个轨道(一个用于视频和音频),它结合了多个视频(作为片段:AVCompositionTrackSegment)进行播放。我必须对选定的视频而不是整个作品应用过滤器(假设我总共有 4 个片段时,在第 2 和第 4 片段)。例如,如果用户选择在视频 2 上应用过滤器,那么我使用 AVMutableVideoComposition(asset: AVAsset, applyingCIFiltersWithHandler: (AVAsynchronousCIImageFilteringRequest) -> Void) 在相应的合成持续时间内应用该过滤器。它工作正常。

现在我想使用一些使用GPUImage 库创建的自定义过滤器。所以我的问题是GPUImage 是否有一个 API 可以在选定的段上应用过滤器或在AVMutableComposition 的特定持续时间内应用过滤器?这样我就可以将CIFilter 用于内置过滤器和GPUImage 用于自定义过滤器。

【问题讨论】:

    标签: avfoundation gpuimage cifilter


    【解决方案1】:

    是的,您可以在其中使用 AVVideoCompositing ,在视频合成中,您可以使用自定义合成器,您可以将每个轨道定义为轨道 id,然后通过这个 trackId,您将获得 frameBuffer,您可以使用该帧缓冲区做任何事情,就像您可以使用gpuImage 用于自定义过滤器,或者您可以使用 Metal 来创建自定义过滤器。在这个主题中有一个苹果工程师制作的示例项目,你可以看到它。 参考链接: https://developer.apple.com/documentation/avfoundation/avvideocompositing?language=objc https://github.com/ElfSundae/AVDemo/tree/master/AVCustomEdit

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多