软件 | 版本号 |
---|---|
Centos | 7.9 |
GCC | 5.4.0 |
CMake | 3.20.5 |
Openssl | 1.1.1k |
FFmpeg | 5.0.1 |
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
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
yum remove cmake
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
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
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
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
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
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
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
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
安装
#安装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
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
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
ZLM
源码#国内用户推荐从同步镜像网站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
# 最终输出
[ 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
目录下。修改指定配置文件即可启动
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