[FFmpeg-user] ffmpeg nvenc without cuda

Johanna Nilson jnils75 at gmail.com
Fri Sep 20 17:39:11 EEST 2019


Thank you for your reply. I'm working with virtual machine provided on the
basis of Nvidia Tesla M10 with profile that allow to use nvenc, but don't
provide cuda cores. That's why I receive the following.

Command: ffmpeg -f gdigrab -i desktop -framerate 30 -tune zerolatency -r 30
-c:v hevc_nvenc -f mpegts udp://...

Log:
ffmpeg version 4.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 9.1.1 (GCC) 20190807
  configuration: --enable-gpl --enable-version3 --enable-sdl2
--enable-fontconfi
g --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d
--enable-libb
luray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb
--enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus
--enable-libshine --e
nable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame
--enable
-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
--enable-libx265 -
-enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
--enab
le-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
--en
able-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf
--en
able-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc
--enable-nvdec --e
nable-dxva2 --enable-avisynth --enable-libopenmpt
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[gdigrab @ 00000000005a0e40] Capturing whole desktop as 1920x1080x32 at
(0,0)
[gdigrab @ 00000000005a0e40] Stream #0: not enough frames to estimate rate;
cons
ider increasing probesize
Input #0, gdigrab, from 'desktop':
  Duration: N/A, start: 1568988869.469726, bitrate: 1988680 kb/s
    Stream #0:0: Video: bmp, bgra, 1920x1080, 1988680 kb/s, 29.97 fps,
1000k tbr
, 1000k tbn, 1000k tbc
Codec AVOption tune (Tune the encoding to a specific scenario) specified
for out
put file #0 (udp://192.168.1.99:25755) has not been used for any stream.
The most
 likely reason is either wrong type (e.g. a video option with no video
streams)
or that it is a private option of some encoder which was not actually used
for a
ny stream.
Stream mapping:
  Stream #0:0 -> #0:0 (bmp (native) -> hevc (hevc_nvenc))
Press [q] to stop, [?] for help
[hevc_nvenc @ 00000000005a6840] dl_fn->cuda_dl->cuInit(0) failed ->
CUDA_ERROR_N
O_DEVICE: no CUDA-capable device is detected
Error initializing output stream 0:0 -- Error while opening encoder for
output s
tream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or
height
Conversion failed!

The same log error (dl_fn->cuda_dl->cuInit(0) failed ->
CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected) I receive when I
use Command: ffmpeg -f gdigrab -i desktop -framerate 30 -tune zerolatency
-r 30 -c:v  h264_nvenc -f mpegts udp://...

пт, 20 сент. 2019 г. в 02:45, Dennis Mungai <dmngaie at gmail.com>:

> On Fri, 20 Sep 2019 at 00:21, Johanna Nilson <jnils75 at gmail.com> wrote:
>
> > Dear Sirs
> >
> > Is it possible to use nvenc (h264_nvenc and hevc_nvenc) without cuda at
> > all? Just now I get error that No cuda device detected, when use
> something
> > like:
> >
> > ffmpeg -f gdigrab -i desktop -framerate 30 -tune zerolatency -r 30 -c:v
> > h264_nvenc -f mpegts udp://...
> > ffmpeg -f gdigrab -i desktop -framerate 30 -tune zerolatency -r 30 -c:v
> > hevc_nvenc -f mpegts udp://...
> >
> > But my system has architecture where there is nvenc support, but no cuda
> > support at all. So I need to perform encoding at nvenc without any
> requests
> > to cuda cores. Please, tell me, is it possible? Thank you very much
>
>
>
> Hey there,
>
> A few notes:
>
> 1. NVENC is a discrete silicon IP block on your GPU. It’s either there (if
> supported on the GPU) or not. Cards prior to Kepler, including rebranded
> mobile GPUs from the Fermi architecture do not have NVENC on them. The same
> also applies to the Lower tier Gx1x8 GPU lines such as the GT 1030 and the
> Quadro P500. If you have one of these cards mentioned, you cannot use
> NVENC.
>
> 2. Typically, when ffmpeg reports the “no NVENC device found” error, then
> the command line in use is calling up encoder arguments not compatible with
> NVENC on your current GPU. Common examples: Specifying an unusable pixel
> format, or attempting to encode interlaced content on Turing.
>
> 3. If you’re specifically seeing “no CUDA device found” then confirm that
> your device driver is indeed installed. The nvidia-smi tool can confirm
> this.
>
> For the reason in 2 and 3 above, please provide the full console output
> from ffmpeg. To verify if (1) applies to you, also provide the output from
> nvidia-smi.
> I’m assuming that you have the device driver installed at the very least.
>
> >
> >
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".


More information about the ffmpeg-user mailing list