先说环境,在docker下的gpu环境ffmpeg,然后今天突然无法使用,使用时出现如下图所示:
看着报错大致内容是找不到设备,网上寻找一番没有有用的东西,于是决定自己解决,仔细察看一番后,猜测应该是驱动问题,主机驱动无故升级,导致无法使用。
本来主机驱动为510版本,未知原因导致主机升级到535,出问题后发现docker内部也显示为535
主机降级驱动后,搜索libnvcuvid.so文件,可以用下面指令:
whereis libnvcuvid.so
然后拷贝到docker内部/usr/local/cuda/lib64/目录下,然后进入该目录,执行如下指令:
ln -s libnvcuvid.so.510.85.02 libnvcuvid.so.1
ln -s libnvcuvid.so.1 libnvcuvid.so
如果提示文件已存在,则先删除再建立链接。
紧接着正常执行:
ffmpeg -hwaccel cuvid -c:v h264_cuvid -rtsp_transport tcp -i "rtsp://admin:Yy2021..@10.1.100.68:554/Streaming/Channels/1" -c:v h264_nvenc -b:v 2048k -vf scale_npp=1280:-1 -y 122.mp4