短视频SDK架构设计,短视频APP开发目标首选

简介: 短视频 SDK 实践中主要做的一些事情,这其中最重要的就是短视频 SDK 的架构设计,包括架构设计理念、架构图、整体数据流程、模块架构设计等。

短视频 SDK 实践中主要做的一些事情,这其中最重要的就是短视频 SDK 的架构设计,包括架构设计理念、架构图、整体数据流程、模块架构设计等。今天小编就简单介绍一下短视频APP开发中,选择什么样的厂家,厂家SDK 架构设计理念。
312_JPEG

第一点说到 SDK 的设计理念必定要提到命名规范,就跟腾讯的企业理念一样,他们的命名规范是统一、简单并且精炼的,比如他们将对外的核心类统一以 PLShortVideo 为前缀,在录制、编辑以及剪辑等模块的命名;参数配置类则均以 PLxxxSetting 为标准进行命名;接口回调类则均以 PLxxxListener 为标准命名。
第二点他们遵循的是高模块化、模块可插拔的一个理念;高模块化必须要保证每个类每个方法都「名副其实」并「各司其职」,这样才能编写更清晰的逻辑;高模块化同时可以促进高复用,减少重复代码;在 SDK 内的转码核心类,因为编辑、剪辑在最后保存的时候都需要一个解码并重新编码的过程,在这里,转码核心类可以达到一个高复用。
短视频 SDK 的包体划分,他们的可以清晰地看到每个包体的功能划分,不同的功能放在了不同的包体当中。他们并没有使用 ffmpeg 的软解软编,而是尽量使用 Android 和 iOS 的系统 API 进行硬编硬解,这样不仅减少了包体大小,而且速度要快很多,尽管在技术层面上会增加很多难度,会踩很多坑,但我们还是坚持选用这个方案。在引入第三方库时,他们也都是会经过充分配置和裁剪去严格控制包体的大小,这样一来,所有包体总和才能有现在「小而精」(1.5M)的成果。表中最后的内置滤镜模块,其中的滤镜资源可以选择性拷贝,SDK 内部会自动判断。这是关于模块设计方面的一些理念。
311_jpeg

第三点是要和 UI 解耦,在从不同 App 中截图得到的画面,可以看出每一个App 都有各自的设计,作为一款短视频 SDK,是绝对不可以在 UI 方面限制客户发挥的。市面上有些短视频 SDK 将 UI 写死并作为 SDK 的一部分,这样对于客户在设计 UI 界面上来说,是非常不友好的;他们采用的是另一种方法,SDK 与 UI 进行解耦,客户的 UI 是可自定义的,整个 SDK 中接受 view 的地方只有一处:
接着是扩展性这一块,我们遵循高扩展,开放性的理念。在录制以及编辑过程中,都会有数据的回调并支持第三方库进行美颜,滤镜,贴纸,特效等功能。
最后是关于可配置参数方面的设计,除了常规参数,比如摄像头分辨率和帧率、麦克风采样率等可以进行配置之外,包括美颜等参数也都是可以进行配置的。

只有选择好科学合理的短视频SDK,才能配合好短视频APP开发出稳定的短视频系统,短视频APP开发结合短视频SDK打造出一套完整的短视频系统功能。
相关文章
|
1月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
485 7
|
1月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
540 1
|
8天前
|
Java 开发工具 Windows
【Azure App Service】在App Service中调用Stroage SDK上传文件时遇见 System.OutOfMemoryException
System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
|
18天前
|
小程序 数据挖掘 UED
开发1个上门家政小程序APP系统,都有哪些功能?
在快节奏的现代生活中,家政服务已成为许多家庭的必需品。针对传统家政服务存在的问题,如服务质量不稳定、价格不透明等,我们历时两年开发了一套全新的上门家政系统。该系统通过完善信用体系、提供奖励机制、优化复购体验、多渠道推广和多样化盈利模式,解决了私单、复购、推广和盈利四大痛点,全面提升了服务质量和用户体验,旨在成为家政行业的领导者。
|
1月前
|
JavaScript 前端开发 小程序
uniapp一个人开发APP关键步骤和考虑因素
uniapp一个人开发APP关键步骤和考虑因素
123 1
uniapp一个人开发APP关键步骤和考虑因素
|
1月前
|
JavaScript 前端开发 UED
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
Vue与uni-app开发中通过@font-face巧妙引入自定义字体
73 9
|
1月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
192 1
|
16天前
|
机器人
布谷直播App系统源码开发之后台管理功能详解
直播系统开发搭建管理后台功能详解!
|
1月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
547 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
1月前
|
存储 安全 开发工具
百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
本文主要介绍了百度公共IM系统的Andriod端IM SDK的建设背景、IM SDK主要结构和工作流程以及建设过程遇到的问题和解决方案。
53 3