本专栏将分享阿里云视频云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

多维详述MediaBox互动直播AUI Kit低代码开发方案的更多相关文章

  1. 从Html5直播到互动直播,看直播协议的选择

    目前,国内主流的直播协议有HLS.RTMP.HTTP FLV,适用于不同的直播场景. 一.HLS.RTMP与HTTP FLV 1.HLS HLS 全称是 HTTP Live Streaming, 是一 ...

  2. 基于声网 Flutter SDK 实现互动直播

    前言 互动直播是实现很多热门场景的基础,例如直播带货.秀场直播,还有类似抖音的直播 PK等.本文是由声网社区的开发者"小猿"撰写的Flutter基础教程系列中的第二篇,他将带着大家 ...

  3. EasyNVR网页H5无插件播放摄像机视频功能二次开发之直播通道接口保活示例代码

    背景需求 随着雪亮工程.明厨亮灶.手机看店.智慧幼儿园监控等行业开始将传统的安防摄像头进行互联网.微信直播,我们知道摄像头直播的春天了.将安防摄像头或NVR上的视频流转成互联网直播常用的RTMP.HT ...

  4. RBF网络——核心思想:把向量从低维m映射到高维P,低维线性不可分的情况到高维就线性可分了

      RBF网络能够逼近任意的非线性函数,可以处理系统内的难以解析的规律性,具有良好的泛化能力,并有很快的学习收敛速度,已成功应用于非线性函数逼近.时间序列分析.数据分类.模式识别.信息处理.图像处理. ...

  5. iNeuOS工业互联网操作系统,设备运维业务和“低代码”表单开发工具

    目       录 1.      概述... 2 2.      设备运维业务... 3 3.      "低代码"表单开发工具... 6 1.   概述 iNeuOS工业互联网 ...

  6. 使用腾讯互动直播 遇到的坑 'GLIBC_2.14' not found 问题解决

    第一.查看系统glibc版本库 strings /lib64/libc.so.6 |grep GLIBC_ 这里我们可以看到系统中最新的版本是2.12,这里我们升级2.14. 第二.下载和安装glib ...

  7. EasyNVR摄像机网页H5全平台无插件直播流媒体播放服务二次开发之接口鉴权示例讲解

    背景需求 EasyNVR的使用者应该都清楚的了解到,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理可以 ...

  8. 实时监控、直播流、流媒体、视频网站开发方案流媒体服务器搭建及配置详解:使用nginx搭建rtmp直播、rtmp点播、,hls直播服务配置详解

    注意:这里不会讲到nginx流媒体模块如何安装的问题,只研究rtmp,hls直播和录制相关的nginx服务器配置文件的详细用法和说明.可以对照这些命令详解配置nginx -rtmp服务 一.nginx ...

  9. C# 动态生成word文档 [C#学习笔记3]关于Main(string[ ] args)中args命令行参数 实现DataTables搜索框查询结果高亮显示 二维码神器QRCoder Asp.net MVC 中 CodeFirst 开发模式实例

    C# 动态生成word文档 本文以一个简单的小例子,简述利用C#语言开发word表格相关的知识,仅供学习分享使用,如有不足之处,还请指正. 在工程中引用word的动态库 在项目中,点击项目名称右键-- ...

  10. 利用Swoole实现PHP+websocket直播,即使通讯代码,及linux下swoole安装基本配置

    swoole安装基本配置 php安装swoole 1. 下载swoole安装 wget http://pecl.php.net/get/swoole-1.9.1.tgz tar -zxvf swool ...

随机推荐

  1. pyinstaller 安装报错,环境是python3.7

    在pycharm中安装,和直接输入pip install pyinstaller 均报错, 最后,输入pip install -i https://pypi.douban.com/simple/ py ...

  2. rpm安装21c单实例数据库

    linux 7.6 使用rpm安装21c单实例数据库 一.基础环境配置 1.1 关闭防火墙 systemctl stop firewalld systemctl disable firewalld s ...

  3. rest-apiV2.0.0升级为simplest-api开源框架生态之simplest-jpa发布

    什么是 simplest simplest 追求存粹简单和极致. 旨在为项目快速开发提供一系列的基础能力,方便用户根据项目需求快速进行功能拓展 不在去关心一些繁琐.重复工作,而是把重点聚焦到业务. 前 ...

  4. 医疗知识图谱问答 ——Neo4j 基本操作

    前言 说到问答机器人,就不得不说一下 ChatGPT 啦.一个预训练的大预言模型,只要是人类范畴内的知识,似乎他回答得都井井有条,从写文章到写代码,再到解决零散琐碎的问题,不光震撼到我们普通人,就百度 ...

  5. 【算法】用c#实现德州扑克卡牌游戏规则

    德州扑克是一种牌类游戏,可多人参与,它的玩法是,玩家每人发两张底牌,桌面依次发5张公共牌,玩家用自己的两张底牌和5张公共牌自由组合,按大小决定胜负. 使用c#完成功能Hand()以返回手牌类型和按重要 ...

  6. SpringBoot3安全管理

    目录 一.简介 二.工程搭建 1.工程结构 2.依赖管理 三.配置管理 1.核心配置类 2.认证数据源 3.认证流程 4.身份过滤器 四.核心功能 1.登录退出 2.权限校验 五.参考源码 标签:Se ...

  7. .Net AsyncLocal介绍

    AsyncLocal的基本概念 AsyncLocal是一个在异步环境中存储和传递状态的类型.它允许你在线程或任务之间共享数据,而不会受到异步上下文切换的影响. 每一个异步的AsyncLocal的数据都 ...

  8. [ABC128D] equeue

    2023-01-14 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 暴力,贪心 解题思路 由题意可以得出,数据只有 \(n \leq 50,k ...

  9. Electron创建项目并打包生成exe

    安装nodejs 访问这个网站去下载 http://nodejs.cn/download/ 创建项目 创建项目 git clone https://github.com/electron/electr ...

  10. numpy_tricks

    Numpy Tricks 这篇文章不定期更新,主要是记录在使用numpy过程中一些有效的tricks(或者重要的API) import numpy as np numpy.where() numpy. ...