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 &