metaRTC3.0稳定版本编译指南
Posted metaRTC
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了metaRTC3.0稳定版本编译指南相关的知识,希望对你有一定的参考价值。
概述
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-b0https://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即可
metaRTC嵌入式webrtc编译指南
概述
开源项目编译和适配对于很多开发者来说是个难关,大部分开发者都被卡在这一步。metaRTC适用于嵌入式开发,但嵌入式环境多样性是个挑战,要适应X86、ARM、MIPS、RISC-V等多种架构,我们会努力加强编译易用性。
metaRTC编译支持qmake和cmake,qmake使用QT最为方便,新版本又新增了cmake支持,cmake的支持要感谢网友醉生梦死的贡献。
下载源码
https://github.com/metartc/metaRTC/releases/tag/2.0.070https://github.com/metartc/metaRTC/releases/tag/2.0.070https://gitee.com/metartc/metaRTC/releases/2.0.070https://gitee.com/metartc/metaRTC/releases/2.0.070
metartc2.thirdparty.7z为第三方库源代码,yangh264decoder.7z为精简的ffmpeg h264解码库
编译
libmetartc cmake编译
下载源码和第三方类库后,进入工程libmetartc2目录
建立文件夹build
cd build
cmake ..
make
生成的库文件libmetartc2.a和libmetartc2.so就在build文件夹里,静态库2Mb多,动态库1Mb多。
QT编译
用QT载入libmetartc2工程,直接编译即可。
编译后文件在bin/lib_debug或者bin/lib_release目录下。
拉流demo QT版本:metaplayer2
推流demo QT版本:metapushstream2
用QT载入工程metaplayer2和metapushstream2,编译libmetartc2后,再编译这两个工程即可。
第三方库编译
yangh264decoder编译
解压yangh264decoder.7z,进入源码文件夹
新建文件夹 mkdir build
cd build
cmake ..
make
其他第三方库编译
第三方库在metartc2.thirdparty.7z
第三方基本库:openssl,libsrtp2,opus
第三方编码库:x264,x265,libyuv(可选)
第三方AEC等音频库:speexdsp
第三方mp4录制(h264/h265)库:mp4v2
编译:
./configure
make
make install
以上是关于metaRTC3.0稳定版本编译指南的主要内容,如果未能解决你的问题,请参考以下文章