docker内使用ffmpeg的硬件加速模式报错:Cannot load libnvcuvid.so.1

//使用ffmpeg的gpu模式解码
codec = avcodec_find_decoder_by_name("h264_cuvid");

报错:Cannot load libnvcuvid.so.1

  • docker容器内对应文件,需要从宿主机拷贝到容器内,再做一个软连接
  • ubuntu 系统
# 在这些目录下查找上述文件
/lib/x86_64-linux-gnu
/usr/lib/x86_64-linux-gnu

# 宿主机
//具体名称跟宿主机安装的gpu版本相关
/usr/lib/x86_64-linux-gnu/libnvcuvid.so.440.100    
/usr/lib/x86_64-linux-gnu/libnvidia-encode.so.440.100    //用于编码

# 拷贝到docker这里
/lib64/libnvcuvid.so.440.100
/lib64/libnvidia-encode.so.440.100


# docker内软连接
ln -s /lib64/libnvcuvid.so.440.100 /lib64/libnvcuvid.so.1
ln -s /lib64/libnvidia-encode.so.440.100 /lib64/libnvidia-encode.so.1

如果依然报错,需要export导入该目录到环境变量

你可能感兴趣的:(docker内使用ffmpeg的硬件加速模式报错:Cannot load libnvcuvid.so.1)