Centos7.6编译ZLMediaKit

Centos7.6下编译ZLMediaKit

此篇文章由ZLMediaKit入门群中编译文档和网上的资料结合而成
入门群号690854210,这篇仅讲述在Linux下如何编译
文章参考https://blog.51cto.com/mengix/2452395

Linux编译要用到工具如下

gcc https://ftp.gnu.org/gnu/gcc/
Cmake https://cmake.org/download/
libsrtp https://github.com/cisco/libsrtp/releases
OPENSSL https://github.com/openssl/openssl

安装一些编译需要的东西
yum install -y wget git vim unzip bzip2 net-tools gcc gcc-c++ pam-devel libselinux-devel zlib-devel gmp-devel mpfr-devel libmpc-devel make cmake tar

GCC

gcc版本我用的是默认的4.8.5版本,最好用4.8以上版本,以下的编译好像过不了,因为要支持C++11

Cmake

首先清理Centos自带的2.8.x版本的cmake,可以先用cmake --version查看系统原先有没有,有的话清理掉
yum erase cmake
从官网上下载cmake安装包,最好是3.0.0以上版本,我用的是3.18.3
将安装包到/usr/local/下面,解压后进入
./bootstrap
可能会出现Could NOT find OpenSSL,这是没有安装openssl的编译依赖项,yum install -y openssl-devel解决
make -j4 && sudo make install
建立软链接
ln -s /usr/local/bin/cmake /usr/bin/
此时使用cmake --version出现版本信息即可

OpenSSL

系统自带的openssl 1.1.1m 版本不完整
https://www.openssl.org/source/openssl-1.1.1k.tar.gz
然后放到/home下解压
tar -xvzf openssl-1.1.1k.tar.gz
yum install -y zlib zlib-devel perl-CPAN
cd openssl-1.1.1k
./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/openssl
make -j8 && make install
echo “/usr/local/lib64/” >> /etc/ld.so.conf
echo “/usr/local/openssl/lib” >> /etc/ld.so.conf
ldconfig
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
openssl version -a

openssl: error while loading shared libraries: libssl.so.1.1,出现以上错误时是库位置错误,可参考文章
https://blog.csdn.net/weixin_43214644/article/details/125836859

libsrtp

cd /home
https://github.com/cisco/libsrtp/archive/refs/tags/v2.4.0.zip
解压进入
cd libsrtp-2.4.0
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
make -j8 && make install

ZLMediaKit

最后进入ZLMediaKit的编译
cd /home
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
git submodule update --init

以上是文档的内容,我是看git上的wiki先git到本地,再上传的,不过也没什么区别,以下是wiki的内容
#国内用户推荐从同步镜像网站gitee下载
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init

#修改Release
vim CMakeLists.txt
把14行 # 去掉
#set(CMAKE_BUILD_TYPE “Release”)

不过现在的版本好像没有这行,我也没修改,直接就编译成功了

mkdir build
cd build
mkdir -p /home/ZLMediaKit/release/linux/Debug
#编译Release 版本
cmake … -DENABLE_WEBRTC=true -DCMKAE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR=/usr/local/openssl -DOPENSSL_LIBRARIES=/usr/local/openssl/lib
cmake --build . --target MediaServer – -j 16

编译后的程序在
/home/ZLMediaKit/release/linux/Debug下面

以上仅仅是编译步骤,正常使用还要安装ffmpeg,node,jdk等

你可能感兴趣的:(理论,实践,linux,服务器,ZLMediaKit)