一、安装cmake及g++
# 安装cmake
sudo apt install cmake
# 查看make版本
make -v
# 安装g++
sudo apt-get install g++
# 更新系统
sudo apt-get update
二、安装cuda、cudnn
nvidia-smi
# 首先在英伟达官网下载cuda进行安装即可。
https://developer.nvidia.com/cuda-toolkit-archive
sudo sh cuda_11.8_455.32.00_linux.run
# 在安装过程中会跳出一些选择界面,首先是 Abort和continue,选择continue。然后输入accept后出现CUDA Installer,因为已经安装过NVIDIA的驱动了,而弹出的CUDA Installer 自带显卡驱动,所以这一步按空格去掉安装显卡驱动的选项(这一步很重要,如果不去掉可能会引起驱动冲突,导致最后pytorch配置完后,torch.cuda.is_available()=False),然后选择install,就好了。
# 配置环境变量
gedit ~/.bashrc
# 在文件结尾输入以下语句,保存
export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 更新环境变量配置
source ~/.bashrc
# nvcc -V命令查看cuda信息
# 如果想要卸载CUDA(例如重新安装了驱动等情况),需要使用下面的命令
cd /usr/local/cuda-xx.x/bin/
sudo ./cuda-uninstaller
sudo rm -rf /usr/local/cuda-xx.x
# 安装CUDNN
https://developer.nvidia.com/rdp/cudnn-archive
# 单击后选择cuDNN Library for Linux(x86_64)下载安装包
tar -zxvf cudnnXXXXXXXXXX.tgz
cp cuda/lib/* /usr/local/cuda-11.1/lib64/
cp cuda/include/* /usr/local/cuda-11.1/include/
# 查看cuDNN的信息
cat /usr/local/cuda-11.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
三、安装TensorRT
# 官网下载TensorRT并解压缩到 /usr/local 目录中
sudo tar -xzvf TensorRT-8.6.1.6.Ubuntu-20.04.x86_64-gnu.cuda-11.8.cudnn8.6.tar.gz -C /usr/local
# 创建软链接
sudo ln -s /usr/local/TensorRT-8.6.1.6 /usr/local/tensorRT
# 添加环境变量
gedit ~/.bashrc
# 将下面两行代码添加到 ~/.bashrc 文件中
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/tensorRT/lib:/usr/local/cuda/lib64:/usr/local/lib
export CPATH=$CPATH:/usr/local/cuda/include:/usr/local/tensorRT/include
# 更新环境变量配置
source ~/.bashrc
四、nginx搭建
# 安装编译 nginx 所需要的库
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
mkdir nginx_rtmp
cd nginx_rtmp/
wget http://nginx.org/download/nginx-1.21.6.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
tar -xf nginx-1.21.6.tar.gz
unzip master.zip
cd nginx-1.21.6
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
make
sudo make install
# 检查nginx是否安装完成
/usr/local/nginx/sbin/nginx -v
# 启动
sudo /usr/local/nginx/sbin/nginx
# 配置nginx使用RTMP, /usr/local/nginx/conf/nginx.conf
gedit /usr/local/nginx/conf/nginx.conf
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
source ~/.bashrc
# 重启nginx服务器
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
五、opencv安装
# 安装依赖
sudo apt install build-essential cmake git pkg-config libgtk-3-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev gfortran openexr libatlas-base-dev python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
cd opencv
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_TBB=ON \
-D ENABLE_FAST_MATH=1 \
-D CUDA_FAST_MATH=1 \
-D WITH_CUBLAS=1 \
-D WITH_CUDA=ON \
-D BUILD_opencv_cudacodec=OFF \
-D WITH_CUDNN=ON \
-D OPENCV_DNN_CUDA=ON \
-D CUDA_ARCH_BIN=8.6 \
-D WITH_V4L=ON \
-D WITH_QT=OFF \
-D WITH_OPENGL=ON \
-D WITH_GSTREAMER=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_PC_FILE_NAME=opencv.pc \
-D OPENCV_ENABLE_NONFREE=ON \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D INSTALL_C_EXAMPLES=OFF \
-D BUILD_EXAMPLES=OFF ..
make -j$(nproc)
sudo make install
sudo ldconfig
六、FFmpeg
依赖库
sudo apt-get install -y autoconf automake build-essential git libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev
sudo apt-get install ffmpeg
测试
ffmpeg –version