centos 手动安装cmake ZLMediaKit从git拷贝编译c++工程并运行

ZLMediaKit是一个开源的流媒体处理项目,支持GB28181,感谢作者大大
  • 移动嵌入式跨平台流媒体解决方案。
  • 商用级流媒体服务器。
  • 网络编程二次开发SDK。


地址  https://gitee.com/xia-chu/ZLMediaKit

此处是一个sh脚本,方便指导快速安装使用这个项目

 

#!/bin/bash
# Your Answer
# filename: zlmediakitInstall.sh
# chmod u+x zlmediakitInstall.sh
# ./zlmediakitInstall.sh

## 安装环境        centos7.6


# 安装cgit
yum install git -y


# 安装gcc编译器
sudo yum -y install gcc
sudo yum -y install gcc-c++


yum install wget -y
# centos 默认的cmake版本太低,所以得手动安装最新版
# 安装cmake之前,先考虑安装openssl,不然cmake可能安装不完整
rm -rf /usr/local/openssl
mkdir /usr/local/openssl
cd /usr/local/openssl
wget https://www.openssl.org/source/openssl-1.1.1i.tar.gz
tar xvf openssl-1.1.1i.tar.gz
cd openssl-1.1.1i
./config --prefix=/usr/local/openssl
make
make install
rm -rf /usr/bin/OpenSSL
ln -s /usr/local/openssl/bin/openssl /usr/bin/OpenSSL
rm -rf /usr/bin/openssl
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
yum install openssl-devel -y

rm -rf /usr/local/cmake
mkdir /usr/local/cmake
cd /usr/local/cmake
wget https://cmake.org/files/v3.19/cmake-3.19.1.tar.gz
tar xvf cmake-3.19.1.tar.gz
cd cmake-3.19.1
./bootstrap --prefix=/usr/local/cmake
gmake
gmake install
rm -rf /usr/bin/cmake
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
rm -rf /usr/bin/cpack
ln -s /usr/local/cmake/bin/cpack /usr/bin/cpack
rm -rf /usr/bin/ctest
ln -s /usr/local/cmake/bin/ctest /usr/bin/ctest
cmake --version


# 安装 ffmpeg(从git下载太慢了,建议其他地方下载然后在上传)(过程挺大)
rm -rf /usr/local/ffmpeg
mkdir /usr/local/ffmpeg
cd /usr/local/ffmpeg
#git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
wget http://ffmpeg.org/releases/ffmpeg-4.3.1.tar.gz
tar xvf ffmpeg-4.3.1.tar.gz
cd ffmpeg-4.3.1
./configure --enable-shared --prefix=/usr/local/ffmpeg --disable-yasm
make
make install
## 添加动态库路径
touch  /etc/ld.so.conf.d/fmpeg.conf
echo '/usr/local/ffmpeg/lib' >> /etc/ld.so.conf.d/fmpeg.conf
ldconfig -v
## 软连接
rm -rf /usr/bin/ffmpeg
ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg
rm -rf /usr/bin/ffprobe
ln -s /usr/local/ffmpeg/bin/ffprobe /usr/bin/ffprobe
## 头文件
cd /usr/local/ffmpeg/include/
mkdir ffmpeg
cp -r libswscale/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libswresample/ /usr/local/ffmpeg/include/ffmpeg/
# cp -r libpostproc/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavutil/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavformat/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavfilter/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavcodec/ /usr/local/ffmpeg/include/ffmpeg/
cp -r libavdevice/ /usr/local/ffmpeg/include/ffmpeg/
cp -r ffmpeg/ /usr/include/
## ffmpeg 安装程序会在 /usr/local/ffmpeg/lib/pkgconfig 目录下提供 libavcodec.pc libswscale.pc 等5个.pc文件,分别对应安装的五个库文件。必须要让 pkg-config 能找到 ffmpeg 的 *.pc 文件,通过 PKG_CONFIG_PATH 来设置 pkg-config 来更新。
echo 'export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig:/usr/local/ffmpeg/lib/pkgconfig' >> /etc/profile
echo 'export FFMPEG_HOME=/usr/local/ffmpeg' >> /etc/profile
echo 'export PATH=$PATH:$FFMPEG_HOME' >> /etc/profile
source /etc/profile



## 创建文件(多级目录加上-p)
# mkdir ZLMediaKit

# 安装其他依赖库(某些包可能需要手动下载)
sudo yum install libssl-dev
sudo yum install libsdl-dev
sudo yum install libavcodec-dev
sudo yum install libavutil-dev


# 克隆项目
git clone --depth 1 https://gitee.com/xia-chu/ZLMediaKit
cd ZLMediaKit
# 更新包(项目有较多依赖要更新)
git submodule update --init
mkdir build
cd build
# 可能得执行两遍
cmake ..
cmake ..
# make过程可能也得多尝试
make -j4

cd ./release/linux/Debug
#通过-h可以了解启动参数
./MediaServer -h
#以守护进程模式启动
./MediaServer -d &

 

posted @ 2020-12-15 21:44  小城熊儿  阅读(1486)  评论(0编辑  收藏  举报