metaRTC实现webrtc的P2P应用之音视频对讲和视频会议

概述

metaRTC新版本p2p demo工程metap2p3实现了基于p2p的一对一和一对多的双向音视频通信,可用于音视频对讲和视频会议,并且其中包含回声消除和声音合成等多种声音处理。在3A音频模式中48k输出,方便开发者合成背景音乐等高质量音频,实现了多视频流输出,实现了视频处理接口,开发者可以针对视频进行AI合成等处理。

metap2p3自带信令服务,如果在城域网内,不需要stun打洞情况下不需要额外的信令服务器。

metap2p3 demo实现p2p的两种模式:

  1. 直播模式(单向)
  2. 互动模式(双向)

 下载源码

https://github.com/metartc/metaRTChttps://github.com/metartc/metaRTChttps://github.com/metartc/metaRTChttps://github.com/metartc/metaRTCmetaRTC: metaRTC为嵌入式版本的webrtchttps://gitee.com/metartc/metaRTChttps://gitee.com/metartc/metaRTChttps://gitee.com/metartc/metaRTC

git clone https://github.com/metartc/metaRTC.git
或者
git clone https://gitee.com/metartc/metaRTC.git

metap2p3参数

hasAec=1开启3A处理,这种适合有双向互动应用场景。

hasAec=0不开启3A处理,适合单项直播应用场景。

p2p操作

当前版本支持metaRTC与metaRTC之间进行p2p通信,近期会增加和浏览器p2p双向互动demo。

 打开metap2p3程序,设置连接的另一端的metap2p3的地址和信令侦听端口,然后点击推拉流这个按钮,就可以进行双向的p2p互动,并且支持一对多。

一对一就是对讲机的应用,一对多就是视频会议的应用。

多画面编程

metap2p是个webrtc双向通信demo,没有实现多画面显示,开发者可自定义显示多画面。

 文件yangrecordthread.cpp中,vector<YangVideoBuffer*>* m_playVideoBuffer;

m_playVideoBuffer存放多个流数据, YangVideoBuffer* play=m_playVideoBuffer->at(0);

这个只是render第一个流,如何显示多个画面由开发者自己实现。

猜你喜欢

转载自blog.csdn.net/m0_56595685/article/details/124067383