写点什么

声网 Agora 初体验

用户头像
若尘
关注
发布于: 2021 年 04 月 11 日
声网 Agora 初体验

声网 Agora 初体验

1. 简介

  • 官网:声网 agora

  • 初次使用 Agora,首先我们要先了解一下 Agora 到底是一个什么平台

  • Agora

  • 直播、连麦、教学、语音房间开黑【音视频引擎】

  • 赋予 App 实时音视频能力

  • 诸如一些直播平台:MOMO,教学平台:新东方 等都用到了 Agora 服务

2. 注册登录

  • 在网站首页点击 注册/登录 


  • 然后输入信息注册即可【这里我使用 Github 账号直接登录】,注册登录后我们会看到如下界面 


  • 这里我们先不进行其他操作,先来了解一下他的 SDK 等等【作为一名开发者,第一个想到的不就是 SDK or API 吗😏】

3. SDK

  • Agora 的 SDK 主要分为下面几类


4. 频道模式

  • 通信模式

  • 所有用户的角色平等,进频道即可发音视频

  • 默认软编码

  • 传输中流畅度优先保证

  • 直播模式

  • 用户角色提供两种选择:主播,观众。主播默认可以发音视频,观众只能听和看,无法发送任何数据

  • 切换主播观众身份的方法是 setclientrole,频道内随时切换都可以生效

  • 默认硬编码

  • 传输中画质优先保证


软编码 & 硬编码

  • 软编码

  • 使用 CPU 编码

  • 实现直接、简单,参数调整方便,升级易,但 CPU 负载重,性能较硬编码低,低码率下质量通常比硬编码要好一点

  • 硬编码

  • 使用非 CPU 编码,如显卡 GPU、专用的 DSP、FPGA、ASIC 芯片等

  • 性能高,低码率下通常质量低于软编码器【但部分产品在 GPU 硬件平台移植了优秀的软编码算法(如 x264)的,质量基本等同于软编码】

  • 简单的说,比如求圆的面积 s = 3.14 * r * r 为硬编码 s = PI * r * r 不是硬编码

  • 可以看出,软编码容易修改,而硬编码不能够改变,所以一般情况我们要避免使用硬编码

5. 使用 SDK 接入声网服务步骤

  • 注册账号

  • 创建项目 App ID

  • 项目管理中创建新的项目 


  • 我们选择上面这个 AppID + Token,AppID 和 Token 后面会用到 


  • 保存该项目的 App ID 


  • SDK 初始化 API

  • 初始化相关

  • SDK 要通信之前必须要连入声网的 SDRTN 网络

  • 初始化引擎 【App ID】

  • 设置频道模式【通信模式 or 直播模式】

  • 加入自定义频道 “xxx”【join channel】


SDK 之间互通的条件,AppID、频道模式、频道名均一致,并且同一个用户同一时间只能在同一个频道,频道里不同的用户用唯一的 Uid 来区分【Uid 在同频道中不可以重复】

6. 第一个 Agora 项目

  • 通过 Github 获取 Windows 示例代码并在本地运行,Github 项目地址:Windows Tutorial - 1to1

  • 首先将 Github 代码克隆到本地


大家网慢进不去 Github 的话,我这里将下载好的文件放在了百度网盘,需要可自行下载链接:https://pan.baidu.com/s/1z5ZY14qrNy8zJfmILCpizg 提取码:2xqw


  • 集成 Agora 视频 SDK

  • 下载视频 Windows SDK,下载地址:声网 SDK 下载 

  • 下载解压后我们看到如下两个文件 

  • 然后将 libs\include 中的文件,复制到 Agora-Windows-Tutorial-1to1 下的 sdk\include 文件夹下【这里貌似没有这个文件夹,我们新建一个就好】。并将 libs\x86 下的 dlllib 文件分别复制到 sdk\dllsdk\lib 文件夹下,如下 

  • AppID & Access Token 配置

  • 前面我们已经注册好了账号,并且新建了一个 App,我们将自己的 AppID 替换至 APP_ID 宏定义 


  • Token:

  • 点击这个钥匙图标 

  • 创建临时 Token 



  • 如果前面选择的是只有 AppID,这里就要手动进行启用 Token,显示要先启用 APP 证书后才能启用临时 Token 

  • 我们点击 Edit 

  • 启动 App 主要证书【用于生成临时 Token 和 正式 Token】 


  • 将 Token 填入对应的宏定义 

  • 然后运行程序注意这里要选择 Release,不要选择默认的 Debug

  • 然后我们输入刚才创建临时 Token 时的频道名称【我的是 ruochen】,然后就能看到自己的摄像头 

7. Agora 成功案例

  • 一些集成了声网的 SDK,基本已经成型的 APP

  • Beckon 使用了纯音频的 SDK,使用了通信模式,支持多人通话

  • Agora Video Call 使用了音视频模式,采用了通信模式,可以实时视频

  • Agora Live 简单的直播应用,使用了音视频 SDK,采用了直播模式

  • 分贝 使用了音视频 SDK,增加了更复杂 & 时下火热的场景的实现【麦序麦位、听歌、聊天】

8. 问题处理

  • 开发者社区 > 在线论坛

  • 发帖等等

  • 问题分类

  • demo 索引

  • 论坛还是很有帮助的

end. 3.0 新版本概览

最后,大概介绍一下 3.0 新特性


  • Native SDK 3.0 结合人工智能算法

  • 使用了业界较强编码和传输算法

  • 优化网络策略,Last Mile 传输策略

  • 进一步提升实时音视频业务在高拥堵和高丢包网络环境下的流程性

  • 使用场景

  • 在线合唱

  • 音乐教学

  • 语音聊天房全频带采样与音乐编码结合

  • 新功能

  • 全链路的镜像

  • 本地渲染前、远端渲染前和本地视频发送前镜像

  • PK 连麦、在线音乐教学

  • Web 浏览器端新增功能

  • 基础美颜【美白、红润、磨皮】

  • 跨直播间 PK【跨频道媒体流转发】,将主播的媒体流转发至其他直播频道,实现主播与其他频道的主播实时互动场景

发布于: 2021 年 04 月 11 日阅读数: 94
用户头像

若尘

关注

还未添加个人签名 2021.01.11 加入

还未添加个人简介

评论

发布
暂无评论
声网 Agora 初体验