- 声网 Agora 初体验
-
- 1. 简介
- 2. 注册登录
- 3. SDK
- 4. 频道模式
- 5. 使用SDK接入声网服务步骤
- 6. 第一个 Agora 项目
- 7. Agora 成功案例
- 8. 问题处理
- end. 3.0 新版本概览
声网 Agora 初体验
1. 简介
- 官网:声网 agora
- 初次使用 Agora,首先我们要先了解一下 Agora 到底是一个什么平台
- Agora
- 直播、连麦、教学、语音房间开黑【音视频引擎】
- 赋予App实时音视频能力
- 诸如一些直播平台:MOMO,教学平台:新东方 等都用到了 Agora 服务
2. 注册登录
-
在网站首页点击
注册/登录
-
然后输入信息注册即可【这里我使用 Github账号直接登录】,注册登录后我们会看到如下界面
-
这里我们先不进行其他操作,先来了解一下他的SDK等等【作为一名开发者,第一个想到的不就是SDK or API 吗】
3. SDK
- Agora 的 SDK 主要分为下面几类
SDK | 功能 |
---|---|
视频 SDK | 提供音视频功能 |
语音 SDK | 语音的SDK是视频的SDK的裁剪版,包体积更小,完全用不到视频功能的话就可以使用语音SDK,语音+视频的话就可以使用视频SDK |
游戏 SDK | 游戏SDK【针对游戏所提供】,游戏场景中性能表现较好 |
信令 SDK | 无音频 & 视频,提供文字消息 & 控制消息,需要音视频+信令,就需要集成两种SDK(视频SDK+信令SDK) |
录制 SDK | 录制声网媒体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
下的dll
和lib
文件分别复制到sdk\dll
和sdk\lib
文件夹下,如下
- 下载视频 Windows SDK,下载地址:声网 SDK 下载
-
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【跨频道媒体流转发】,将主播的媒体流转发至其他直播频道,实现主播与其他频道的主播实时互动场景