Android如何实现实时音视频会议的背景分割
1 背景分割功能简介
ZegoEffects SDK AI视觉SDK提供背景分割功能,适用于在线教育、视频会议、美发、短视频等多种场景。
2 视频中背景分割功能实现的前提条件
在使用 ZegoEffects SDK AI视觉SDK的背景分割功能前,请确保:
- 已在项目中集成 ZegoEffects SDK,实现基本的图像处理功能,详情请参考 快速开始 - 集成 SDK。
- 导入 “SegmentationModel” 模型路径,详情请参考 快速开始 - 导入资源和模型。
3 AI视觉SDK使用步骤
背景分割包括人像分割、绿幕分割,以及背景虚化、背景马赛克等功能。
3.1 人像分割
使用人像分割功能前,请先导入对应的 “SegmentationModel” 模型文件,否则功能无法生效。详情请参考 快速开始 - 导入资源和模型。
调用
setPortraitSegmentationBackgroundPath
、setPortraitSegmentationBackgroundBuffer
或setPortraitSegmentationBackgroundTexture
接口,设置人像分割使用的背景路径、背景 Buffer 或背景 Texture(三选一)。// 设置人像分割使用的背景路径(和设置 Buffer、Texture 的方式三选一即可) mEffects.setPortraitSegmentationBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);// 设置人像分割使用的背景 Buffer(和设置路径、Texture 的方式三选一即可) mEffects.setPortraitSegmentationBackgroundBuffer(buffer, bufferLength, param, ZegoEffectsScaleMode.ASPECT_FILL);// 设置人像分割使用的背景 Texture(和设置路径、Buffer 的方式三选一即可) mEffects.setPortraitSegmentationBackgroundTexture(textureID, param, ZegoEffectsScaleMode.ASPECT_FILL);
调用 enablePortraitSegmentation 接口开启人像分割功能。
// 开启人像分割功能 mEffects.enablePortraitSegmentation(true);
开启人像分割功能后,开发者可以根据需要进一步设置背景虚化、背景马赛克等功能。
人像分割背景虚化
调用 enablePortraitSegmentationBackgroundBlur
接口开启人像分割背景虚化功能,打开虚化功能后可调用 setPortraitSegmentationBackgroundBlurParam
接口设置 ZegoEffectsBlurParam
对象的 “intensity” 参数,调整背景虚化的程度。
开启人像分割背景虚化功能后,会覆盖自定义背景及背景马赛克功能。
// 开启人像分割背景虚化
mEffects.enablePortraitSegmentationBackgroundBlur(true);// 设置人像分割背景虚化参数
ZegoEffectsBlurParam param = new ZegoEffectsBlurParam();
param.intensity = 100;
mEffects.setPortraitSegmentationBackgroundBlurParam(param);
人像分割背景马赛克
调用 enablePortraitSegmentationBackgroundMosaic
接口开启人像分割背景马赛克功能,打开马赛克功能后可调用 setPortraitSegmentationBackgroundMosaicParam
接口设置 ZegoEffectsMosaicParam
对象的 “intensity” 参数参数,调整马赛克的程度。
开启人像分割背景马赛克功能后,会覆盖自定义背景及背景虚化功能。
// 开启人像分割背景马赛克
mEffects.enablePortraitSegmentationBackgroundMosaic(true);// 设置人像分割背景马赛克参数
ZegoEffectsMosaicParam param = new ZegoEffectsMosaicParam();
param.intensity = 100;
mEffects.setPortraitSegmentationBackgroundMosaicParam(param);
3.2 绿幕分割
调用
setChromaKeyBackgroundPath
、setChromaKeyBackgroundBuffer
或setChromaKeyBackgroundTexture
接口,设置绿幕分割使用自定义背景路径、背景 Buffer 或背景 Texture(三选一)。// 设置绿幕分割使用的背景路径(和设置 Buffer、Texture 的方式三选一即可) mEffects.setChromaKeyBackgroundPath("MY_BACKGROUND_PATH", ZegoEffectsScaleMode.ASPECT_FILL);// 设置人像分割使用的背景 Buffer(和设置路径、Texture 的方式三选一即可) mEffects.setChromaKeyBackgroundBuffer(buffer, bufferLength, param, ZegoEffectsScaleMode.ASPECT_FILL);// 设置人像分割使用的背景 Texture(和设置路径、Buffer 的方式三选一即可) mEffects.setChromaKeyBackgroundTexture(textureID, param, ZegoEffectsScaleMode.ASPECT_FILL);
调用
enableChromaKey
接口开启绿幕分割功能,然后调用setChromaKeyParam
接口设置参数,调整颜色容差、边缘平滑指数等。// 开启绿幕分割功能 mEffects.enableChromaKey(true);// 设置绿幕分割参数 ZegoEffectsChromaKeyParam param = new ZegoEffectsChromaKeyParam(); mEffects.setChromaKeyParam(param);
开启绿幕分割功能后,开发者可以根据需要进一步设置背景虚化、背景马赛克等功能。
绿幕分割背景虚化
调用 enableChromaKeyBackgroundBlur
接口开启绿幕背景虚化功能,打开虚化功能后可调用 setChromaKeyBackgroundBlurParam
接口设置 ZegoEffectsBlurParam
对下的 “intensity” 参数,调整虚化的程度。
开启绿幕分割背景虚化功能后,会覆盖自定义背景及背景马赛克功能。
// 开启绿幕分割背景虚化
mEffects.enableChromaKeyBackgroundBlur(true);// 设置绿幕分割背景虚化参数
ZegoEffectsBlurParam param = new ZegoEffectsBlurParam();
param.intensity = 100;
mEffects.setChromaKeyBackgroundBlurParam(param);
绿幕分割背景马赛克
调用 enableChromaKeyBackgroundMosaic
接口开启绿幕背景马赛克功能,打开马赛克功能后可调用 setChromaKeyBackgroundMosaicParam
接口设置 ZegoEffectsMosaicParam
对象的 “intensity” 参数,调整马赛克的程度。
开启绿幕分割背景马赛克功能后,会覆盖自定义背景及背景虚化功能。
// 开启绿幕分割背景马赛克
mEffects.enableChromaKeyBackgroundMosaic(true);// 设置绿幕分割背景马赛克参数
ZegoEffectsMosaicParam param = new ZegoEffectsMosaicParam();
param.intensity = 100;
mEffects.setChromaKeyBackgroundMosaicParam(param);
4 获取 Android AI视觉SDK背景分割功能 更多帮助
获取本文AI视觉SDK背景分割功能的开发文档、技术支持,访问即构文档中心IM即时通讯开发文档页,可多平台实现聊天社交IM即时通讯功能;
近期有开发规划的开发者可上即构官网查看,恰逢即构七周年全线音视频产品1折的优惠,联系商务获取"IM即时通讯一个月免费试用 "产品优惠;
Android如何实现实时音视频会议的背景分割相关推荐
- 网易实战分享|实时音视频会议场景下QoS策略
文|网易云信资深流媒体开发工程师 背 景 科技的进步以及通讯基建的高速发展,使得人们对交流的模式要求越来越即时,对交流内容要求越来越具象,这些要求催化着内容交换模式的不断发展,从传统的信件,到短 ...
- 实时音视频会议场景下QoS策略
文|网易智慧企业资深流媒体开发工程师 背 景 科技的进步以及通讯基建的高速发展,使得人们对交流的模式要求越来越即时,对交流内容要求越来越具象,这些要求催化着内容交换模式的不断发展,从传统的信件, ...
- 用声网 Android UIKit 为实时视频通话应用添加自定义背景丨声网 SDK 教程
使用声网 SDK 和 UIKit 创建视频推流应用非常简单,而且声网还有许多功能,可以提高视频通话的质量和便利性.例如,我们可以在视频通话过程中使用虚拟背景,为视频通话增添趣味性. 我们可以通过以下三 ...
- 微信小程序集成实时音视频通话功能
微信小程序集成实时音视频通话功能 背景 在项目的开发当中,很多时候,我们会有音频.视频通话的需求,但是一般都不会自己来写,所以我们就需要借助第三方来实现.尤其是这次的项目开发当中,需要在微信小程序当中 ...
- (精华)2020年8月7日 微信小程序 实时音视频通话
微信小程序集成实时音视频通话功能 背景 在项目的开发当中,很多时候,我们会有音频.视频通话的需求,但是一般都不会自己来写,所以我们就需要借助第三方来实现.尤其是这次的项目开发当中,需要在微信小程序当中 ...
- 视频教程-Android WebRTC 实现1V1实时音视频通信-Android
Android WebRTC 实现1V1实时音视频通信 从2012年开始从事移动互联网方面的开发工作,曾担任去哪儿网开发工程师,搜狗高级开发工程师,拥有多年一线实战开发经验. 擅长语言:Object- ...
- 直播、视频会议、屏幕共享—RTC实时音视频各大平台如何选择
最近在做一个聊天项目,除了简单的图文交互,逐渐接触到了直播,音视频通话,音视频会议等功能.开源的直播和音视频会议有好多解决方案,但是了解得越多,发现音视频服务涉及到的技术越来越深,自己和团队有些hol ...
- 视频会议/远程医疗/在线教育网页视频实时音视频通话目前有什么优势和不足?
很长时间以来,实时通信能力一直是电信类专用设备(如电话.手机)的专有属性.随着各种互联网应用和移动互联网应用的层出不穷,特别是随着用户接入带宽条件的不断改善,许多新的应用都对实时通信服务有着切实的需求 ...
- Android端实时音视频开发指南
简介 yun2win-sdk-Android提供Android端实时音视频完整解决方案,方便客户快速集成实时音视频功能. SDK 提供的能力如下: 发起 加入 AVClient Channel AVM ...
- Android实时音视频如何快速实现回声消除
1 概述 在实时音视频通话时,可以对音频进行 3A 处理,提高通话质量和用户体验.主要包括 AEC(Acoustic Echo Cancelling,回声消除),AGC(Automatic Gain ...
最新文章
- 程序员进阶之算法练习:LeetCode专场
- 智慧医疗解决医生“带病工作、超负荷工作”
- boost信号量 boost::interprocess::interprocess_semaphore的用法
- java 输出 三角形_Java实现输出三角形
- max的贴图烘焙技术简易流程
- .netframework3.5 中TimeZoneInfo 类的使用
- 12c oracle 激活_Windows运维之Windows server 2016 安装及ORACLE 12C 安装
- mysql压力写入测试_mysql压力测试工具
- Animation Studio插件怎么用?Nitrozme Animation Studio Packages Mac(AE插件拓展包) 安装教程
- chap01 .net 基本框架介绍
- 工程验收工作笔记0002---可以提供等保服务的几个平台
- Windows下Goland的环境搭建
- 为什么说车联网安全将成为热门产业
- [spark]Spark2.4.6用bulkload写入Hbase1.3.1表的多列
- CAD增强属性块的还原
- 为什么公司宁愿花 15k 重招一个新人,也不愿加薪 5k 留住老程序员?
- 17行python代码轻松搞定堆糖网所有小姐姐图片
- Linux-各种UID
- 【项目实战-MATLAB】:基于机器学习的虹膜识别系统设计
- termux获取sd卡读写权限_原来是用错了读卡器,雷克沙lexar 1667X 真实读写性能测试...
热门文章
- 使用 vue-waterfall2插件 vue 瀑布流
- 关于travis scott的网名_【游戏网名】微信情侣名字情侣专用2020 霸气秀恩爱的情侣网名...
- 云服务器查看物理MAC地址的方法
- 邮件安全证书(S/MIME),如何申请邮件证书
- linux 退出vi报e37,vim模式下报错E37: No write since last change (add ! to override)
- php mysql webim_webim(icomet) 使用
- 【图像配准】基于光流场算法Horn_Schunck和Brox及Lucas_Kanade实现医学图像配准matlab代码
- python长整型怎么用_长整型 python
- C#判断是否是节假日
- PAT乙级1068 万绿丛中一点红(测试点3、测试点5)