概述
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等
最后
以上就是文静刺猬为你收集整理的Centos7.6编译ZLMediaKitCentos7.6下编译ZLMediaKit的全部内容,希望文章能够帮你解决Centos7.6编译ZLMediaKitCentos7.6下编译ZLMediaKit所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复