当前位置:
短视频app制作开发主要依赖于那些架构?
发布日期:2021-01-05 阅读次数: 字体大小:

短视频SDK架构中主要做的一些事情,这其中最重要的就是短视频SDK的架构设计,包括架构设计理念、架构图、整体数据流程、模块架构设计等。今天小编就简单介绍一下短视频app制作开发中,选择什么样的厂家,厂家SDK架构设计。
短视频app制作开发主要依赖于那些架构?
    短视频SDK架构
 
    Android短视频SDK的架构图,可以划分为四层。第一层为应用层(基于SDK制作开发的应用);第二层为SDK对外的接口层(均以PLShortVideo为前缀);第三层为核心层,主要是内部的一些模块(其中分Java和Native两块);第四层主要是Android系统层。
 
    整体数据流程图;输入模块支持通过两种方式采集数据,一种是通过摄像头和麦克风采集数据,采集到的数据可以进行数据处理(美颜、人脸识别等),另一种则是通过文件导入并进行解码处理;编辑模块有着十分丰富的功能比如添加字幕、MV特效、添加背景音乐等等;编码模块主要支持H.264软编/硬编以及ACC软编/硬编;编码之后的数据会进行MP4封包,此后进入输出模块,可以存储到本地也可以使用HTTP进行上传。
 
    录制模块的重点在于帧数据获取,除了可以通过摄像头获取视频帧,还可以通过屏幕录制获取视频帧,而音频帧数据主要还是通过麦克风进行获取;虚线部分的Filter模块主要实现了内置美颜/滤镜功能,另外因为有纹理和YUV数据的CallBack回调机制,所以也支持第三方库的美颜、滤镜、特效等功能;处理后的数据会经过OpenGL进行裁剪,缩放,旋转等操作,这些工作虽然可以由CPU来进行,但是会比较耗时,利用GPU是更明智的选择;最后得到纹理后,会被分成两路,一路渲染显示,另一路进行编码封装,这两个线程共享同一个纹理,这样的处理大大减少了资源的占用,提高了SDK的工作效率。
 
    首先需要导入一个视频文件(使用短视频SDK拍摄或者从外部导入的视频文件),解包之后会得到相应的帧数据,接着分别通过音视频解码器得到PCM和纹理,然后把它们送进编辑引擎,在这里面可以进行各种各样的处理(水印、文字特效、背景音乐、多音频混音等)数据经过编辑之后,与录制相同会分两路,其中一路进行播放渲染,另一路会进行转码保存。
短视频app制作开发主要依赖于那些架构?
    通过摄像头采集的数据无需解码,而MV视频文件的帧数据则需要解码后才可以进行处理。SurfaceTexture的主要作用是将解码后的数据帧进行回调通知你可以在OpenGL线程中更新纹理了,这个通知可以是多线程同时进行的操作,所以在帧回调时一定要对其进行上锁,防止出现MV画面之间不同步的问题。更新之后得到相应的纹理,将其进行混合就能得出最后的MV特效图。
 
    日志系统主要是为了方便排障,快速定位问题以及调试问题,我们会将SDK版本、设备机型、系统版本,关键配置等一一进行输出,以方便用户根据这些信息进行排障。
 
    只有选择好科学合理的短视频SDK架构,才能配合好短视频app制作开发出稳定的短视频系统,短视频app制作开发结合短视频SDK架构打造出一套完整的短视频系统功能。

本文原地址:https://www.4dchinese.cn

郑重声明内容版权声明:除非注明,否则皆为本站原创文章。如有侵权联系进行删除!