网站的标志可以修改吗,电子商务网站规划,企业网站的功能模块,全国企业信息公示系统官网概述 谷歌webrtc系统庞大#xff0c;代码复杂#xff0c;第三方类库众多#xff0c;而且很多算法对cpu要求很高#xff0c;而嵌入式芯片性能大多比较差#xff0c;其算力满足不了谷歌webrtc要求#xff0c;metaRTC为了满足嵌入式编程也下足了功夫。 metaRTC支持32位和64位…概述 谷歌webrtc系统庞大代码复杂第三方类库众多而且很多算法对cpu要求很高而嵌入式芯片性能大多比较差其算力满足不了谷歌webrtc要求metaRTC为了满足嵌入式编程也下足了功夫。 metaRTC支持32位和64位编程支持H264和H265,核心大部分为C实现少部分为C实现为了降低第三方库适配复杂性很多功能都自己实现并未调用第三方库。
第三方类库
谷歌webrtc引用了大量的第三方类库这些第三方类库的适配是个非常痛苦的事情有些嵌入式是32位有些是64位这些重量级的第三方类库对嵌入式就是个很大的负担。
行内人士都在喊编程不要重复造轮子但这些轮子都是重量级的嵌入式有限的算力怎么办
还记得log4j的影响吗
为了适应嵌入式编程metaRTC做的工作就是在减轮子减少第三方库的调用。
metaRTC实现第三方类库功能
实现了简易的HTTP协议去掉libcurl调用实现了简易的JSON去掉json调用实现了YUV等格式转换和伸缩可以去掉libyuv实现了解码的简易库yangh264decoder 可以去掉ffmpeg
推流需要的第三方库
编码器 x264或x265 如果有硬编则不需要openssl库libssl/libcrytosrtp库opus库
拉流需要的第三方库
解码器 yangh264decoder/ffmpeg 如有硬解则不需要openssl库libssl/libcrytosrtp库opus库
第三方库选项
在include目录里Yang_Config.h头文件里
#define Yang_HaveWebsockets 0 //using libwebsockets #define Yang_HaveCurl 0 //using libcurl #define Yang_HaveJson 0 //using jsonlib 下载源码和类库
https://github.com/metartc/metaRTC/releases/tag/2.0.066https://github.com/metartc/metaRTC/releases/tag/2.0.066
https://gitee.com/metartc/metaRTC/releases/2.0.066https://gitee.com/metartc/metaRTC/releases/2.0.066
metartc2_linux_runtime.7z为所需第三方库 编译参考视频
metartcyangwebrtcwindows版本编译教程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1d3411r742/
webrtc服务器
推荐SRS4.0最新版本编译参考http://github.com/ossrs/srs#usage
objs/srs -c conf/https.rtc.conf 或者
objs/srs -c conf/rtc.conf
可支持webrtc/rtmp/hls/srt/httpflv等直播。
H265 webrtc服务器
GitHub - metartc/srs-webrtc265https://github.com/metartc/srs-webrtc265
metartc/srs-webrtc265https://gitee.com/metartc/srs-webrtc265编译同上