声网 视频通话SDK小结
1. 视频通话
-
视频通话 SDK 可实现 一对一单聊、多人群聊,同时具备纯语音通话 和视频通话功能 视频通话和视频互动直播不同。视频通话,不分主播和观众,所有用户都可自由发言,默认流畅和低延时优先,画质稍低,典型场景如 多人视频会议 视频通话 点击了解详情
2. 视频直播
-
Agora 视频互动直播(Video Broadcasting)可以实现一对多,多对多的音视频互动直播 Agora 视频互动直播和视频通话的区别是: 视频通话:不分主播和观众,所有用户都可自由发言,默认流畅和低延时优先,画质稍低,典型场景如多人视频会议 互动直播:用户区分主播和观众,只有主播可以自由发言,默认高画质优先,典型场景如互动课堂 常见的 CDN 直播是一个主播和多个观众,是单向的。而 Agora 互动直播还能多个主播之间,观众与主播之间连麦,就像在小剧场里观众可以上台表演一样。适用于娱乐直播如狼人杀、教育直播如小班课、电商直播中的导购问答等强互动场景。同时,也适用对图像质量要求高的一对一视频聊天。 前面有写过一篇文章,专门总结了一下声网直播SDK ,点击了解详情
3. 视频通话集成 集成视频通话、直播SDK 注意视频通话,互动直播都是同一套SDK SDK发版详情,看我这篇文章有
4. 直播
与普通视频通话相比,直播额外有几个特点场景
-
客户端连麦(观众与主播连麦聊天,观众围观) 跨直播间连麦(多个主播跨直播间,连麦互动,观众围观) 推流到 CDN 将频道内的音视频内容通过 CDN 推送到其他 RTMP 服务器: 能够随时启动或停止推流 能够在不间断推流的同时增减推流地址 能够调整合图布局
集成步骤
-
前言:集成三方SDK,强烈建议先花时间运行Demo,熟悉一下SDK相关调用流程,在集成到项目中,这样绝对省时省力,相信踩过坑的人;磨刀不误砍柴工,这句话是真理
- 先注册一个,创建一个应用获取应用ID
- 下载SDK提供Demo,拷贝.jar和所需要的.so文件(在说一遍:注意视频通话和视频直播集成SDK文件都一样) agora-rtc-sdk.jar (502K) libagora-crypto.so(1.8M) libagora-rtc-sdk-jni.so(8.3M) 大小真不小,请慎重
- 在Demo配置文件中,替换自己申请应用的APP ID,顺利的话,此时拿2台手机,运行项目,切记填写相同的直播房间名字,就可以看到主播一方的视频界面了
注意点
- 在加入频道房间后
// 在加入频道前后都可以调用此方法,切换角色 mRtcEngine.setClientRole(Constants.CLIENT_ROLE_BROADCASTER)
- Agora也提供了高级接口
将数据发送给编码器前插入一个前处理阶段,对捕捉到的视频帧或语音信号进行修改。也可以在将数据发送给解码器后插入一个后处理阶段,对接收到的视频帧和语音信号进行修改
Agora 原始数据接口是一个 C++ 接口。你需要在 Android 上使用 SDK 库的 JNI 和插件管理器
- 视频通话使用美颜
用户进行视频通话或直播时,常常希望向对方呈现良好的肌肤状态和精神面貌。
Agora SDK 提供 API 方法,帮助 App 轻松实现基础美颜功能。用户可以开启美颜开关,调整美白、磨皮、祛痘、红润效果等美颜参数,实现自然的美颜效果
- 提供 setBeautyEffectOptions 方法帮助开发者根据场景需求灵活配置基础美颜功能
// 参数1 enabled(true or false) 代表是否开启美颜功能 // 参数2 美颜选项,详细定义见 BeautyOptions // options 代表美颜选项 // 包含lighteningContrastLevel(明暗对比度)、lightening(亮度)、smoothness(平滑度)、redness(红色度)四个参数 // 可用来实现美白、磨皮、红润等效果 mRtcEngine.setBeautyEffectOptions(true, new BeautyOptions(LIGHTENING_CONTRAST_NORMAL, 0.5F, 0.5F, 0.5F));
更多详细信息,移步:
5. 参考
- 视频通话