流媒体分析之webrtc协议测试环境搭建
目录
流媒体分析之webrtc协议测试环境搭建
ffmpeg 支持webrtc 协议,使用杨大神MetaRTC 库实现。ffmpeg 实现webrtc 推拉流到srs 服务上。这个章节我们搭建webrtc 测试环境。
编译metartc 库函数。
MetaRTC是一个为嵌入式/物联网打造的webRTC库,为第三代互联网 元宇宙提供webRTC能力。MetaRTC实现了webrtc协议,提供纯C和C++两种版本接口。
metartc5编译
git clone https://github.com/metartc/metaRTC.git
修改include/yang_config.h
对接srs
#define Yang_HaveDatachannel 1
将Yang_HaveDatachannel设为0
ssl库
metaRTC5 linux版本默认ssl库为mbedtls
使用openssl 修改#define Yang_Using_Openssl 0
将Yang_Using_Openssl设为1
编译metaRTC5
cd libmetartccore5
./cmake_x64.sh
或者
./cmake_android.sh
编译 mbedtls3 库
解压metartc5/mbedtls-3.2.1.7z
./cmake_x64.sh
或者
./cmake_android.sh
编译 srtp 库
srtp编译
解压metartc5/libsrtp-2.4.2.7z
./cmake_x64.sh
或者
./cmake_android.sh
编译后可重命名libsrtp2_mbed.a
编译ffmpeg
lsrtp2 库支持mbed加密 支持ffmpeg编译
将编译的libmetartccore5.a和其他第三方库放入metartc5目录里
./configure --enable-libx264 --enable-gpl --extra-libs='-L/home/youliang/code/media/ffmpeg-rtc/FFmpeg-n4.3.3/metartc5 -lmetartccore5 -lpthread -lspeexdsp -lsrtp2 -lmbedtls -lmbedx509 -lmbedcrypto -ldl'
make -j8
openssl库ffmpeg编译
./configure --enable-libx264 --enable-gpl --enable-libsrt --extra-libs='-L/home/youliang/code/media/ffmpeg-rtc/FFmpeg-n4.3.3/metartc5 -lmetartccore5 -lpthread -lspeexdsp -lsrtp2 -lssl -lcrypto -ldl'
make -j8
- 推流命令:
ffmpeg -i BD.1080P.mkv -acodec opus -strict -2 -ar 48000 -f webrtc webrtc://192.168.3.98/live/livestream
拉流命令
ffplay webrtc://192.168.3.98/live/livestream