Agora Voice/Video SDK 2.4正式Release!

Hello大家好,

我是声网产品负责人Alex,非常开心和大家在RTC论坛里相遇,也很期待和大家在此共同交流学习。

日前我们正式发布了Agora SDK 2.4,借此机会,我希望给大家做一个简短介绍:

声网 Agora Voice/Video SDK 2.4 已经正式上线,大家可以在官网「开发者」中下载对应各系统平台的 SDK。新版本增加了基础美颜、趣味变声、高优先级主播视频质量保障等新功能,可为多种场景带来更丰富、有趣的用户交互体验。

在 2.4 版中,我们优化了音频抗丢包的性能。在1对1教学、1对1语音社交等通信、纯音频与音视频场景下,用户会得到更好的交互体验。围绕一些对音质要求较高的场景,例如音乐陪练、语音聊天室等,我们优化了回声消除算法,进一步提高了音质效果。另外,我们在屏幕共享、本地视频回显效果、混响效果、质量透明等方面进行了优化。接下来,我们详细看一下本次的新增接口、功能改进,以及质量透明的最新特性。

新增功能

基础美颜

在社交、直播连麦,甚至是在线教育场景下,能以最好的状态示人,对主播们来讲非常重要。2.4版 SDK 新增了基础美颜功能,通过以下新增方法可以轻松实现基础的美白、磨皮、红润等美颜效果。

实际效果详见我司素颜也美丽的小姐姐:arrow_down:

setBeautyEffectOptions(boolean enabled, BeautyOptions options)

该方法中有两个参数。enabled代表了是否开启美颜功能。options则包含了明暗对比度、亮度、平滑度、红润度四个参数,通过它们可以灵活调整美白、磨皮、红润等效果。

趣味变声

在社交娱乐和游戏中,变声功能可以进一步增加趣味性。2.4版 SDK 新增了趣味变声功能,通过setLocalVoiceChanger()方法,可以将用户的声音变为各种各样的角色。该方法目前提供了6种变声效果,包括老男孩、小女孩、绿巨人、猪八戒等。

预设声效太少?不是大问题。我们还开放了接口,可以通过调整音调、均衡和混响的参数值来定制自己想要的效果。

可以设想一下,在剧本杀这类角色扮演游戏中,可以用趣味变声,给玩家更进一步的游戏沉浸感。当然,大家也可以将这个方法应用于其它音视频互动场景下。

高优先级主播视频质量保障

这个新功能主要面向的是在线教育和一些直播社交的场景,优先让某个连麦用户收到的音视频质量为最高。大家可以通过setRemoteUserPriority()这个新增接口来实现,只需要将某个用户的优先级设为高,那么发给这个用户的音视频流的优先级就会高于其他用户。在与setRemoteSubscribeFallbackOption搭配使用时,即使该用户处于弱网状态下,也能保证他收到的音视频的质量。具体用法,大家可以参考声网Agora开发文档。

听声辨位

听声辨位这个功能,我们曾经介绍过,也已经应用于“小米枪战”中。现在该功能已被加入到 Native SDK 2.4版中。通过新增的enableSoundPositionIndicationsetRemoteVoicePosition方法,可以实现听声辨位功能,给角色扮演类游戏、射击游戏、多人竞技游戏等增加角色方位感,用声音来提升游戏沉浸感。

开发者需要在加入频道前调用enableSoundPositionIndication开启远端用户的语音立体声,然后在setRemoteVoicePosition中设置远端用户声音出现的位置,通过左右耳听到的声音差异,对远端用户的声音产生方位感。详细参数,大家需要参考文档来进行设置。

本地预览与性能优先

在过去的版本中,我们默认由 SDK 来自动控制摄像头的输出参数。但我们发现这可能无法满足一些场景的需求,甚至有时候会因为增加了视频的后处理(比如美颜、特效)会引起设备性能问题。所以我们增加了新的接口setCameraCaptureConfiguration,通过设置摄像头采集偏好,开发者可以根据实际场景选择优先保证设备性能还是视频质量。

功能优化

屏幕共享

屏幕共享是广泛应用于视频会议和在线教育场景中的功能。2.4版对该功能进行了多项优化,包括:

  • 支持外接屏幕共享
  • 支持设置屏幕共享分辨率、帧率、码率
  • 支持在屏幕共享过程中,动态调整共享区域、帧率、码率和分辨率
  • 针对不同分辨率,可精确定位鼠标位置
  • 支持设置分享内容为清晰度优先或流畅度优先
  • 支持在桌面或窗口共享时,指定共享其中的某个区域。
  • 在窗口共享时,支持窗口大小的动态变化

关于以上功能优化所对应的新增接口及使用方法,可以在文档中心搜索“进行屏幕共享”,来阅读详细的接口调用方法。

高音质优化

在新版本 SDK 中,我们优化了 Agora 引擎的回声消除算法。在音乐陪练、语音聊天室等一些对音质要求较高的场景下,该优化可保证音乐的音质不受损失。

质量透明

通话前 Last-mile 网络探测

在通话前进行 Last-mile 网络探测,可以有效帮助本地用户判断和预测上行网络质量是否良好。该版本新增通话前 Last-mile 网络探测接口,向用户反馈开始通话前上下行网络的带宽、丢包、网络抖动和往返时延数据。接口包括:

  • startLastmileProbeTest:开始 Last-mile 网络探测
  • stopLastmileProbeTest:停止 Last-mile 网络探测
  • lastmileProbeResult:Last-mile 网络探测结果回调

语音通话回路测试

在新版本中,新增 startEchoTestWithInterval 接口取代原有的 startEchoTest。该方法会启动语音通话测试,检测系统的音频设备(耳麦、扬声器等)和网络连接是否正常。通过新接口中的参数intervalInSeconds,可以设置测试结果返回的时间间隔。

音频设备回路测试

该版本新增音频设备回路测试接口 startAudioDeviceLoopbackTest 与 stopAudioDeviceLoopbackTest,用于测试本地的麦克风和播放设备能否正常工作。该测试在本地进行,不涉及网络传输。

通话中视频流信息透明

该版本在本地视频流统计信息 AgoraRtcLocalVideoStats 类中新增 sentTargetBitrate,sentTargetFrameRate,qualityAdaptIndication 三个参数,分别反映目标码率、目标帧率与和上次返回的本地视频流统计信息相比,本地视频质量的自适应情况。

新版本接口变化

相信大家在看完这些新功能、性能优化、质量改进之后都已经迫不及待想要升级SDK版本了吧,点击下列链接可以下载SDK和查看具体开发文档

下载声网 Agora SDK 2.4

查看开发文档

我非常期待看到来自开发者的反馈,帮助我们更好的理解和支撑使用者的需求。

声网产品的使命就是让开发者更轻松、高效的创造高质量的产品,为我们共同的终端用户带来更好的视听体验,让实时音视频成为互联网世界的空气和水。

谢谢大家,
Alex

1赞