视频编辑是一个深奥的话题,纵使多遍翻看AVFoundation的文章,至今也是疑惑重重。他的框架如下:
AVFoundation系列五:关于音视频的导出
AVFoundation系列四:如何配置一个合格的Camera
AVFoundation系列二:用AVPlayer播放视频
AVFoundation系列一:AVAsset的使用方法
这位大神的较为通俗易懂:https://www.jianshu.com/p/9b39a6cd958d
如果你想编辑一个视频,那么分为音频轨道和视频轨道,我们通常也会把多个音频放到同一个音频轨道,多个视频放到一个视频轨道,当然还有其他轨道信息,比如字幕。
对与音频来讲,AVMutableAudioMix
可以用来控制音频的表现形式,AVMutableAudioMixInputParaments
是先关参数;
对于视频来讲,AVMutableVideoComposition
是设置视频的解释器,其中AVMutableVideoCompositionIntruments
是参数说明,AVMutableVideoCompositionLayerInstruments
是图层变换的表现形式指定,
AVMutableCompositionCoreAnimationTool
是用于图层的animation
动画,涉及layer
,似乎如果我们想要加水印,就要对这个进行处理
关于官方文档的中文翻译:https://www.jianshu.com/p/67d45c13422d 这篇文章很好
我看了AVFoundation这方面的API文档,实际处理起来并没有那么复杂,大部分是这个架构不清楚,加上超长的类名或是协议,给大家造成了一种阻力,结合上图以及博客链接,估计你有有新的认识。
之后会有一篇文章是针对视频导出的,哪里与这篇文章首尾呼应,最好结合起来看。