0
点赞
收藏
分享

微信扫一扫

Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天

RTC (Real-Time Communication) 作为实时通讯领域的"新贵",在互动直播、远程控制、多人视频会议、屏幕共享等领域广受好评,如果你还不了解 RTC ,Take it easy ,本文将带你用10分钟的时间,快速体验实现一个“多人视频聊天”需求。


没错,就是这么简单任性。如下简单看看 Agora SDK 加持下的效果。


Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天_数据

一、WebRTC

相较于 ​​RTC​​​ ,更多人了解到的应该是 ​​WebRTC​​​ , ​​WebRTC​​​ 属于 ​​RTC​​​ 的一个子集,它先是由谷歌开源,又经历了 W3C 的更新,才成为了如今广为人知的 ​​WebRTC 1.0​​ 。

起初 ​​WebRTC​​ 设计的初衷,只是为了解决两个客户端间连接发送媒体数据,也就是所谓的P2P的通信,所以大多数的情况下不需要依赖于服务器的中转,但是随着业务发展,多对多的广播也开始被支持。

但是 ​​WebRTC​​​ 的名称容易让人产生了误解,很多时候大家一直认为​​WebRTC​​​ 只使用于浏览器上,而事实上 ​​WebRTC​​ 的一个特征就是本地和Web应用间的交互 ,而Web应用不是局限于前端页面,更多指代后端程序。

而实现一套 ​​WebRTC​​ 一般需要概括为三个步骤:

  • 获取本地音视频数据
  • 与服务器建立链接,实现数据传输
  • 定义数据协议用于各个客户端间同步数据

所以只需完成了以上三个特征,按照 ​​WebRTC​​​ 协议实现代码,​​AndroidRTC​​​ 是可以有的,而 Github 上也有不少“原生”级别的 Android Web RTC 项目,但是在投入使用的过程汇总, ​​WebRTC​​ 中仍存在一些难点:

  • 1.音视频数据量较大,需要针对网络抖动实现一定的缓冲策略
  • 2.针对出现的丢包丢帧的重传策略
  • 3.多设备上音视频的编解码支持策略

同时,在 Android 上实现一个能达到商用的 ​​AndroidRTC​​​ 产品,客户端上你至少需要优秀的 ​​C++​​​ 、​​OpenGL​​​ 、​​FFMEPG​​ 等技术,并且在服务端维护房号、推流、长链接等服务,这对于小团队公司明显不现实,那么如何满足产品需求呢?这就是后续的 ​Agora SDK​ 的业务范畴了。

二、声网 Agora SDK


4行代码,30分钟,在应用内构建 视频通话、语音通话、互动直播等产品需求。


Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天_android_02

在体验了 ​​Agora SDK​​ 之后,不得不说我是被惊艳到了,如同官方宣称一般,虽然不止4行代码,但是实实在在的30分钟内 ,完整实现了多人视频通话的需求,以下是我将 Demo 编译出来的 Apk 二维码,不过因为测试 AppId 限制,所以大家还请省着用哈。


具体使用方法在权限允许之后,使用两台手机设置一个房间名,点击广播模式进入即可。


Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天_数据_03

回到主题,在集成 Agora SDK 的过程也是十分顺利的,本质上的步骤就是:

  • 1、添加依赖
  • 2、调用初始化
  • 3、添加本机本地显示窗体
  • 4、创建或加入一个频道
  • 5、接受用户加入,显示对方画面

每个步骤并不繁琐,其中主要在于你需要自己实现窗体的组合显示,而官方的 Demo 通过 ​​RecyclerView​​ 的封装就是很好的参考,更多集成可直接参阅 ​​官方集成教程​​ 。

Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天_数据_04

同时在对于 SDK 的源码翻阅后,对于开发者头疼的摄像头,网络连接,针绘制,音视频同步 等功能都被封装到 ​​agora-rtc-sdk-jni.so​​​ 里,所有的操作都是通过 ​​JNI native​​ 接口操作,在性能和保密上也得到了进一步的提升,同时你只需要调用对应的接口来实现所需功能,不过目前每个so库默认大小在12M左右,所以适当配置 NDK 过滤还是必须的。

在体验过程过程中,也发现了类似麦克风自激等问题依旧存在,不过这也属于鸡蛋挑骨头了,要知道官方还提供了美颜、变声、混音、加密、通话录制等等功能,并且如下图所示,管理后台连数据统计也一应俱全。

Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天_数据_05

最后,Agora SDK 支持 ​​Android​​​、​​IOS​​​、​​Window​​​、​​Mac​​​、​​Web​​​,甚至还支持了 ​​React-Native​​​ 和 ​​Flutter​​​ ,所以对于有 ​​RTC​​​ 需求的用户,必须强烈推荐 ​​Agora SDK​​ 有木有。

  • Agora 系列SDK下载
  • Agora Flutter SDK
  • AgoraIO/React-Native-SDK

那么问题来了,这么优秀的SDK,它收费吗?

不收费是不可能的,这辈子都不可能的,毕竟后台服务都提供了,关键在于价格和前期体验,个人体验下来只有两个字:【优秀】 !所以不废话,一切如下图链接走起。

Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天_数据_06

  • 怎么收费
  • 收费标准

Android 集成 Agora SDK 快速体验 RTC 版多人视频聊天_音视频_07

举报

相关推荐

0 条评论