MetaRTC是一个为嵌入式/物联网打造的RTC库,为第三代互联网 元宇宙提供RTC能力。
MetaRTC实现了webrtc协议,支持webrtc/srt/rtmp,可与谷歌webrtc互联互通。
webrtc支持为原创,有纯C和C++两个版本,没有引用谷歌webrtc代码,可与谷歌Webrtc库和浏览器互通。
C与C++性能
AWS 博文曾发布一个报告,该报告显示 C++ 比 C 多消耗 34% 的能量、56% 的时间和 14% 的内存。
1. MetaRTC编译简单
webrtc编译难,仓库几十个G。
metaRTC代码量小,编译简单。
而metartc在[B站](https://www.bilibili.com/video/BV1d3411r742/)有完整的编译教程和视频。
2. 体积小
webrtc使用c++开发,体积大,不适合嵌入式。
metartc大多数使用c语言开发,天生适合嵌入式。
3. 容易二次开发
- webrtc是谷歌开发,代码量大,二次开发难度大。
meta代码量小,二次开发难度小,并且有完整的国人社区。
4. 打造国人生态
metaRTC无缝兼容SRS和ZLM,代码整合了其信令交互。
metaRTC已经实现了国密gmssl支持 。
metaRTC已提交了龙芯生态建设申请且会加大对国产芯片和操作系统的支持。
5. 更适合嵌入式/物联网
嵌入式算力弱,不适合webrtc
嵌入式开发人员纯C开发人员多
6.更适合元宇宙RTC
第三代互联网为元宇宙
支持元宇宙的穿戴设备算力弱,更适合metaRTC
7.提供H265全套解决方案
H265比H264可以节省一半的带宽,H265生态在国内比较成熟,如安防等很多行业芯片都支持H265编码。
metaRTC支持H265版webrtc
metaRTC提供支持H265的SRS(http://github/metartc/srs-webrtc265)
8.内置纯C版信令服务
metap2p工程内置信令服务,信令处理均为纯C实现。
9.集成ffmpeg 支持静态编译集成到ffmpeg
集成ffmpeg使ffmpeg支持webrtc推拉流和p2p
metaRTC集成FFmpeg新版本支持回声消除等AEC/AGC/ANC功能
1、视频编码 8bit:x264、x265、vaapi、nvenc等,二期增加AV1和多种硬件编码。
2、视频编码 10bit:x265、vaapi、nvenc等。
3、视频解码:ffmpeg和yangh264decoder。
4、VR:基于抠图实现虚拟视频的互动和录制、直播等。
5、8bit和10bit网络播放器:yangplayer
6、音频:Opus、Aac、Speex、Mp3等音频编解码。
7、音频:AEC、AGC、ANS及声音合成等处理。
8、传输:webrtc、rtmp、srt,webrtc为自己实现,没使用谷歌lib库。
9、直播:rtmp、srt、webrtc、HLS、HTTP-FLV。
10、8bit录制:h264、h265的mp4和flv。
11、10bit录制:h265的mp4
12、实现了屏幕共享与控制。
13、实现了声音和图像多种处理。
14、专业摄像头的云台控制与多镜头导播切换。
15、支持32位和64位编程。
metaRTC3.0支持WEBRTC/RTMP/SRT/
metaRTC4.0将支持RTSP/GB2811/QUIC
推拉流、编解码、渲染、音视频采集播放等都在C++类库中进行,减少了因jvm和native流媒体交换降低性能。
修改SRTP的metasrtp工程: metaRTC3.0中metasrtp3工程中修改srtp支持gmssl2.0 metaRTC4.0将会修改srtp支持gmssl3.0 metaRTC4.0将会修改srtp支持其他国密加密。
音视频应用: 视频会议/录播直播/直播互动 IPC/云游戏/云3D/元宇宙RTC
行业应用: 远程教育/远程医疗/远程办公 指挥调度/安防监控/金融 视频AI/影视录播/电商直播
下面是一热心网友使用metaRTC(yangwebrtc)测试情况,端到端延迟时间为40ms。
https://github.com/metartc/metaRTChttps://github.com/metartc/metaRTC
metaRTC: metaRTC为嵌入式版本的webrtchttps://gitee.com/metartc/metaRTC