• 移动端视频剪辑架构设计一


    移动端视频剪辑架构设计一

    背景:

    经过多年的移动端音视频开发,不断的摸索,按照自己的想法设计一套视频剪辑框架,并一步一步的完善具体细节

    架构

    本次框架采用mvc架构模式,先构建与app交互的模型

    接下来介绍具体的模型架构

     

    接下来详细介绍各个成员的主要功能

    TransformItem:负责记录旋转,位移,缩放,锚点,裁切,镜像等位置相关属性信息,并且里边包含关键帧的相关的信息

    timeAdjustItem:负责trimrange,effectRange, 直线变速,折线变速,曲线变速等时间重映射相关功能

    VideoItem: 负责mov, mp4,jpg,png,bmp,webp,gif等视频资源文件的管理,记录宽高时长帧率等基础信息

    AudioItem:负责mp4,mp3,m4a,aac,wav,flac等音频资源文件关键,记录音频的时长等基础信息

    FilterItem:主要记录程度调节,以及shader 输出uniform名字, 程度调节关键帧信息

    VideoLayer:

    可以由上边VideoItem , AudioItem , TransformItem,timeAdjustItem等组合而成

    AudioLayer:

    可以由上边AudioItem ,timeAdjustItem等组合而成

    TemplateLayer:

    是为了与AE的素材设计进行搭配的,内部根据模板的内容可以确认为文字,滤镜,贴纸,特效等具体类别, app根据具体类别做对应的设计,模板可能带有音频或者视频等资源文件,所以其内部也可以包含具体VideoItem与AudioItem

    MultiFilterLayer:

    里边依赖一个TemplateLayer,可以设置多个Layer或者ComboBox,可以理解成转场需要两个源

    ComboBox:

    可以理解成AE的编辑组,这个组里边可以放置组,也可以放置layer,并且作为一个组整体也可有自己的空间位置变换,始建域变换,这个是最复杂的一个抽象

    后续:

    工具类:概要设计

    View 框架概要设计

    Control 架构概要设计

    编解码底层 架构概要设计

    预加载 架构概要设计;//保证预览的流畅性

    接口设计

    详细设计

  • 相关阅读:
    Android 10.0 Launcher 启动流程
    LAMP 综合实验
    GRACE球谐数据滤波处理(利用matlab实现GRACE月水储量的二维傅里叶变化滤波)
    云原生Docker镜像管理
    2022护网行动在即,关于护网的那些事儿
    微信小程序如何使用scss,less
    如何实现服务器时间同步
    Java入门第109课——集合的size、clear、isEmpty用法
    第一个接受素数定理的人
    FreeRTOS基础(如何学好FreeRTOS?)
  • 原文地址:https://blog.csdn.net/c553110519/article/details/127657293