美文网首页
IOS开发 视频叠加整理

IOS开发 视频叠加整理

作者: Th丶小伟 | 来源:发表于2017-05-25 18:11 被阅读0次

    建议先看懂这篇文章音频叠加之后再来看我所写的

    找了特别久才摸索到视频叠加技术点。首先篇文章写的是视频叠加方面。

    有两个方式,一种是两个视频收尾相接合并成一个视频,一种是两个视频同时在屏幕上播放合并成的叠加视频。

    收尾相加视频步骤:

    1.创建一个可变音视频组合AVMutableComposition*comosition

    2.使用URL创建一个AVURLAsset*asset

    3.利用asset创建视频采集通道AVAssetTrack*assetTrack

    4.利用AVMutableComposition创建视频轨AVMutableCompositionTrack*track(使用insertTimeRange:ofTrack:atTime:error函数设置开始时间,持续时间,视频采集通道)

    创建多个视频合成在这里写,回到步骤2。不需要添加在走下一步

    5.创建视频导出会话对象AVAssetExportSession

    视频叠加

    1.创建一个可变音视频组合AVMutableComposition*comosition

    2.使用URL创建一个AVURLAsset*asset

    3.用asset创建视频采集通道AVAssetTrack*assetTrack

    4.用comosition创建视频轨AVMutableCompositionTrack*track(使用insertTimeRange:ofTrack:atTime:error函数设置开始时间,持续时间,视频采集通道)

    5.使用track创建视频应用层的指令AVMutableVideoCompositionLayerInstruction*videolayerInstruction(使用函数setTransform: atTime:控制视频流的进入时间、大小),可用应用层控制视频流的进入时间、大小、透明度、动画等(控制子视频)

    6.创建管理应用层指令AVMutableVideoCompositionInstruction*mainCompositionIns,使用layerInstructions属性添加视频应用层,可设置视频大小、动画等(子视频的控制器)

    创建多个视频叠加在这里写,回到步骤2。不需要添加在走下一步

    7.创建视频组件AVMutableVideoComposition,这个类是处理视频中要编辑的东西。可以设定所需视频的大小、规模以及帧的持续时间。以及管理并设置视频组件的指令,把6创建的控制器都加进去(总控制器)

    8.创建视频导出会话对象AVAssetExportSession;

    写到最后:demo过几天上传,看到还没上传的留言,视频合成比较容易,视频叠加就比较难,要控制子视频的位置跟显示时间等,不过步骤多表示可操作性强。

    如果有什么遗漏或者错误欢迎指正,共同进步!

    转载请注明出处:摩羯小伟

    总结:找了好多资料都没有一个视频叠加的整理例子,贴出来希望大牛看到漏洞的东西指导一下,也做个笔记。

    demo  链接: https://pan.baidu.com/s/1kUNLSZt 密码: q81t  

    相关文章

      网友评论

          本文标题:IOS开发 视频叠加整理

          本文链接:https://www.haomeiwen.com/subject/ssqzxxtx.html