如何设计一款优秀的短视频 SDK

发布时间:2020-06-21 23:08:31 作者:Jhuster
来源:网络 阅读:12354

2017 年,短视频成为了内容创业的新风口,各种短视频 App 如雨后春笋般先后上线,随着互联网内容消费升级,视频越来越像文字、图片一样,成为每一个 App 不可或缺的一部分。


为了能够更好地聚焦于业务,早日完成短视频 APP 的上线,越来越多的公司倾向于选择一家靠谱的短视频 SDK 来起步,怎么定义靠谱?要关注哪些指标?仅功能满足就可以了吗? —— 显然不够,下面我们看看,如何才能设计一款优秀的短视频 SDK ?


1. 包体一定要尽可能小


在移动互联网时代,App 的包体大小,对获取用户有着至关重要的作用,特别是在线下的推广活动中,包体太大,下载费时费流量,很多用户会失去耐心,从而直接导致 App 的推广效果大打折扣。


而 App 的包体大小,除了自身的代码量,也会受到第三方库的包体影响,因此,短视频 SDK 包体越小,对于减小 App 包体大小越有帮助,开发者才会越喜欢。


那么,如何做到尽可能的减小 SDK 的包体呢 ?



2. SDK 一定要开放


使用第三方的 SDK,最怕的是像个黑盒,过于封闭,想配置的参数无法配置,需要的状态也没有回调,直接导致产品经理给出的 UI 和交互方案无法实现。因此,SDK 的开放性,越来越成为开发者选型的关键因素。


那么,SDK 如何做到尽可能的开放呢 ?



另外,还需要尽可能地跟 SDK 上下游厂商建立良好的合作关系,比如 美颜、滤镜、人脸贴纸特效、大眼瘦脸等供应商,让客户可以随时快速接入和替换任意一家厂商,从而加快产品迭代和上线的速度。


3. 性能要好


虽然随着时间的推移,手机的性能越来越强大,但是 CPU 居高不下、发热厉害、内存消耗大、运行速度慢的 App 终究还是会失去很多宝贵的用户,因此,无论是 App 本身,而是第三方 SDK,性能永远是值得关注的重点。


SDK 如何做到更好的性能呢 ?其实就一条:充分地利用 GPU,尽一切可能减少 CPU 消耗,对于短视频 SDK 的开发而已,具体来说有哪些值得关注的点呢 ?



4. UI 和 SDK 逻辑要彻底的分离


优秀的 SDK,一定要尽可能避免把 UI 的界面和逻辑包含进去,不然 SDK 的使用者,很难满足产品经理的 UI 和交互设计要求,做出差异化的效果。


那么,SDK 如何做到与 UI 逻辑彻底地分离呢 ?


需要充分分解每一个短视频的功能需求,搞清楚每一个需求的实现原理,哪部分是 UI 的,哪部分是核心的,前者写到 DEMO 上,而后者则写入 SDK 里面


就拿短视频剪辑这个功能点来举个例子,下图所示是短视频的一个热点功能,对短视频截取中间某一段片段。


如何设计一款优秀的短视频 SDK


仔细思考这个功能点,其实关键点在于:


1. 获取视频中的连续图像在列表中进行展示

2. 绘制左右游标,以确定剪辑的起始和结束的时间点

3. 读取视频文件,丢弃时间区间以外的视频帧,保留剩余视频帧


属于 UI 的部分:


1. 用列表显示视频帧图像

2. 绘制左右游标,支持手势拖动

3. 根据视频的总时长和游标的位置,计算出起始和结束的时间点


属于 SDK 的部分:


1. 提供视频的时长

2. 提供视频帧总数

3. 提供解码后的每一帧视频数据

4. 提供剪辑函数,参数为:起始和结束的时间戳

5. 完成剪辑处理,输出剪辑后的视频文件


这样分离好了之后,再去编写 SDK 的接口和 UI 的 demo 代码,就非常清晰了。


5. 稳定可靠,有更好的可支持性


优秀的 App 和 SDK,首先一点就是要稳定可靠,因为没有人会喜欢经常崩溃的程序。不过,没有人敢说自己的程序是完美的,不会有任何 BUG 的,但是,具备良好的可支持性的产品,往往更容易受到亲赖。


什么是可支持性 ?举个例子,就像家里买的某些品牌的洗衣机或者空调,在出故障的时候,液晶屏幕上会打出一些错误码,当你给售后打电话的时候,售后往往能够根据描述的信息以及错误代码很快地定位到问题或者给出临时的解决方案。


如何让短视频 SDK 具有更好的可支持性呢 ?关键在于一套健全而规范的日志系统,可以有效提高技术支持和开发者排查问题的速度和效率,那么,设计这样一套完善的日志系统,有哪些关键点呢 ?



6. 小结


总而言之,设计一款优秀并且口碑好的短视频 SDK,并不是简简单单堆积一些功能就够了,其背后还是要花费不少心血的。


我在七牛主导设计和开发了一款 Android/iOS 平台的 短视频 SDK, 不仅 SDK 包体小、性能优异、稳定可靠,而且开放易用,有着健全的生态链,真真切切是一款良心之作,欢迎大家申请试用。


推荐阅读:
  1. Android多人视频聊天应用的开发(一)快速集成
  2. 一个优秀的Android应用从建项目开始

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sdk android 音视频

上一篇:exchange 2010对手机邮箱执行远程擦除

下一篇:巧用命令行工具UCloud CLI,轻量操作API管理云资源

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》