> 文档中心 > 专注于嵌入式/物联网的webrtc native库metaRTC

专注于嵌入式/物联网的webrtc native库metaRTC


概述

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功能

metaRTC功能

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位编程。

P2P支持

  1. 可内置信令服务
  2. 实现一对多直播
  3. 实现浏览器p2p通信
  4. 实现双向对讲和会议

支持多种传输协议

metaRTC3.0支持WEBRTC/RTMP/SRT/

metaRTC4.0将支持RTSP/GB2811/QUIC

ARM支持

  1. 支持ARM-Linux
  2. 支持ARM-Android
  3. 提供ARM编译脚本
  4. 提供第三方ARM编译文档

安卓系统

推拉流、编解码、渲染、音视频采集播放等都在C++类库中进行,减少了因jvm和native流媒体交换降低性能。

国产化支持

修改SRTP的metasrtp工程: metaRTC3.0中metasrtp3工程中修改srtp支持gmssl2.0 metaRTC4.0将会修改srtp支持gmssl3.0 metaRTC4.0将会修改srtp支持其他国密加密。

  1. 支持国产加密算法
  2. 支持国产芯片
  3. 支持国产操作系统
  4. 支持国产编解码

应用范围

音视频应用: 视频会议/录播直播/直播互动 IPC/云游戏/云3D/元宇宙RTC

行业应用: 远程教育/远程医疗/远程办公 指挥调度/安防监控/金融 视频AI/影视录播/电商直播

 下面是一热心网友使用metaRTC(yangwebrtc)测试情况,端到端延迟时间为40ms。

开源地址

https://github.com/metartc/metaRTChttps://github.com/metartc/metaRTC

metaRTC: metaRTC为嵌入式版本的webrtchttps://gitee.com/metartc/metaRTC