AVFoundation视频剪辑的整体工作流程

所属分类:ios | 发布于 2025-04-16

AVFoundation视频剪辑的整体工作流程

第一步:创建一个或多个AVAsset。AVAsset是有时间的,模拟音视频实体的对象。

第二步:创建AVComposition、AVVideoComposition以及AVAudioMix。

AVComposition指定了音视频轨道的时间对齐。

AVVideoComposition指定了视频轨道在任何给定时间点的几何变化与混合。

AVAudioMix管理音频轨道的混合参数。

这三个对象是视频剪辑最主要的三个类,可以把第一个类的作用理解为摆放音视频轨道,第二个类处理视频混合,第三个类处理音频混合。

第三步,使用这三个对象来创建AVPlayerItem,并从中创建一个AVPlayer来播放编辑效果。也可以使用这三个对象来创建AVAssetExportSession,用来将编辑结果写入文件。

AVComposition

AVComposition是一个或多个AVCompositionTrack音视频轨道的集合。其中AVCompositionTrack又可以包含来自多个AVAsset的AVAssetTrack。上图的例子中,将两个AVAsset中的音视频AVAssetTrack组合到AVComposition的音视频AVCompositionTrack中。

AVVideoComposition

AVVideoComposition可以用来指定渲染大小、渲染缩放以及帧率。图中紫色部分包含了有一组指令,这些指令存储了混合的参数。有了这些混合的参数之后,可以通过自定义的Compositor来混合对应的图像帧。

整体工作流程如图所示,接受指令,把原视频帧通过合成器,生成合成后的帧,输出给播放器或者导出器。

AVAudioMix

AVAudioMix在AVComposition的音视频轨道上处理音频。包含一组AVAudioMixInputParameters,每个Parameters对应一个音频的AVCompositionTrack。上图的示例中可以看到AVCompositionTrack和AVAudioMixInputParameters是一一对应的。

 

文哥博客(https://wenge365.com)属于文野个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com

备案号:粤ICP备18108585号 友情链接