概述
metaRTC2.0经历了127个版本更新,metaRTC3.0经历了73个版本更新,metaRTC也缺乏一个系统性的编译指南,这是一篇在metaRTC3.0迎来第一个稳定发布版本时系统性的介绍metaRTC的编译文章。
metaRTC支持非加密传输,编译时不需要openssl和srtp2类库。
下载源码
Release Release v3.0-b0 · metartc/metaRTC · GitHubWebrtc SDK for pure C. Contribute to metartc/metaRTC development by creating an account on GitHub.https://github.com/metartc/metaRTC/releases/tag/v3.0-b0https://gitee.com/metartc/metaRTC/releases/v3.0-b0
https://gitee.com/metartc/metaRTC/releases/v3.0-b0
目录结构
bin目录
静态库目录
windows静态库:lib_win_debug/lib_win_release
linux静态库目录:lib_debug/lib_release
android静态库目录:lib_android
windows执行文件目录app_win_debug/app_win_release
注意:动态库都在lib目录下,不要放到其他位置。
linux执行文件目录app_debug/app_release
注意:动态库都在lib目录下,不要放到其他位置。
thirdparty目录
注意:user_include目录里是openssl/ffmpeg/srtp2头文件,换成自己编译的头文件
thirdparty/lib目录
libmetartccore3
webrtc/rtmp 协议实现和基础应用C类库,可集成到ffmpeg
如果平台已有采集和编解吗,只需要libmetartccore3即可,不需要libmetartc3
libmetartc3
实现采集、编码、解码、传输(SRT实现)以及推拉流等实现
metapushstream3/metapushstream3_android
推流和录制 demo metapushstream3_android为安卓版
metaplayer3/metaplayer3_android
拉流demo,metaplayer3_android为安卓版
metap2p3
p2p demo,支持一对一和一对多,metaplayer3可直接从metap2p3拉流
和metapushstream3与metaplayer3不同,metap2p3支持全双工,即一个连接同时支持推拉流
yangwincodec
nvidia/intel gpu编码
windows/linux编译
remark:windows版本所提供类库均为vs2019编译,如需换其他vs版本,开发者需重新编译
remark:linux版本demo需安装两个库:
sudo apt install libasound2-dev
sudo apt install libgl1-mesa-dev
解压windows版或者linux版,按照下面视频操作步骤,搭建好qt环境,不需要做参数调整,只需要操作鼠标几分钟即可编译成功。
metartc(yangwebrtc)windows版本编译教程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1d3411r742/
安卓编译
安卓编译推荐在linux下,首先配置参数
配置参数后
cd libmetartc
./cmake_android.sh
cd libmetartccore
./cmake_android.sh
编译后libmetartccore3.a和libmetartc3.a两个静态库文件放置于bin/lib_android/arm64-v8a或者bin/lib_android/x86_64等。
然后打开安卓开发工具studio.sh打开metapushstream3_android/metaplayer3_android两个工程编译即可。
ARM编译
非加密传输设置
metaRTC支持非加密传输,但只能在metaRTC之间进行通信。
metaRTC支持非加密传输,编译时不需要openssl和srtp2类库。
修改文件include/Yang_Config.h配置参数Yang_HaveDtls,将其设置为0即可