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

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

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

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

原文地址:http://blog.51cto.com/13932627/2176980

时间: 2024-10-02 06:49:20

短视频SDK架构设计,短视频APP开发目标首选的相关文章

短视频APP开发依赖于短视频SDK的设计

优秀的短视频APP开发,首先要选择一个优秀的短视频SDK,短视频SDK集短视频采集.上传.存储.分发.播放于一体,借助短视频SDK.上传加速.不限量存储.稳定快速的 CDN 及播放器 SDK,为用户提供专业可靠的短视频系统解决方案.1.功能强大断点续传和回删: 支持上传下载断点续拍,回删.人脸识别和动态贴纸:提供海量动态贴纸,可自动识别人脸贴图,增加短视频趣味.专业滤镜:提供海量美颜滤镜,支持实时美颜,自定义 0~100%美颜程度.自定义背景音乐:拥有海量不同场景背景音乐,用户可轻松选取背景音乐

优酷、YouTube、Twitter及JustinTV视频网站架构设计

优酷视频网站架构 一.网站基本数据概览 据2010年统计,优酷网日均独立访问人数(uv)达到了8900万,日均访问量(pv)更是达到了17亿,优酷凭借这一数据成为google榜单中国内视频网站排名最高的厂商.     硬件方面,优酷网引进的戴尔服务器主要以 PowerEdge 1950与PowerEdge 860为主,存储阵列以戴尔MD1000为主,2007的数据表明,优酷网已有1000多台服务器遍布在全国各大省市,现在应该更多了吧. 二.网站前端框架 从一开始,优酷网就自建了一套CMS来解决前

2、架构设计 --短信平台开发

二.架构设计 1.网络架构设计 由于单位网络问题,平常使用的内网(管理网)不能直接连接互联网,需要由外联网中介.同时由于安全策略的缘故,外联网与管理网是单向访问(外联网不能访问管理网,管理网可以访问外联网),所以数据库只能放在外联网上. 网站架构图如下 2.下行短信发送 这个流程画时序图比流程图更直观一点. 首先第三方系统调用短信平台的WebService接口,将下行短信数据存入数据库. 然后由外联网的Windows服务循环访问数据库,若有数据则调用移动云MAS组件,将短信信息发送到云MAS平台

架构设计杂谈001-软件开发人员的成长之路

软件开发人员的成长路线-1 从技术方面来看,基本上就三条主要路线: 1.纯技术路线: 高级开发人员 →系统设计人员→架构师→资深技术专家/资深架构师 2.技术管理路线: 研发型技术管理高级开发人员→ 系统设计人员→架构师 →技术管理人员→CTO/技术副总 项目型技术管理高级开发人员 →系统设计人员/ Team Leader →技术经理/技术总监 3.创业路线:高级开发人员→ 系统设计人员 →架构师 → 创业→当老板 ●架构师--软件开发人员的必经之路 软件开发人员的成长路线-2 转行或转技术周边

0. 视频监控系统架构设计

0.视频监控系统架构设计 0.1.功能指标 (1)搭建共享文件夹 (2)实现Ubuntu的NAT上网和桥接上网 (3)搭建局域网 (4)搭建nfs服务器.tftp服务器 (5)将uboot.kernel.rootfs镜像文件下载到开发板中 (6)移植MPP,ORTP库和WiFi库 (7)编写应用程序实现RTP/RTCP传输视频流,实现有线传输和无线传输 0.2.架构搭建 该系统中主控 CPU 采用HI3518EV200作为核心,通过在HI3518E芯片上运行linux,构建嵌入式平台, 接收来自

当前一种先进实用的架构设计

目录 1系统架构图...1 2架构设计...3 2.1项目开发环境...3 2.2运行环境要求:...3 2.3 服务器架构平台:...4 2.4.架构逻辑设计...5 2.4.1 LVS+KEEPLIVED+SQUID+HAPROXY+JBOSS集群...5 2.4.2mysql集群...6 2.4.3fastdfs图片服务器集群...8 2.4.4acveMQ服务器集群...8 3 架构剖析...10 3.1负载均衡器解析...10 3.2 lvs解析...11 3.3keeplived解析

一种Android客户端架构设计分享

转载请注明出处:http://blog.csdn.net/ahence/article/details/56678126 技术发展日新月异,业界各种Android客户端架构设计,五花八门,但我们不能简单地说哪种架构更好,因为脱离业务谈架构是没有任何意义的,适合业务的才是好架构.而架构也不是一成不变的,随着业务的发展,也许当初设计的架构已不足以支撑目前的业务,那么就需要改变之前的架构.接下来将分享下我们Android客户端的架构设计,在App的某个业务发展阶段或许有一些参考意义. 分层化与模块化

架构设计的方法学

约公元前25年,古罗马建筑师维特鲁威说:"理想的建筑师应该既是文学家又是数字家,他还应通晓历史,热衷于哲学研究,精通音乐,懂得医药知识,具有法学造诣,深谙天文学及天文计算."(好难哪,软件构架设计师的要求呢?大家好好想想吧.)   本文目录   一.与构架有关的几个基本概念:   二.构架设计应考虑的因素概揽:   三.程序的运行时结构方面的考虑:   四.源代码的组织结构方面的考虑:   五.写系统构架设计文档应考虑的问题   六.结语   一.与构架有关的几个基本概念:   1.模

Android架构设计和软硬整合完整训练:HAL&Framework&Native Service&Android Service&Best Practice

如何理解Android架构设计的初心并开发出搭载Android系统并且具备深度定制和软硬整合能力特色产品,是本课程解决的问题. 课程以Android的五大核心:HAL.Binder.Native Service.Android Service(并以AMS和WMS为例).View System为主轴,一次性彻底掌握Android的精髓. 之所以是开发Android产品的必修课,缘起于: 1, HAL是Android Framework&Application与底层硬件整合的关键技术和必修技术: 2