流媒体分析之webrtc协议测试环境搭建

1. ffmpeg 支持webrtc  协议,使用杨大神MetaRTC 库实现。ffmpeg 实现webrtc 推拉流到srs 服务上。这个章节我们搭建webrtc 测试环境。

1. 编译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

2. 推流命令:


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

猜你喜欢

转载自blog.csdn.net/u012794472/article/details/126827566