Centos7.9编译安装ZLMediaKit流媒体服务

Centos7.9编译安装ZLMediaKit流媒体服务

  • 一、环境版本介绍
  • 二、升级GCC
  • 三、安装OpenSSL
  • 四、安装CMake
  • 五、安装FFmpeg
    • 一、安装FFmpeg相关功能支持依赖
    • 二、安装FFmpeg
  • 六、编译安装ZLMediaKit
    • 一、安装相关依赖
    • 二、编译安装ZLMediaKit

一、环境版本介绍

软件 版本号
Centos 7.9
GCC 5.4.0
CMake 3.20.5
Openssl 1.1.1k
FFmpeg 5.0.1

二、升级GCC

wget http://mirrors.nju.edu.cn/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.gz
tar -zxvf gcc-5.4.0.tar.gz
cd gcc-5.4.0
./contrib/download_prerequisites
cd ..
mkdir gcc-build-5.4.0
../gcc-5.4.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
#这一步耗时比较长,一两个小时
make
make install
#结束后重启一下
reboot
#使用gcc -v查看版本
gcc -v

三、安装OpenSSL

 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
 echo "/usr/local/lib64/" >> /etc/ld.so.conf
 echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
 ldconfig
 ln -s /usr/local/openssl/bin/openssl  /usr/local/bin/openssl # 替换系统openssl,非必须
 openssl version -a

四、安装CMake

  1. 删除原来存在的CMake
yum remove cmake
  1. 下载cmake3.20.5
    CMake3.20.5
    其它版本下载
  2. 安装
cd /usr/local/software
tar -zxvf cmake-3.20.5-rc4.tar.gz
mv ./cmake-3.20.5 ./cmake
cd cmake
./bootstrap
gmake
gmake install
#在gmake的时候报了一个GLBCXX_3.4.21 not found,执行以下操作,再次gmake
cp /usr/local/lib64/libstdc++.so.6.0.21 /lib64
cd /lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6
vi ~/.bashrc
export PATH=$PATH:/usr/local/software/cmake/bin
source ~/.bashrc
#查看cmake版本
cmake -version

五、安装FFmpeg

一、安装FFmpeg相关功能支持依赖

  1. 安装yasm
cd ~
 wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz \
    && tar zxvf yasm-1.3.0.tar.gz \
    && cd yasm-1.3.0 \
    &&  ./configure \
    && make -j8 \
    && sudo make install
  1. 安装nasm
cd ~
 wget https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.gz \
    && tar zxvf nasm-2.15.05.tar.gz \
    && cd nasm-2.15.05 \
    &&  ./configure \
    && make -j8 \
    && sudo make install
  1. 安装x264
cd ~
git clone https://code.videolan.org/videolan/x264.git \
    && cd x264 \
    && git checkout -b stable origin/stable \
    && git pull --rebase \
    && ./configure --enable-pic --enable-shared --disable-asm \
    && make -j8 \
    && sudo make install
  1. 安装x265
cd ~
wget https://github.com/videolan/x265/archive/Release_${X265_VERSION}.tar.gz  \
    && tar zxvf Release_${X265_VERSION}.tar.gz \
    && cd x265-Release_${X265_VERSION}/build/linux \
    && cmake ../../source \
    && make -j8 \
    && sudo make install
  1. 安装libx264-devel
#安装nasm
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2
tar -jxvf nasm-2.14.02
./configure
make && make install
#安装x264
git clone https://code.videolan.org/git/x264.git
cd x264
./configure --enable-static --enable-shared
make && make install
#修改文件/etc/ld.so.conf,加入以下语句
vi /etc/ld.so.conf
/usr/local/x264
#保存退出
ldconfig
#如果这里不修改/etc/ld.so.conf的话,在运行ZLMediaKit的时候会报
#error while load shared libraries:libx264.s0.159
  1. 安装libmp4v2-devel
wget http://springdale.princeton.edu/data/springdale/7/x86_64/os/Addons/Packages/libmp4v2-2.0.0-2.el7.x86_64.rpm
rpm -ivh libmp4v2-2.0.0-2.el7.x86_64.rpm
  1. 安装libfaac-devel(依赖libmp4v2-devel,后安装)
wget https://download1.rpmfusion.org/nonfree/el/updates/7/x86_64/f/faac-1.28-7.el7.x86_64.rpm
wget https://download1.rpmfusion.org/nonfree/el/updates/7/x86_64/f/faac-devel-1.28-7.el7.x86_64.rpm
rpm -ivh faac*

二、安装FFmpeg

  1. 下载FFmpeg

  2. 安装

#安装ffmpeg
tar -zxvf ffmpeg-5.0.1.tar.xz
mv ./ffmpeg-5.0.1 ./ffmpeg
cd ffmpeg
./configure \
        --disable-debug \
        --disable-doc  \
        --disable-shared  \
        --enable-gpl \
        --enable-version3 \
        --enable-static \
        --enable-nonfree \
        --enable-pthreads \
        --enable-libx264 \
        --enable-libx265 \
        --enable-small  \
        --prefix=/usr/local/ffmpeg
#make过程略长,十几分钟
make
make install

#修改/etc/ld.so.conf
vi /etc/ld.so.conf
#加入以下语句
/usr/local/ffmpeg/lib/
#保存退出
ldconfig
#加入bash
vi ~/.bashrc
export PATH=$PATH:/usr/local/ffmpeg/bin
#保存退出
source ~/.bashrc
#查看ffmpeg版本
ffmpeg -version

六、编译安装ZLMediaKit

一、安装相关依赖

  1. 安装libsrtp
wget 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
# 指定openssl的安装目录
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
make -j8 && make install
  1. 安装mysql
wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum -y install mysql-community-server
#启动mysql
systemctl start mysqld.service

二、编译安装ZLMediaKit

  1. 下载ZLM源码
#国内用户推荐从同步镜像网站gitee下载 
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
#千万不要忘记执行这句命令
git submodule update --init
  1. 编译
mkdir build
cd build
cmake .. -DENABLE_WEBRTC=true  -DOPENSSL_ROOT_DIR=/usr/local/openssl  -DOPENSSL_LIBRARIES=/usr/local/openssl/lib
cmake --build . --target MediaServer

# 最终输出
[ 96%] Built target test_rtcp_fci
[ 96%] Building CXX object tests/CMakeFiles/test_rtp.dir/test_rtp.cpp.o
[ 97%] Linking CXX executable ../../release/linux/Debug/test_rtp
[ 97%] Built target test_rtp
[ 97%] Building CXX object tests/CMakeFiles/test_wsServer.dir/test_wsServer.cpp.o
[ 97%] Linking CXX executable ../../release/linux/Debug/test_wsServer
[ 97%] Built target test_wsServer
[ 97%] Building CXX object tests/CMakeFiles/test_server.dir/test_server.cpp.o
[ 97%] Linking CXX executable ../../release/linux/Debug/test_server
[ 97%] Built target test_server
[ 98%] Built target jsoncpp
[ 98%] Linking CXX executable ../../release/linux/Debug/MediaServer
[100%] Built target MediaServer

编译完成后会在ZLMediaKit/release/linux/Debug目录下。修改指定配置文件即可启动

  1. 在编译代码可能会遇到的问题
    无法找GCC的编译环境,使用的GCC编译环境不是GCC5.4的,还是原来的4.8.5版本。
    设置环境变量即可解决
export CC=/usr/local/bin/gcc
export GXX=/usr/local/bin/g++

参考
https://blog.csdn.net/sunsixy/article/details/105411647
https://blog.csdn.net/macaiyun0629/article/details/125165086
https://hub.fastgit.xyz/ZLMediaKit/ZLMediaKit/wiki/zlm启用webrtc编译指南
https://blog.csdn.net/vecloud/article/details/121204336

你可能感兴趣的:(centos7软件安装,软件安装,linux,centos)