metaRTC8.0是metaRTC开源以来架构变化最大的一个版本,是metaIPC3.0等高性能的基础。
metaRTC8.0是一个全新架构版本,并非在metaRTC7.0版本上简单升级,在QOS/语音对讲/内存占用/视频文件录制读取等方面新增多个模块,在弱网对抗/语音对讲/内存优化等效果上有显著提拔。
metaRTC8.0在一年多的开发中进行了近200次迭代,metaRTC8.0社区版计划在2025年中推出,敬请期待!
New Feature
新增模块都是纯C实现,都在libmetartccore8工程里。
YangIce
YangIce实现了webRTC ICE FULL-ICE,更适合在公网跨网建立连接。
收罗candidates
交互candidates
生成candidate pairs
连通性检测connective check
提名candidate pair
YangPushData
YangPushData接纳零拷贝技术,减少了大量memcpy操纵
降低连接占用内存效果显著,如IPC新增连接占用内存不超过20KB
是YangPacer模块的数据基础
YangFile视频文件录制与读取
纯C实现,不依赖任何第三方库
支持H264/H265/OPUS/G711/AAC视频录制和读取
YangFile/YangPacer实现视频文件推流和webRTC点播
YangTls加密模块
YangTls实现了TCP Tls加密功能
实现了HTTPS/MQTT/Socket加密传输
YangTwcc(Transport-wide Congestion Control)
Twcc是一种新的拥塞算法Sender Side BWE的基础
Sender Side BWE是webRTC多年实践证实优秀的择优选择的拥塞算法
YangTwcc模块可以取得丢包和时延等数据,是带宽估算的数据基础
YangBandWidth带宽估算
Sender Side BWE基于发送端估算
YangBandWidth模块取得rtt(round-trip time)
rtt和YangTwcc模块的丢包和时延等数据估算出网络拥塞状态数据
YangPacer模块
参考YangBandWidth取得网络拥塞状态数据调整发送速率
YangPacer模块可以将推流视频数据匀称的发送出去
webRTC文件点播参考时间戳和网络状态匀称发送出去
YangFec模块
H264不支持ULP FEC,优选FlexFEC
FlexFEC RFC 8627 - RTP Payload Format for Flexible Forward Error Correction (FEC)