安装与测试
1 配置环境
- Nvidia 驱动
- cuda
- NVIDIA VIDEO CODEC SDK
- ffmpeg
- opencv和opencv_contrib
1.0 安装Nvidia驱动
1.1 安装cuda
安装cuda
1.2 安装NVIDIA VIDEO CODEC SDK
注意cuda9.0与cuda10.0的区别
CUDA 10.0 中 Decode 模块已经被废弃:https://docs.nvidia.com/cuda/video-decoder/index.html
该模块和 Encode 模块将作为 NVIDIA VIDEO CODEC SDK 模块独立发行:https://developer.nvidia.com/nvidia-video-codec-sdk
解决方案1:
(For CUDA 10.0 or later) CUDA 9.x should have no problem. cuda10的同志们这里注意了!!!
Video decoder is deprecated in CUDA 10.0. To handle this, download NVIDIA VIDEO CODEC SDK and copy the header files to your cuda path (/usr/local/cuda-10.0/include/ for example). Note that you may have to do as root.
unzip Video_Codec_SDK_9.0.20.zip
cp Video_Codec_SDK_9.0.20/include/nvcuvid.h /usr/local/cuda-10.0/include/
cp Video_Codec_SDK_9.0.20/include/cuviddec.h /usr/local/cuda-10.0/include/
如上所示,从Nvidia官网下载与cuda版本相对应版本的 VIDEO CODEC SDK,并按照上述步骤将其解压,复制nvcuvid.h和cuviddec.h到相应的位置。
这里给出两个VIDEO CODEC SDK 对应的 cuda 版本,其余的可从官网找到:https://developer.nvidia.com/nvidia-video-codec-sdk
Video_Codec_SDK_9.0.20 <------> cuda-10.0
Video_Codec_SDK_10.0.26 <------> cuda-10.1 或 cuda-10.2
否者,使用如下配置编译opencv时,将会报错:Cuda 10.0 fatal error: nvcuvid.h: No such file or directory
cmake -D BUILD_opencv_cudacodec=ON
解决方案2:
既然 nvcuvid.h 和 cuviddec.h 两个头文件不在搜索路径下,那么将其添加到编译时的搜索路径下就可以解决 fatal error: nvcuvid.h: No such file or directory 错误了,操作如下:
从Nvidia官网下载与cuda版本相对应版本的 VIDEO CODEC SDK,并将其解压。
# unzip
unzip Video_Codec_SDK_10.0.26.zip
# 在 .bashrc 文件中添加 C_INCLUDE_PATH 和 CPLUS_INCLUDE_PATH 两个变量
vi ~/.bashrc
export C_INCLUDE_PATH=/home/jyguan/software/Video