本专栏将分享阿里云视频云MediaBox系列技术文章,深度剖析音视频开发利器的技术架构、技术性能、开发能效和最佳实践,一起开启音视频的开发之旅。本文为MediaBox最佳实践篇,重点从互动直播AUI Kit的核心能力、技术架构、快速集成等方面,介绍如何通过低代码快速接入互动直播视频业务。
明静|作者
随着互联网技术的发展和网络基础设施的升级,音视频行业蓬勃发展,其中,直播以肉眼可见的速度,深入千行百业,成为一项全民级的音视频互动形式,不仅改变了人们的生活方式,也深刻影响了经济社会的发展。
在此浪潮下,传统行业也开始积极探索数字化转型,各细分赛道的音视频需求不断增长,通过直播赋能产业升级转型,已成为各行业共识。
然而,直播技术看似平常,却涉及到非常多技术环节,从音视频采集、前后处理、编解码、渲染,到传输、分发等,音视频开发链路长,开发门槛高,技术复杂度很高。从0到1搭建一套直播系统难度极大,令很多企业望而却步。
如何帮助传统企业,从复杂的直播系统工程中抽身,从而更好地聚焦在业务本身?场景化的互动直播解决方案应运而生。
01 互动直播AUI Kit
概念说明
互动直播AUI Kit,是阿里云基于一系列MediaBox音视频终端SDK,进行模块化封装,形成的直播场景下的低代码解决方案。
基于通用直播场景的能力诉求,互动直播AUI Kit严格遵循高可用的要求设计,实现了直播、点播、连麦互动、聊天弹幕、回放等功能;同时遵循高易用的要求,支持一键接入,助力企业快速落地,打造属于自己的个性化直播平台。
核心能力
一键开播:集成互动直播AUI Kit低代码开发方案,主播可以通过电脑、手机、直播一体机等设备开播,来吸引观众;观众可以通过直播间列表进行直播观看,或者通过快捷入口观看直播回放,从而满足不同观看需求。
美颜特效:互动直播AUI Kit支持基础美颜功能,主播可以按照直播需求,自行设置美白、磨皮、锐化、红润等效果,轻松打造百万粉丝“颜值主播”。
聊天弹幕:直播间支持聊天弹幕,满足主播助手和观众的实时互动需求,通过分享、点赞等功能的支持,提升直播间观看人数和活跃度;同时,互动直播AUI Kit还支持设置直播间公告及禁言等,进一步方便直播间的管理。
连麦PK:互动直播AUI Kit方案支持主播与观众的连麦互动,调动直播间气氛,支持连麦PK、多人互动等直播能力,同时也支持对连麦/PK用户的状态进行管理。
录制回放:接入互动直播AUI Kit之后,可支持直播的录制回放,快速生成精彩短视频,以便直播中、直播后的二次传播,大幅提升内容传播效率。
02 技术架构
技术实现
互动直播AUI Kit方案,包含客户端的UI组件以及后端的服务组件。
客户端UI组件基于MediaBox SDKs,提供标准化的开源UI组件,包括推流、播放、房间引擎、美颜特效、IM互动、弹幕等基础组件。组件支持一键引入,集成方可以根据自身业务需求,按需集成,从而降低研发成本,缩短研发周期,并提升了业务效果。
后端服务组件可部署在客户APP Server上,直接访问阿里云直播中心,即可接入直播间管理、连麦管理、回放配置、视频审核、评论审核、数据接口等能力。更重要的是,以源代码或是镜像形式交付,提供一套基于函数计算(FC)、容器镜像或源代码等方式构建,灵活部署、灵活定制的后台服务,用户只需要5~10分钟即可完成后台服务搭建,大大减轻用户音视频开发成本。
另外,App Server已经对接了常用的直播审核、云端录制等PaaS层功能,方便客户一站式集成多种音视频能力。同时,客户端组件会与服务端AppServer进行交互,从而实现核心的场景化业务逻辑。
为了保证互动直播AUI Kit基础组件的灵活性、可扩展性,我们针对基础组件,定义了抽象化接口,在提供一套标准实现方案的同时,也把可选择权交给用户。用户可按照自身需求,选择其它原子能力的SDK作为解决方案,来实现自身的业务需求,这样也最大程度保证了用户在二次开发时的灵活可控,真正做到“高内聚、低耦合”。
架构优势
MediaBox互动直播AUI Kit低代码方案,基于阿里云技术底座和长期音视频实践打磨,为客户提供稳定可靠的音视频直播服务。一方面,通过阿里云的优质节点和带宽保障秒级时延,支撑千万级直播并发能力;另一方面,通过SDK内部的数据体系、稳定性体系、自动化测试体系、性能评测体系,有效保障业务稳定运行。
- AUI组件层面:组件一体化
为了达到高可用、高易用、统一规范的设计目标,互动直播AUI Kit场景化解决方案,将基础组件高度复用,实现了多端体验的一致性。同时,我们也提供了一些易用工具,方便客户使用脚本一键引入,从而极大提升客户的集成效率。
- MediaBox SDK层面:SDK一体化
为了实现音视频SDK的高易用性和高灵活性,MediaBox SDK提供多种组合包形式,降低了整体SDK包大小,以供客户灵活选用、高效接入。客户只需要关心自己业务范围,来选取更适合自己业务的SDK类型即可。
在保证MediaBox的高可靠性和高性能方面,不同SDK共用同一套通用组件,不仅实现了采集、前后处理、编解码、封装/解封装、渲染等音视频基础组件的统一,也实现了如:Crash捕获、License授权、埋点上报等基础业务组件的统一,在优化SDK稳定性的同时,也提升了SDK的性能。
- 端云协同层面:云端一体化
依托于阿里云多元融合流媒体传输网络MediaUni全球3200+节点的高可靠服务,我们为用户提供更近的接入节点、更优的网络传输线路,从而降低端到端延时,并通过长期验证与优化QoS/QoE所积累的经验,提升用户的视频体验。
同时,基于视频云卓越的音视频技术能力,我们还提供全方位云上服务,如:视频直播服务、视频点播服务、智能媒体服务等,涵盖了录制、混流、转码、审核等丰富的媒体处理能力,为客户提供稳定、简便、高效的一站式音视频解决方案,满足全行业多场景音视频业务需求。
03 快速集成
本节介绍如何在您的App工程中快速集成AUI Kits,从而实现互动直播功能,具体可分为以下四步骤:
- 导入源码
从阿里云产品官网或GitHub上获取互动直播的代码仓库,按照实际的业务需求,将对应的基础组件模块,导入到自己的项目工程中。
- 配置License
MediaBox AUI Kits和MediaBox SDKs拥有统一的License获取方式。您可以在阿里云控制台申请如直播推流、短视频、播放器、美颜特效等模块的License使用权限,也可以对各个模块的License进行管理。
配置License的前提是,您已获取音视频终端SDK相关能力的License授权。
- 初始化调用
初始化调用包含几部分,注册项目类型,和替换APP Server地址。每个工程中App目录下提供了一个Manager类,参考setup()方法,即可完成初始化调用。
替换APP Server地址的前提是您已经搭建AppServer并获取了访问域名。搭建步骤,请参见官网的服务端集成:https://help.aliyun.com/document_detail/2401374.html
- 工程配置
针对不同平台,您还需要进行相关的工程配置,如:权限配置、Android的混淆配置、Maven仓库地址,iOS的编译配置等。
通过以上步骤,即可快速接入阿里云视频云互动直播能力,更多集成过程细节可参见官网:https://help.aliyun.com/document_detail/2401374.html
04 展望
MediaBox互动直播AUI Kit将持续朝着高可用、高易用、场景化的目标进行迭代。产品层面,通过深挖客户需求,做好行业调研,满足不同客户的音视频场景需求;技术层面,通过一体化架构融合,持续提升解决方案的易用性、可靠性和先进性,从而帮助企业以更灵活、更快速、更敏捷、更低成本的方式接入互动直播。
如果您在接入或使用互动直播AUI Kit中有任何问题或建议,欢迎加入AUI客户支持钉钉群,与我们交流分享:https://qr.dingtalk.com/action/joingroup?code=v1,k1,406j3FqsuYc34fJsJ5MLL+bq6HdzZUbKjY3JeD++AEc=&_dt_no_comment=1&origin=11