用yangwebrtc搭建虚拟背景和美颜webrtc直播系统

该博客介绍了如何基于OpenCV和yangwebrtc实现虚拟背景和美颜功能。首先,通过人像分割技术将人物从背景中分离,然后替换背景图片。此外,还提供了代码示例来展示如何在YangPushCapture.cpp中添加美颜效果。编译和运行指南包括下载源码、编译工程以及调整配置文件以支持VR直播。注意,基于OpenCV的抠图可能需要根据光线和环境调整HSV颜色区间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

      虚拟背景依托于人像分割技术,通过将图片中的人像分割出来,对背景图片进行替换实现。并且可以对人像进行美颜等处理。本次demo是基于opencv处理,可替换成深度学习实现的。

下载源码和运行类库

https://github.com/metartc/yangwebrtc/releases/tag/2.0.058https://github.com/metartc/yangwebrtc/releases/tag/2.0.058

https://gitee.com/metartc/yangwebrtc/releases/2.0.058https://gitee.com/metartc/yangwebrtc/releases/2.0.058

 metartc2_with_3rdparty.058.7z为源码压缩文件,metartc2.win_runtime.7z为应用程序依赖的dll文件

编译视频参考metartc(yangwebrtc)windows版本编译教程_哔哩哔哩_bilibilimetartc(yangwebrtc)编译教程https://www.bilibili.com/video/BV1d3411r742/编译参考文章

用yangwebrtc搭建兼容webrtc协议和支持嵌入式智能终端的多人视频会议_m0_56595685的博客-CSDN博客下载源码和运行类库下载地址:https://github.com/metartc/yangwebrtc/releases/tag/2.0.040https://gitee.com/yangrtc/yangwebrtc/releases/2.0.040yangmeeting2.040.7z为源码压缩文件,yangrtc2_win_runtime.7z为应用程序依赖的dll文件服务器部署使用Qt或者用其他ide编译YangMeetingServer建立my...https://blog.csdn.net/m0_56595685/article/details/121304109

VR直播搭建

修改配置参数

修改配置文件include目录下Yang_Config.h文件

将#define Yang_HaveVr 0 修改为 #define Yang_HaveVr 1

 

 配置文件yang_config.ini的[sys]下bgFileName为背景替换图片,目前只支持jpeg图片。

 

编译工程

 ext目录为虚拟背景实现代码,需编译里面的工程libyangrtcext2,用qt打开即可编译

 

 编译后的工程在bin/lib_win_debug目录下

 美颜或者其他特效

 在YangPushCapture.cpp里的startLoop函数里可以替换成其他特效

 m_out_vr_pre_videoBuffer->getVideo(&videoFrame);//取出摄像头视频帧

yuv.I420torgb24(srcData, matSrcRgb, inWidth, inHeight);//将其转为rgb
mat->matImage(matSrcBgr, matDst);//抠图并替换背景,可替换为自己的特效,将其数据放入matDst数组里即可。

运行程序

编译好yangpushstream2后点击debug打开

  选中VR复选框后,点击推流即可。

注意事项

基于opencv实现抠图,支持绿幕和蓝幕,有时需要灯光和参数调整。

抠图代码

YangMatImageCv.cpp里
yang_cvCvtColor(m_frame, m_hsv, 40);
yang_cvInRangeS(m_hsv, cvScalar(35, 43, 46), cvScalar(77, 255, 255),m_mask);

参数 cvScalar(35, 43, 46), cvScalar(77, 255, 255) 是在这个颜色区间过滤,光线亮度不同会影响抠图的效果,需调整这个hsv颜色区间的数值。

 webrtc服务器

推荐Srs4.0,下载编译参考http://github.com/ossrs/srs#usage

​      objs/srs -c conf/https.rtc.conf

可支持webrtc/rtmp/hls/srt/httpflv等直播。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

metaRTC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值