记录ZLMediaKit编译部署及测试过程遇到的坑

ZLMediaKit 部署参考自 https://blog.csdn.net/m0_60259116/article/details/126876136

编译环境:

编译机器: centos 7.9

gcc version 9.3.0 (GCC)

cmake version 3.20.5

这个是docker 环境下编译的。

依赖库

openssl 安装 (openssl版本要求1.1以上)

wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz

tar -xvzf openssl-1.1.1k.tar.gz

yum install -y zlib zlib-devel perl-CPAN

./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl

make && make install

libsrtp安装

https://codeload.github.com/cisco/libsrtp/tar.gz/refs/tags/v2.3.0

tar -xvzf libsrtp-2.3.0.tar.gz

cd libsrtp-2.3.0

./configure --enable-openssl --with-openssl-dir=/usr/local/openssl

make -j8 && make install

下载和编译ZLMediaKit

git clone --depth 1 https://github.com/ZLMediaKit/ZLMediaKit
#国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit

cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init

mkdir build

cd build

cmake … -DENABLE_WEBRTC=true -DOPENSSL_ROOT_DIR=/usr/local/openssl -DOPENSSL_LIBRARIES=/usr/local/openssl/lib

cmake --build . --target MediaServer

如下是成功编译完成后:
在这里插入图片描述
一般不是部署在云服务上,不需要更改配置,直接可以 运行 : ./MediaServer 即可

自测遇到的坑

1.需要关闭防火墙,关闭docker 所有端口的限制(原因未找到,否则,webrtc 端无法看到 obs 推送的rtmp的视频)。

  1. push 的rtmp的视频流(h264 需要使用baseline 级别),否则在web页面播放的时候,视频卡顿的厉害(标准的webrtc H264只能支持baseline,保证低延时)

  2. rtmp 推流,web页面无法听到声音,查阅代码和github 的文档,发现zlmediakit master 分支不支持 aac 转码未opus。使用rtmp 推流时候,或可采用G711 格式。

  3. webrtc 推流时候,web页面需要用https协议,不支持http 。

你可能感兴趣的:(音视频,linux,运维,服务器)