多维详述MediaBox互动直播AUI Kit低代码开发方案

news2024/11/28 14:36:27
本专栏将分享阿里云视频云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并获取了访问域名。搭建步骤,请参见官网的服务端集成:互动直播场景_音视频终端 SDK_阿里云帮助中心

  • 工程配置

针对不同平台,您还需要进行相关的工程配置,如:权限配置、Android的混淆配置、Maven仓库地址,iOS的编译配置等。

通过以上步骤,即可快速接入阿里云视频云互动直播能力,更多集成过程细节可参见官网:互动直播场景_音视频终端 SDK_阿里云帮助中心

04 展望

MediaBox互动直播AUI Kit将持续朝着高可用、高易用、场景化的目标进行迭代。产品层面,通过深挖客户需求,做好行业调研,满足不同客户的音视频场景需求;技术层面,通过一体化架构融合,持续提升解决方案的易用性、可靠性和先进性,从而帮助企业以更灵活、更快速、更敏捷、更低成本的方式接入互动直播。

如果您在接入或使用互动直播AUI Kit中有任何问题或建议,欢迎加入AUI客户支持钉钉群,与我们交流分享:钉钉群链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1192441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Word自定义配置,超简单,图文并茂】自定义Word中的默认配置,比如标题大小与颜色(参考科研作图配色),正文字体等

▚ 01 自定义样式Styles中的默认标题模板 📢自定义标题的显示效果,如下图所示: 1.1 自定义标题的模板Normal.dotm 1.1.1 选择所需修改的标题 新建一个空白Word文档,依次选择菜单栏的开始Home,样式Styles,…

2023最新版本 FreeRTOS教程 -10-事件组(通过5种情况快速上手)

事件组对应单个事件触发或多个事件同时触发的场景 创建事件组函数 EventGroupHandle_t xEventGroupCreate( void );删除事件组函数 void vEventGroupDelete( EventGroupHandle_t xEventGroup )设置事件 在任务中使用xEventGroupSetBits() 在中断中使用xEventGroupSetBits…

注解和反射实现Excel导入导出

目录 使用实例 定义三个注解 /*** 设置允许导出*/ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface EnableExport {String fileName();} /*** 设置该字段允许导出* 并且可以设置宽度*/ @Target(ElementType.FIELD) @Retention(RetentionP…

高级算法复习

时间代价 主定理 递归树 排序 贪心算法 贪心选择性(Greedy-choice property): 通过做出局部最优(贪婪)选择,可以得出全局最优解——这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划…

使用Nginx和Spring Gateway为SkyWalking的增加登录认证功能

文章目录 1、使用Nginx增加认证。2、使用Spring Gateway增加认证 SkyWalking的可视化后台是没有用户认证功能的,默认下所有知道地址的用户都能访问,官网是建议通过网关增加认证。 本文介绍通过Nginx和Spring Gateway两种方式 1、使用Nginx增加认证。 生…

用 winget 在 Windows 上安装 kubectl

目录 kubectl 是什么? 安装 kubectl 以管理员身份打开 PowerShell 使用 winget 安装 kubectl 测试一下,确保安装的是最新版本 导航到你的 home 目录: 验证 kubectl 配置 kubectl 是什么? kubectl 是 Kubernetes 的命令行工…

【C#】Mapster对象映射的使用

系列文章 【C#】编号生成器(定义单号规则、固定字符、流水号、业务单号) 本文链接:https://blog.csdn.net/youcheng_ge/article/details/129129787 【C#】日期范围生成器(开始日期、结束日期) 本文链接:h…

Sectigo SSL

Sectigo(前身为ComodoCA)是全球在线安全解决方案提供商和全球最大的证书颁发机构。为了强调其在SSL产品之外的扩张,Comodo在2018年更名为Sectigo。新名称减少了市场混乱,标志着公司向创新的全方位网络安全解决方案提供商过渡。 S…

openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群

openEuler 系统使用 Docker Compose 容器化部署 Redis Cluster 集群 Redis 的多种模式Redis-Alone 单机模式Redis 单机模式的优缺点 Redis 高可用集群模式Redis-Master/Slaver 主从模式Redis-Master/Slaver 哨兵模式哨兵模式监控的原理Redis 节点主客观下线标记Redis 节点主客观…

UnoCSS框架常用语法

文章目录 🍉vscode 开发插件🍉设置边框颜色🍉设置宽、高、背景色、外边距🍉设置flex🍉设置元素在滚动时固定在指定区域内🍉vscode 开发插件 vscode 开发建议安装 UnoCSS插件 🍉设置边框颜色 border-[color]: 设置边框的颜色,[color]可以是预设的颜色名称(如…

自学考试到底难不难?

自学考试难度谈不上大,其难度系数本身并不高,然而有几个难点,需要克服。 #自学#首先,要具备较强的信息搜集能力。zbb990101 从报名到毕业,考生需要主动关注各类考试动态,如专业选择、报名流程、采购教材、…

React【axios、全局处理、 antd UI库、更改主题、使用css module的情况下修改第三方库的样式、支持sass less】(十三)

文件目录 Proxying in Development http-proxy-middleware fetch_get fetch 是否成功 axios 全局处理 antd UI库 更改主题 使用css module的情况下修改第三方库的样式 支持sass & less Proxying in Development 在开发模式下,如果客户端所在服务器跟后…

Java poi给docx中的关键字标记颜色

Java poi给docx中的关键字标记颜色 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency><groupId>org.apache.poi</groupId>&l…

k8s 部署mqtt —— 筑梦之路

mqtt是干嘛的&#xff0c;网上有很多资料&#xff0c;这里就不再赘述。 --- apiVersion: apps/v1 kind: Deployment metadata:labels:app: mqttname: mqttnamespace: default spec:replicas: 1selector:matchLabels:app: mqttstrategy:rollingUpdate:maxSurge: 25%maxUnavaila…

鲁大师10月新机性能/流畅/久用榜:骁龙8 Gen3一鸣惊人,双十一“6系”处理器成井喷状态

刚刚过去的10月份手机圈可谓是热闹纷呈,要数量有数量,要新品有新品,要旗舰有旗舰,要走量也有走量。10月份的大部分光芒,毫无疑问都将被骁龙8 Gen3以及重夺骁龙旗舰首发的小米 14系列身上。 骁龙8 Gen3毫无疑问,代表着骁龙旗舰处理器的又一个巅峰,从目前鲁大师后台抓取到的数据…

计算机毕业设计:基于python机器学习的全国气象数据采集预测可视化系统 预测模型+爬虫(包含文档+源码+部署教程)

[毕业设计]2023-2024年最新最全计算机专业毕设选题推荐汇总 感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;希望帮助更多的人 。 1、摘 要 随着气候变化的不断加剧&#xff0c;气象数据的准确性…

starrocks 内部表 varchar(num) 和 String 怎么选

盲选string varchar可能会因为脏数据 长度过长出现报错

【FPGA】正确处理设计优先级--或许能帮你节省50%的资源

概述 假如现在有一种方法–可以在不怎么需要修改已有设计的情况下&#xff0c;就可以帮您节省50%的设计资源&#xff0c;那你会试试看吗&#xff1f; 当前市场环境下&#xff0c;更低廉的成本却可获得同等性能无疑是极具诱惑的。本文将介绍一种FPGA设计技术&#xff0c;该技术…

“云芯一体”赋能位置应用,真点高精度定位服务正式发布

11月9日&#xff0c;北斗星通旗下企业真点科技正式发布了云芯一体高精度定位服务——TruePoint.CM(厘米级定位服务)和TruePoint.DM&#xff08;分米级定位服务&#xff09;。 此次发布会在第一届测绘地理信息大会期间举办&#xff0c;中国测绘学会宋超智理事长、中国卫星导航定…

Vue.Draggable 踩坑:add 事件与 change 事件中 newIndex 字段不同之谜

背景 最近在弄自定义表单&#xff0c;需要拖动组件进行表单设计&#xff0c;所以用到了 Vue.Draggable(中文文档)。Vue.Draggable 是一款基于 Sortable.js 实现的 vue 拖拽插件&#xff0c;文档挺简单的&#xff0c;用起来也方便&#xff0c;但没想到接下来给我遇到了灵异事件……