Construcción del entorno de prueba del protocolo webrtc para el análisis de medios de transmisión

1. ffmpeg es compatible con el protocolo webrtc, que se implementa mediante la biblioteca MetaRTC de Yang Dashen. ffmpeg implementa el flujo push-pull webrtc para el servicio srs. En este capítulo, construimos el entorno de prueba webrtc.

1. Compile la función de biblioteca metartc.

MetaRTC es una biblioteca webRTC creada para la Internet de las cosas/incrustada, que brinda capacidades webRTC para el metaverso de Internet de tercera generación. MetaRTC implementa el protocolo webrtc y proporciona versiones C y C++ puras de la interfaz.

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

 Compile la biblioteca mbedtls3

解压metartc5/mbedtls-3.2.1.7z
./cmake_x64.sh
或者
./cmake_android.sh

 Compilar la biblioteca srtp

srtp编译
解压metartc5/libsrtp-2.4.2.7z
./cmake_x64.sh
或者
./cmake_android.sh
编译后可重命名libsrtp2_mbed.a

  compilar 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. Comando de transmisión:


ffmpeg -i BD.1080P.mkv -acodec opus -strict -2 -ar 48000 -f webrtc webrtc://192.168.3.98/live/livestream

tirar de comando 

ffplay webrtc://192.168.3.98/live/livestream

Supongo que te gusta

Origin blog.csdn.net/u012794472/article/details/126827566
Recomendado
Clasificación