声网 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
下的dll
和lib
文件分别复制到sdk\dll
和sdk\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【跨频道媒体流转发】,将主播的媒体流转发至其他直播频道,实现主播与其他频道的主播实时互动场景
版权声明: 本文为 InfoQ 作者【若尘】的原创文章。
原文链接:【http://xie.infoq.cn/article/7c47f39361264c8e90ad54c4b】。文章转载请联系作者。
评论