OpenEuler安装ZLMediaKit
首先安装基础软件包。
dnf install gcc g++ git -y
安装最新版本cmake。
wget https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-linux-x86_64.tar.gz
tar -xvf cmake-3.30.2-linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/cmake-3.30.2-linux-x86_64 /usr/local/cmake
echo 'export PATH="/usr/local/cmake/bin:$PATH"' >> /etc/profile
source /etc/profile
安装vcpkg,并使用vcpkg安装ZLMediaKit。
git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg/vcpkg install zlmediakit\[core,mp4,openssl,webrtc,sctp\]
等待约半小时后完成编译。
之后从git源码中拷贝其它必要文件。
mkdir MediaKit
cp vcpkg/installed/x64-linux/tools/zlmediakit/MediaServer MediaKit/
git clone https://gitee.com/xia-chu/ZLMediaKit
cp ZLMediaKit/conf/config.ini MediaKit/
cp -r ZLMediaKit/www MediaKit/
cp ZLMediaKit/default.pem MediaKit/
添加systemd守护。
cat > /usr/lib/systemd/system/MediaKit.service <<EOF
[Unit]
Description=MediaKit Service
After=network.target
[Service]
ExecStart=/opt/MediaKit/MediaServer -d
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start MediaKit
CentOS7安装ZLMediaKit
首先安装基础软件包。
yum install gcc gcc-c++ perl wget -y
如果没有git命令,可以使用endpoint安装新版本git。
yum -y install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm
yum install git -y
下载部署CMake。
wget https://github.com/Kitware/CMake/releases/download/v3.30.2/cmake-3.30.2-linux-x86_64.tar.gz
tar -xvf cmake-3.30.2-linux-x86_64.tar.gz -C /usr/local/
ln -s /usr/local/cmake-3.30.2-linux-x86_64 /usr/local/cmake
echo 'export PATH="/usr/local/cmake/bin:$PATH"' >> /etc/profile
source /etc/profile
CentOS7自带了1.0.2k版本的OpenSSL,不满足运行要求,先编译安装1.1.1w版本的OpenSSL。
tar zxf openssl-1.1.1w.tar.gz
cd openssl-1.1.1w
./config shared --prefix=/usr/local/openssl && make && make install
mv /usr/bin/openssl{,.bak}
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig
openssl version
之后编译安装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
./configure --enable-openssl --with-openssl-dir=/usr/local/openssl
make -j8 && make install
下载ZLMediaKit源码。
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
将生成的文件提取出来。
mkdir /opt/MediaKit
cp /opt/ZLMediaKit/release/linux/Debug/MediaServer /opt/MediaKit/
cp /opt/ZLMediaKit/release/linux/Debug/config.ini /opt/MediaKit/
cp /opt/ZLMediaKit/release/linux/Debug/default.pem /opt/MediaKit/
cp -r /opt/ZLMediaKit/release/linux/Debug/www/ /opt/MediaKit/
添加systemd守护。
cat > /usr/lib/systemd/system/MediaKit.service <<EOF
[Unit]
Description=MediaKit Service
After=network.target
[Service]
ExecStart=/opt/MediaKit/MediaServer -d
Restart=on-failure
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl start MediaKit