Agora SDK 常见问题Q&A —— 产品、服务、参数篇

该部分包含声网 Agora 产品、服务、参数等相关的问题及回答。

产品

本页包含 Agora 产品的相关问题。

请问你们提供的解决方案包含什么内容?

我们提供的是 PAAS 层的解决方案。简单来说,我们提供 SDK,里面含有整套 API,你可以将此 SDK 集成到任何 App 或者网页上,实现音视频通话和直播。我们的 SDK 支持 iOS,Android,Windows,macOS,Linux,Web 和微信小程序。

声网 SDK 与哪些平台和版本兼容?

声网提供全平台 SDK,包括 iOS,Android,Windows,macOS,Linux,Web,微信小程序等。具体支持版本如下:

  • Android:4.1+
  • iOS:8.0+
  • Windows:XP SP3+
  • macOS:10.0+
  • 微信小程序:支持
  • Web:Chrome 58+;Firefox 56+;Safari 11+;Opera 45+;QQ 10+

我能通过使用声网 Agora 的实时云服务在我的程序中实现哪些通讯功能?

  • App 之间的音视频通话;
  • App 和网页 Web 之间的音视频通话;
  • 网页 Web 之间的音视频通话;
  • App 与手机落地电话通信(通过第三方合作)

声网 Agora 提供点播服务吗?

不提供。声网目前只提供音视频通信和全互动直播和连麦服务。

声网提供人脸识别、美颜和滤镜贴纸服务吗?

提供的。可以通过 400 632 6626 或 sales@agora.io 联系我们。

声网 Agora 提供鉴黄服务吗?

提供的。可以通过 400 632 6626 或 sales@agora.io 联系我们。

声网 Agora 支持自动重连么?

是的,支持。

声网 Agora 的通话与音频处理有什么特点?

我们在通话和音频处理上有很多的独特算法,希望用户通话时能真的有”声临其境”的体验。这些特点主要包括主动混音、自动增益控制、话音检测、舒适背景噪声和抗啸叫等。

想亲耳试听,了解我们在声音上的独特优势,可参考 https://www.agora.io/cn/audiocall/

Agora Cloud 与一般的 CDN RTMP 有何不同?

CDN+RTMP 的直播技术使得用户在网页端安装 flash player 就能观看直播,极大降低了观众的门槛。
有别于市面上最常见的 CDN+RTMP 直播技术,Agora.io 提供的直播方案为在 Agora Cloud、主播、以及高级观众(嘉宾) 端之间达到专线级别的实时通讯质量而使用了:

  • 私有音视频编码
  • 私有传输协议
  • 私有节点部署
  • 私有传输算法

详见:

条目 常见的 CDN+RTMP 技术 Agora Cloud
视频编解码 H.264 私有
语音编解码 AAC 私有
传输协议 基于 RTMP 的 TCP 基于 RTMP 的 TCP 基于 UDP 的私有协议
传输算法 TCP Agora 私有丢包对抗、带宽自适应
合图布局 固定 可动态调整

为了照顾很多有需求的厂商,声网 Agora 与多家 CDN 进行了对接,且提供了旁路直播功能(可以进行社交分享)。

安全

声网 Agora 的服务安全吗?可以加密吗?

声网 Agora 是一个安全的平台。在发送信号时会进行加密(通话设置)。为了遵守法律相关要求,媒体流(通话本身)不会加密。

同时声网全网采用 AES-256 加密,数据传输绝对安全,通过美国 HIPAA 认证,医疗和多行业适用。提供加密 API 可行业定制加密。

更多关于安全策略的信息,可以参考 信息安全说明

声网 Agora 的网络如何应对 DDoS 攻击?

我们有如下所述的内置反攻击机制: 我们会定期扫描核心网络节点、检查并清理可能的安全漏洞,还在每个云数据中心配置了反 DDoS 防火墙,以确保核心节点免遭攻击。

声网 Agora 在全球有近 200 个分布式数据中心,并为核心服务器保留了超过50%的冗余带宽,有足够的能力和资源控制 DDoS 的风险。

想对自己的 App 进行定制数据加密,我该怎么办?

考虑到不同行业和企业对加密的标准需求差别很大,声网 Agora 的视频 SDK 支持 APP 对传输的音视频数据使用定制的加密算法进行加密处理,以保证传输数据的安全性。

在我们的 SDK 工具包中,我们提供了相关接口,如需定制加密,请参考所需平台的自定义加密文档。

声网 Agora 服务器会存储音视频通话内容吗?

声网 Agora 的服务器上不会存储任何音视频通话内容。在使用平台时,声网 Agora SDK 会将信息传送到声网 Agora 服务器上。

对于用户来说,这个数据传送是为了保证用户拨通电话,而且这对于质量和报告来说也是必要的。

除此之外,这些信息可能包括建立与进行通话的日期与时间、通话时长,以及所有通话失败的记录。在通话结束、通话失败或类似事件发生后,信息就会上传。

我们不会收集与隐私相关的信息,包括用户登录、身份识别、支付信息。如果您就这一问题仍有顾虑,欢迎致电 400 632 6626 咨询。

技术参数

平台与规模

声网 Agora.io 支持哪些平台?

全平台:Android、iOS、Windows、macOS、Linux、Web 以及微信小程序。

声网 Agora.io 音视频最多支持多少人同时在线通话?

声网 Agora.io 使用什么开发语言?

各平台主流的开发语言都支持,例如:

  • Android: Java, C
  • iOS/macOS: Objective-C, Swift
  • Windows: C++
  • Web: JavaScript
  • Cocos: C++
  • Unity: C#

如有其它需求,请联系 sales@agora.io

各平台所支持的音频采集采样率范围为多少?

  • 如果你用的是 Windows 系统(包括 macOS 上装的 Windows 系统),你可以选择以下的采样率: 48000, 44100, 16000, 96000, 32000, 8000, 192000, 88200 和 176400。
  • 如果你用的 macOS 系统,无须选择采样率,因为 macOS 音频设备支持的采样率不限范围。

与用户相关的逻辑基于什么传输协议?

基于UDP的私有应用层协议。

现有 Android 示例代码是否有 Eclipse 版?

由于 Eclipse 开发环境较为陈旧,目前不支持 Eclipse,只支持 Android Studio 版本。

编码

声网 Agora 使用的编码器有何独特之处?

声网 Agora 使用自有专利的编解码器 NOVA,它具有低复杂度、低比特率、高可适性。品质属于业内最高水平行列(平均宽频 PESQ-WB 得分为 3.92,在 4kbps 低比特率模式下平均窄频 PESQ 得分为 3.21),能够将窄频(NB)、宽频(WB)、超高频(SWB)三合一,可变比特率(2kbps-24kbps)。

同时,可以在不同模式间灵活切换,包括可适应模式、高品质模式、低能耗高品质模式、超高频模式和超低比特率模式。

我们使用自有专利视频编解码器 EVP(增强型 VPx)。EVP 支持可适性视频编码,在 RTC 环境中表现优异,而且能够低延迟、抗抖动。

声网 Agora.io 支持什么语音编解码器?

声网支持以下语音编解码器:

  • 第三方超宽频(SWB)和全频带编解码器:AAC-ELD、OPUS
  • 第三方宽频(WB)和窄频(NB)编解码器
  • 其他流行编解码器(ITU G.7xx系列、SILK、iLBC、iSAC)

性能

声网 Agora 提供回声消除吗?

回声消除是我们的强项之一。声网的回声消除有以下特点:

  • 低复杂度、高效率
  • 支持超高音质
  • 快速收敛、高 ERLE (回波消去量)
  • 为高低端手机均进行了优化
  • 每台设备都有不同的参数配置

通话时,网络从 Wi-Fi 切到 3G 或 4G 后,通话是否会被中断?

通话中切换网络可能出现短暂的中断。网络重新连通后通话可以继续进行。

由于客户端需要和服务器重新建立连接,这个过程中可能有短暂的中断。

声网 Agora 的 SDK 会占用多少带宽?

视用户网络状况而定:

  • 如果发现用户的 Wi-Fi 连接良好,我们就会提高带宽使用量,以保证良好的用户体验。
  • 如果用户是在非 Wi-Fi 的网络环境(比如3 G 或2 G)中,我们的算法会自动根据网络状况进行调整,以保证在较低带宽下能够流畅通话。

一般来说,带宽使用率为每秒 4 KB 到 13 KB 不等(在非 Wi-Fi 环境中可能为 4-6 KB 每秒)。在某些情况下,可以将其调整到 1 KB 每秒以下。

通话时会耗费多少流量?

在音视频通话中,需要上网传输一定的数据, 有网络就会出现流量消耗,但我们产品的流量消耗跟同类产品比已经非常低了:

  • 语音: 5-10 kbps。
  • 视频:根据分辨率和帧率不同,码率有所区别。举例,180 x 320 分辨率,帧率 15 fps,码率 160 kbps。

声网 Agora 的 SDK 会占用多少 CPU?

视电话模式、操作系统和CPU芯片而定。最低占用率为 3%。

对最新的中高端手机来说,可能会占用 20%+ 的 CPU(与 Skype 在手机上的占用率相近)。但我们可以根据您的需求进行优化。

音视频质量的打分依据是什么?

Agora 目前主要从如下维度对音视频质量进行检测:

远端用户音频质量统计

反映远端音频流全链路的音频质量以及传输层网络状态。涉及如下 2 个回调:

onRemoteAudioStats :侧重反映通话中远端音频流的全链路音频质量,更贴近用户主观感受。主要返回信息:

quality :音频接收质量打分,主要反映用户的主观感受

1. 0:网络质量未知
2. 1:网络质量极好
3. 2:用户主观感受接近极好,但码率略低
4. 3:用户主观感受有瑕疵,但不影响沟通
5. 4:勉强能沟通,但不顺畅
6. 5:网络质量非常差,基本不能沟通

networkTransportDelay :网络传输层延时(毫秒)

jitterBufferDelay :接收端网络抖动延时(毫秒)

audioLossRate :音频丢帧率

onRemoteAudioTransportStats :侧重反映通话中远端音频流的传输层网络状态,数据更为客观。主要返回信息:

  1. delay :网络传输层延时(毫秒)
  2. lost :传输层音频丢包率(%)
  3. rxKBitRate :音频接收码率(Kbps)

远端用户视频质量统计

反映远端视频流全链路的视频质量以及传输层网络状态。涉及如下 2 个回调:

onRemoteVideoStats :侧重反映通话中远端视频流的全链路音频质量,更贴近用户主观感受。主要返回信息:

  1. receivedBitrate :接收到的码率(kbps)
  2. receivedFrameRate :接收到的帧率(fps)
  3. rxStreamType :视频大小流类型

onRemoteVideoTransportStats :侧重反映通话中远端视频流的传输层网络状态,数据更为客观。主要返回信息:

  1. delay :网络传输层延时(毫秒)
  2. lost :传输层视频包丢包率(%)
  3. rxKBitRate :远端视频包的实际接收码率(kbps)

本地用户视频质量统计

反映的是本地视频流的实际发送帧率和实际发送码率。涉及如下回调:

onLocalVideoStats :反映当前设备发送视频流的状态。主要返回信息:

  • sentBitrate :实际发送码率(kbps)
  • sentFrameRate :实际发送帧率(fps)

故障排除篇

集成与使用篇