ffmpeg Устройства с поддержкой NVENC не найдены, если они работают на нескольких графических процессорах
У меня есть 4 графических процессора Geforce 1060 и работающий ffmpeg с cuvid на сервере Ubuntu.
Если я запускаю это:
/bin/ffmpeg -hwaccel cuvid -i 0.mkv -c:v hevc_nvenc -profile:v main -rc vbr_hq -qmin 18 -qmax 24 -b:v 1000k -maxrate 3000k -preset slow -rc-lookahead 32 -g 250 -c:a copy -c:s copy -map 0 -gpu 0 out0.mkv </dev/null
(обратите внимание -gpu 0) это работает как шарм. Я могу запустить 2 преобразования одновременно (на разных графических процессорах):
/bin/ffmpeg -hwaccel cuvid -i 1.mkv -c:v hevc_nvenc -profile:v main -rc vbr_hq -qmin 18 -qmax 24 -b:v 1000k -maxrate 3000k -preset slow -rc-lookahead 32 -g 250 -c:a copy -c:s copy -map 0 -gpu 1 out1.mkv </dev/null
/bin/ffmpeg -hwaccel cuvid -i 2.mkv -c:v hevc_nvenc -profile:v main -rc vbr_hq -qmin 18 -qmax 24 -b:v 1000k -maxrate 3000k -preset slow -rc-lookahead 32 -g 250 -c:a copy -c:s copy -map 0 -gpu 2 out2.mkv </dev/null
все это прекрасно работает, и я вижу через nvidia-smi, что процессы используют именованные графические процессоры.
Но если я запускаю все три команды вместе, первые две запускаются нормально, а третья помечается:
# [hevc_nvenc @ 0x5601103ca560] OpenEncodeSessionEx failed: out of memory (10)
# [hevc_nvenc @ 0x5601103ca560] No NVENC capable devices
# found Error initializing output stream 0:0 -- Error while opening
# encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
Памяти (на графических процессорах и системе) более чем достаточно!
кто-нибудь может мне помочь этим?