前言
谷歌webrtc复杂度高不适合嵌入式开发,而且很多嵌入式设备不支持C++,只有纯C版能满足大部分嵌入式设备需求。
纯C版嵌入式webrtc开源库:
- metaRTC
- AWS KVS(Kinesis Video Streams)
metaRTC为国人开源纯C版嵌入式webrtc。
AWS KVS由亚马逊开发配合其商业运营的开源纯C版嵌入式webrtc。
开源地址:
https://github.com/metartc/metaRTC
https://gitee.com/metartc/metaRTC
MetaRTC和AWS KVS区别
1、定位
- metaRTC实现了P2p和SFU应用,AWS KVS实现了P2P。
- metaRTC支持webrtc SFU服务器SRS和ZLM,有完整的国人社区。
- AWS KVS是亚马逊商业webrtc P2P一部分,需要AWS KVS服务支撑,且为付费服务。
2、性能
- metaRTC内存占用低于AWS KVS
- metaRTC p2p启动视频秒开低于1秒,AWS KVS国内5-10秒,国外3-6秒
3、功能
- metaRTC支持H264、H265、AV1、Opus等, AWS KVS支持H264、VP8、Opus等。
- metaRTC实现了音视频采集、传输、编解码、录制等,AWS KVS只实现了传输。
- metaRTC支持webrtc优于AWS KVS,如pli(关键帧请求)/动态码率等kvs都没有实现。
4、解决方案
- metaRTC提供了H265完整解决方案,提供客户端到服务端的完整解决方案。
- metaRTC支持srs/zlm的webRTC的H265支持
- metaRTC也实现了浏览器的webRTC的H265支持
5、直播
- metaRTC支持SRS等webrtc服务,可实现webrtc、HLS、HTTPFLV等直播。
- AWS KVS不支持直播功能。
6、互动
- metaRTC实现了音频回声消除、语音合成功能等支持端对端互动功能。
- AWS KVS除了传输没有任何音频处理功能,不支持互动功能。