>
> Thank you for your answer. Now I've tried:
>
> nvidia-smi -g 0 -fdm 1
> Return:
> Unable to set driver model for GPU 00000000:00:10.0: Not Supported
> Treating as warning and moving on.
> All done.
>
> nvidia-smi -g 0 -dm 1
> Return:
> Unable to set driver model for GPU 00000000:00:10.0: TCC can't be enabled
> for device with active display.
> Treating as warning and moving on.
> All done.
>
> ffmpeg -y -thread_queue_size 5120 -use_wallclock_as_timestamps 1 -fflags
> +genpts -loglevel debug -vsync 1 -f gdigrab -draw_mouse 0 -framerate 60 -i
> desktop -c:v h264_nvenc -profile:v high -rc:v cbr_ld_hq -r:v 60 -g:v 120
> -b:v 8000k -minrate:v 8000k -maxrate:v 8000k -bufsize:v 8000k -an
> -flush_packets 0 -bsf:v h264_mp4toannexb -muxrate 16000k -pcr_period 20
> -mpegts_flags +resend_headers -mpegts_start_pid 0x15 -t 240 -f mpegts udp://
> 192.168.1.99:12345
> Return:
> 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
> Splitting the commandline.
> Reading option '-y' ... matched as option 'y' (overwrite output files) with
> argu
> ment '1'.
> Reading option '-thread_queue_size' ... matched as option
> 'thread_queue_size' (s
> et the maximum number of queued packets from the demuxer) with argument
> '5120'.
> Reading option '-use_wallclock_as_timestamps' ... matched as AVOption
> 'use_wallc
> lock_as_timestamps' with argument '1'.
> Reading option '-fflags' ... matched as AVOption 'fflags' with argument
> '+genpts
> '.
> Reading option '-loglevel' ... matched as option 'loglevel' (set logging
> level)
> with argument 'debug'.
> Reading option '-vsync' ... matched as option 'vsync' (video sync method)
> with a
> rgument '1'.
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'gdig
> rab'.
> Reading option '-draw_mouse' ... matched as AVOption 'draw_mouse' with
> argument
> '0'.
> Reading option '-framerate' ... matched as AVOption 'framerate' with
> argument '6
> 0'.
> Reading option '-i' ... matched as input url with argument 'desktop'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264
> _nvenc'.
> Reading option '-profile:v' ... matched as option 'profile' (set profile)
> with a
> rgument 'high'.
> Reading option '-rc:v' ... matched as AVOption 'rc:v' with argument
> 'cbr_ld_hq'.
>
> Reading option '-r:v' ... matched as option 'r' (set frame rate (Hz value,
> fract
> ion or abbreviation)) with argument '60'.
> Reading option '-g:v' ... matched as AVOption 'g:v' with argument '120'.
> Reading option '-b:v' ... matched as option 'b' (video bitrate (please use
> -b:v)
> ) with argument '8000k'.
> Reading option '-minrate:v' ... matched as AVOption 'minrate:v' with
> argument '8
> 000k'.
> Reading option '-maxrate:v' ... matched as AVOption 'maxrate:v' with
> argument '8
> 000k'.
> Reading option '-bufsize:v' ... matched as AVOption 'bufsize:v' with
> argument '8
> 000k'.
> Reading option '-an' ... matched as option 'an' (disable audio) with
> argument '1
> '.
> Reading option '-flush_packets' ... matched as AVOption 'flush_packets'
> with arg
> ument '0'.
> Reading option '-bsf:v' ... matched as option 'bsf' (A comma-separated list
> of b
> itstream filters) with argument 'h264_mp4toannexb'.
> Reading option '-muxrate' ... matched as AVOption 'muxrate' with argument
> '16000
> k'.
> Reading option '-pcr_period' ... matched as AVOption 'pcr_period' with
> argument
> '20'.
> Reading option '-mpegts_flags' ... matched as AVOption 'mpegts_flags' with
> argum
> ent '+resend_headers'.
> Reading option '-mpegts_start_pid' ... matched as AVOption
> 'mpegts_start_pid' wi
> th argument '0x15'.
> Reading option '-t' ... matched as option 't' (record or transcode
> "duration" se
> conds of audio/video) with argument '240'.
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'mpeg
> ts'.
> Reading option 'udp://192.168.1.99:12345' ... matched as output url.
> Finished splitting the commandline.
> Parsing a group of options: global .
> Applying option y (overwrite output files) with argument 1.
> Applying option loglevel (set logging level) with argument debug.
> Applying option vsync (video sync method) with argument 1.
> Successfully parsed a group of options.
> Parsing a group of options: input url desktop.
> Applying option thread_queue_size (set the maximum number of queued packets
> from
> the demuxer) with argument 5120.
> Applying option f (force format) with argument gdigrab.
> Successfully parsed a group of options.
> Opening an input file: desktop.
> [gdigrab @ 00000000005c5840] Capturing whole desktop as 1920x1080x32 at
> (0,0)
> [gdigrab @ 00000000005c5840] Probe buffer size limit of 5000000 bytes
> reached
> [gdigrab @ 00000000005c5840] Stream #0: not enough frames to estimate rate;
> cons
> ider increasing probesize
> Input #0, gdigrab, from 'desktop':
> Duration: N/A, start: 1569079540.013671, bitrate: 3981337 kb/s
> Stream #0:0, 1, 1/1000000: Video: bmp, 1 reference frame, bgra,
> 1920x1080, 0
> /1, 3981337 kb/s, 60 fps, 1000k tbr, 1000k tbn, 1000k tbc
> Successfully opened the file.
> Parsing a group of options: output url udp://192.168.1.99:12345.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option profile:v (set profile) with argument high.
> Applying option r:v (set frame rate (Hz value, fraction or abbreviation))
> with a
> rgument 60.
> Applying option b:v (video bitrate (please use -b:v)) with argument 8000k.
> Applying option an (disable audio) with argument 1.
> Applying option bsf:v (A comma-separated list of bitstream filters) with
> argumen
> t h264_mp4toannexb.
> Applying option t (record or transcode "duration" seconds of audio/video)
> with a
> rgument 240.
> Applying option f (force format) with argument mpegts.
> Successfully parsed a group of options.
> Opening an output file: udp://192.168.1.99:12345.
> [udp @ 00000000005ea200] No default whitelist set
> Successfully opened the file.
> Stream mapping:
> Stream #0:0 -> #0:0 (bmp (native) -> h264 (h264_nvenc))
> Press [q] to stop, [?] for help
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it o
> ccurs once at the start per stream)
> detected 4 logical cores
> [graph 0 input from stream 0:0 @ 00000000005fba40] Setting 'video_size' to
> value
> '1920x1080'
> [graph 0 input from stream 0:0 @ 00000000005fba40] Setting 'pix_fmt' to
> value '2
> 8'
> [graph 0 input from stream 0:0 @ 00000000005fba40] Setting 'time_base' to
> value
> '1/1000000'
> [graph 0 input from stream 0:0 @ 00000000005fba40] Setting 'pixel_aspect'
> to val
> ue '0/1'
> [graph 0 input from stream 0:0 @ 00000000005fba40] Setting 'sws_param' to
> value
> 'flags=2'
> [graph 0 input from stream 0:0 @ 00000000005fba40] Setting 'frame_rate' to
> value
> '60/1'
> [graph 0 input from stream 0:0 @ 00000000005fba40] w:1920 h:1080
> pixfmt:bgra tb:
> 1/1000000 fr:60/1 sar:0/1 sws_param:flags=2
> [format @ 00000000005fcb00] Setting 'pix_fmts' to value
> 'yuv420p|nv12|p010le|yuv
> 444p|p016le|yuv444p16le|bgr0|rgb0|cuda|d3d11'
> [auto_scaler_0 @ 00000000005ff740] Setting 'flags' to value 'bicubic'
> [auto_scaler_0 @ 00000000005ff740] w:iw h:ih flags:'bicubic' interl:0
> [format @ 00000000005fcb00] auto-inserting filter 'auto_scaler_0' between
> the fi
> lter 'Parsed_null_0' and the filter 'format'
> [AVFilterGraph @ 00000000005e7140] query_formats: 5 queried, 3 merged, 1
> already
> done, 0 delayed
> [auto_scaler_0 @ 00000000005ff740] picking rgb0 out of 8 ref:bgra alpha:1
> [swscaler @ 0000000000605fc0] Forcing full internal H chroma due to input
> having
> non subsampled chroma
> [auto_scaler_0 @ 00000000005ff740] w:1920 h:1080 fmt:bgra sar:0/1 -> w:1920
> h:10
> 80 fmt:rgb0 sar:0/1 flags:0x4
> [h264_nvenc @ 00000000005cbb40] Loaded lib: nvcuda.dll
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuInit
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuDeviceGetCount
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuDeviceGet
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuDeviceGetAttribute
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuDeviceGetName
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuDeviceComputeCapability
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuCtxCreate_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuCtxSetLimit
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuCtxPushCurrent_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuCtxPopCurrent_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuCtxDestroy_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuMemAlloc_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuMemAllocPitch_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuMemsetD8Async
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuMemFree_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuMemcpy2D_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuMemcpy2DAsync_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuGetErrorName
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuGetErrorString
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuStreamCreate
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuStreamQuery
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuStreamSynchronize
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuStreamDestroy_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuStreamAddCallback
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuEventCreate
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuEventDestroy_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuEventSynchronize
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuEventQuery
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuEventRecord
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuLaunchKernel
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuModuleLoadData
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuModuleUnload
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuModuleGetFunction
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuTexObjectCreate
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuTexObjectDestroy
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuGLGetDevices_v2
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuGraphicsGLRegisterImage
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuGraphicsUnregisterResource
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuGraphicsMapResources
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuGraphicsUnmapResources
> [h264_nvenc @ 00000000005cbb40] Loaded sym:
> cuGraphicsSubResourceGetMappedArray
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuDeviceGetUuid
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuImportExternalMemory
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuDestroyExternalMemory
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuExternalMemoryGetMappedBuffer
> [h264_nvenc @ 00000000005cbb40] Loaded sym:
> cuExternalMemoryGetMappedMipmappedAr
> ray
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuMipmappedArrayGetLevel
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuMipmappedArrayDestroy
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuImportExternalSemaphore
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuDestroyExternalSemaphore
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuSignalExternalSemaphoresAsync
> [h264_nvenc @ 00000000005cbb40] Loaded sym: cuWaitExternalSemaphoresAsync
> [h264_nvenc @ 00000000005cbb40] Loaded lib: nvEncodeAPI64.dll
> [h264_nvenc @ 00000000005cbb40] Loaded sym: NvEncodeAPICreateInstance
> [h264_nvenc @ 00000000005cbb40] Loaded sym:
> NvEncodeAPIGetMaxSupportedVersion
> [h264_nvenc @ 00000000005cbb40] Loaded Nvenc version 9.0
> [h264_nvenc @ 00000000005cbb40] Nvenc initialized successfully
> [h264_nvenc @ 00000000005cbb40] dl_fn->cuda_dl->cuInit(0) failed ->
> CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
> [h264_nvenc @ 00000000005cbb40] Nvenc unloaded
> 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
> [AVIOContext @ 00000000005fabc0] Statistics: 0 seeks, 0 writeouts
> Conversion failed!
>
> f0 -y -thread_queue_size 5120 -fflags +genpts -loglevel debug -vsync 1
> -hwaccel dxva2 -hwaccel_device 0 -f gdigrab -draw_mouse 0 -framerate 60 -i
> desktop -c:v h264_nvenc -profile:v high -preset:v llhq -rc:v cbr_ld_hq -r:v
> 60 -g:v 120 -b:v 8000k -minrate:v 8000k -maxrate:v 8000k -bufsize:v 8000k
> -gpu:v 0 -an -flush_packets 0 -bsf:v h264_mp4toannexb -muxrate 16000k
> -pcr_period 20 -mpegts_flags +resend_headers -f mpegts udp://
> 192.168.1.99:12345
> Return:
> 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
> Splitting the commandline.
> Reading option '-y' ... matched as option 'y' (overwrite output files) with
> argu
> ment '1'.
> Reading option '-thread_queue_size' ... matched as option
> 'thread_queue_size' (s
> et the maximum number of queued packets from the demuxer) with argument
> '5120'.
> Reading option '-fflags' ... matched as AVOption 'fflags' with argument
> '+genpts
> '.
> Reading option '-loglevel' ... matched as option 'loglevel' (set logging
> level)
> with argument 'debug'.
> Reading option '-vsync' ... matched as option 'vsync' (video sync method)
> with a
> rgument '1'.
> Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW
> accelerated de
> coding) with argument 'dxva2'.
> Reading option '-hwaccel_device' ... matched as option 'hwaccel_device'
> (select
> a device for HW acceleration) with argument '0'.
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'gdig
> rab'.
> Reading option '-draw_mouse' ... matched as AVOption 'draw_mouse' with
> argument
> '0'.
> Reading option '-framerate' ... matched as AVOption 'framerate' with
> argument '6
> 0'.
> Reading option '-i' ... matched as input url with argument 'desktop'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264
> _nvenc'.
> Reading option '-profile:v' ... matched as option 'profile' (set profile)
> with a
> rgument 'high'.
> Reading option '-preset:v' ... matched as AVOption 'preset:v' with argument
> 'llh
> q'.
> Reading option '-rc:v' ... matched as AVOption 'rc:v' with argument
> 'cbr_ld_hq'.
>
> Reading option '-r:v' ... matched as option 'r' (set frame rate (Hz value,
> fract
> ion or abbreviation)) with argument '60'.
> Reading option '-g:v' ... matched as AVOption 'g:v' with argument '120'.
> Reading option '-b:v' ... matched as option 'b' (video bitrate (please use
> -b:v)
> ) with argument '8000k'.
> Reading option '-minrate:v' ... matched as AVOption 'minrate:v' with
> argument '8
> 000k'.
> Reading option '-maxrate:v' ... matched as AVOption 'maxrate:v' with
> argument '8
> 000k'.
> Reading option '-bufsize:v' ... matched as AVOption 'bufsize:v' with
> argument '8
> 000k'.
> Reading option '-gpu:v' ... matched as AVOption 'gpu:v' with argument '0'.
> Reading option '-an' ... matched as option 'an' (disable audio) with
> argument '1
> '.
> Reading option '-flush_packets' ... matched as AVOption 'flush_packets'
> with arg
> ument '0'.
> Reading option '-bsf:v' ... matched as option 'bsf' (A comma-separated list
> of b
> itstream filters) with argument 'h264_mp4toannexb'.
> Reading option '-muxrate' ... matched as AVOption 'muxrate' with argument
> '16000
> k'.
> Reading option '-pcr_period' ... matched as AVOption 'pcr_period' with
> argument
> '20'.
> Reading option '-mpegts_flags' ... matched as AVOption 'mpegts_flags' with
> argum
> ent '+resend_headers'.
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'mpeg
> ts'.
> Reading option 'udp://192.168.1.99:12345' ... matched as output url.
> Finished splitting the commandline.
> Parsing a group of options: global .
> Applying option y (overwrite output files) with argument 1.
> Applying option loglevel (set logging level) with argument debug.
> Applying option vsync (video sync method) with argument 1.
> Successfully parsed a group of options.
> Parsing a group of options: input url desktop.
> Applying option thread_queue_size (set the maximum number of queued packets
> from
> the demuxer) with argument 5120.
> Applying option hwaccel (use HW accelerated decoding) with argument dxva2.
> Applying option hwaccel_device (select a device for HW acceleration) with
> argume
> nt 0.
> Applying option f (force format) with argument gdigrab.
> Successfully parsed a group of options.
> Opening an input file: desktop.
> [gdigrab @ 0000000000633740] Capturing whole desktop as 1920x1080x32 at
> (0,0)
> [gdigrab @ 0000000000633740] Probe buffer size limit of 5000000 bytes
> reached
> [gdigrab @ 0000000000633740] Stream #0: not enough frames to estimate rate;
> cons
> ider increasing probesize
> Input #0, gdigrab, from 'desktop':
> Duration: N/A, start: 1569079689.981445, bitrate: 3981337 kb/s
> Stream #0:0, 1, 1/1000000: Video: bmp, 1 reference frame, bgra,
> 1920x1080, 0
> /1, 3981337 kb/s, 60 fps, 1000k tbr, 1000k tbn, 1000k tbc
> Successfully opened the file.
> Parsing a group of options: output url udp://192.168.1.99:12345.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option profile:v (set profile) with argument high.
> Applying option r:v (set frame rate (Hz value, fraction or abbreviation))
> with a
> rgument 60.
> Applying option b:v (video bitrate (please use -b:v)) with argument 8000k.
> Applying option an (disable audio) with argument 1.
> Applying option bsf:v (A comma-separated list of bitstream filters) with
> argumen
> t h264_mp4toannexb.
> Applying option f (force format) with argument mpegts.
> Successfully parsed a group of options.
> Opening an output file: udp://192.168.1.99:12345.
> [udp @ 0000000000659500] No default whitelist set
> Successfully opened the file.
> [AVHWDeviceContext @ 0000000000637140] Using D3D9Ex device.
> Stream mapping:
> Stream #0:0 -> #0:0 (bmp (native) -> h264 (h264_nvenc))
> Press [q] to stop, [?] for help
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it o
> ccurs once at the start per stream)
> detected 4 logical cores
> [graph 0 input from stream 0:0 @ 0000000006580400] Setting 'video_size' to
> value
> '1920x1080'
> [graph 0 input from stream 0:0 @ 0000000006580400] Setting 'pix_fmt' to
> value '2
> 8'
> [graph 0 input from stream 0:0 @ 0000000006580400] Setting 'time_base' to
> value
> '1/1000000'
> [graph 0 input from stream 0:0 @ 0000000006580400] Setting 'pixel_aspect'
> to val
> ue '0/1'
> [graph 0 input from stream 0:0 @ 0000000006580400] Setting 'sws_param' to
> value
> 'flags=2'
> [graph 0 input from stream 0:0 @ 0000000006580400] Setting 'frame_rate' to
> value
> '60/1'
> [graph 0 input from stream 0:0 @ 0000000006580400] w:1920 h:1080
> pixfmt:bgra tb:
> 1/1000000 fr:60/1 sar:0/1 sws_param:flags=2
> [format @ 0000000006581440] Setting 'pix_fmts' to value
> 'yuv420p|nv12|p010le|yuv
> 444p|p016le|yuv444p16le|bgr0|rgb0|cuda|d3d11'
> [auto_scaler_0 @ 0000000006581880] Setting 'flags' to value 'bicubic'
> [auto_scaler_0 @ 0000000006581880] w:iw h:ih flags:'bicubic' interl:0
> [format @ 0000000006581440] auto-inserting filter 'auto_scaler_0' between
> the fi
> lter 'Parsed_null_0' and the filter 'format'
> [AVFilterGraph @ 00000000006361c0] query_formats: 4 queried, 2 merged, 1
> already
> done, 0 delayed
> [auto_scaler_0 @ 0000000006581880] picking rgb0 out of 8 ref:bgra alpha:1
> [swscaler @ 0000000000679fc0] Forcing full internal H chroma due to input
> having
> non subsampled chroma
> [auto_scaler_0 @ 0000000006581880] w:1920 h:1080 fmt:bgra sar:0/1 -> w:1920
> h:10
> 80 fmt:rgb0 sar:0/1 flags:0x4
> [h264_nvenc @ 000000000063cc40] Loaded lib: nvcuda.dll
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuInit
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuDeviceGetCount
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuDeviceGet
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuDeviceGetAttribute
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuDeviceGetName
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuDeviceComputeCapability
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuCtxCreate_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuCtxSetLimit
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuCtxPushCurrent_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuCtxPopCurrent_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuCtxDestroy_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuMemAlloc_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuMemAllocPitch_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuMemsetD8Async
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuMemFree_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuMemcpy2D_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuMemcpy2DAsync_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuGetErrorName
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuGetErrorString
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuStreamCreate
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuStreamQuery
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuStreamSynchronize
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuStreamDestroy_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuStreamAddCallback
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuEventCreate
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuEventDestroy_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuEventSynchronize
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuEventQuery
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuEventRecord
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuLaunchKernel
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuModuleLoadData
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuModuleUnload
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuModuleGetFunction
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuTexObjectCreate
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuTexObjectDestroy
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuGLGetDevices_v2
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuGraphicsGLRegisterImage
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuGraphicsUnregisterResource
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuGraphicsMapResources
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuGraphicsUnmapResources
> [h264_nvenc @ 000000000063cc40] Loaded sym:
> cuGraphicsSubResourceGetMappedArray
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuDeviceGetUuid
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuImportExternalMemory
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuDestroyExternalMemory
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuExternalMemoryGetMappedBuffer
> [h264_nvenc @ 000000000063cc40] Loaded sym:
> cuExternalMemoryGetMappedMipmappedAr
> ray
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuMipmappedArrayGetLevel
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuMipmappedArrayDestroy
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuImportExternalSemaphore
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuDestroyExternalSemaphore
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuSignalExternalSemaphoresAsync
> [h264_nvenc @ 000000000063cc40] Loaded sym: cuWaitExternalSemaphoresAsync
> [h264_nvenc @ 000000000063cc40] Loaded lib: nvEncodeAPI64.dll
> [h264_nvenc @ 000000000063cc40] Loaded sym: NvEncodeAPICreateInstance
> [h264_nvenc @ 000000000063cc40] Loaded sym:
> NvEncodeAPIGetMaxSupportedVersion
> [h264_nvenc @ 000000000063cc40] Loaded Nvenc version 9.0
> [h264_nvenc @ 000000000063cc40] Nvenc initialized successfully
> [h264_nvenc @ 000000000063cc40] dl_fn->cuda_dl->cuInit(0) failed ->
> CUDA_ERROR_N
> O_DEVICE: no CUDA-capable device is detected
> [h264_nvenc @ 000000000063cc40] Nvenc unloaded
> 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
> [AVIOContext @ 0000000000669e80] Statistics: 0 seeks, 0 writeouts
> Conversion failed!
>
> Contacts in Nvidia corporation said that it is not possible to use cuda
> cores on 1B profile, only nvenc itself. So, the error and question are the
> same, is it possible to use nvenc with ffmpeg and init nvenc through
> directx, without using of cuda cores?
>
>
> сб, 21 сент. 2019 г. в 12:31, Dennis Mungai <
[hidden email]>:
>
> > On Sat, 21 Sep 2019 at 11:39, Johanna Nilson <
[hidden email]> wrote:
> > >
> > > Sorry, but I think that the problem is not in profile M10-1B. This
> > article (
> > >
https://support.citrix.com/article/CTX217781) says that we require
> > profile
> > > with equal or more than 1GB to use NVENC, but M10-1B include 1GB, so,
> > it's
> > > ok.
> > >
> > > When I use command:
> > > ffmpeg -f gdigrab -i desktop -framerate 30 -tune zerolatency -r 30 -c:v
> > > hevc_nvenc -f mpegts udp://...
> > >
> > > FFMPEG log clearly says that:
> > > [hevc_nvenc @ 00000000005a6840] dl_fn->cuda_dl->cuInit(0) failed ->
> > > CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
> > >
> > > There is no coda cores available in the profile M10-1B, but they are not
> > > needed for encoding. So, FFMPEG requirement of them is redundant. But I'm
> > > 100% sure that nvenc is available in configuration M10-1B. I've made a
> > > solution similar to this:
> > >
> >
https://github.com/bloodelves88/CloudyNvCapture/blob/master/samples/NvFBC/NvFBCDX9NvEnc/NvFBCDX9NvEnc.cpp> > > It works ok in M10-1B configuration. It uses Nvidia capture and Nvidia
> > > Nvenc without using cuda to produce h264 frame sequence. The problem in
> > > FFMPEG is that it requires cuda even when it is not used. So, please, can
> > > we do anything with this unneccesary requirement of cuda when we try to
> > use
> > > hardware encoding on nvidia cards?
> > >
> > > It's not only my issue. This man also have similar problems (
> > >
> >
https://superuser.com/questions/1482726/is-there-a-way-to-use-nvenc-for-ffmpeg-without-cuda> > ).
> > > The FFMPEG log is not the same, but question is the same. Changing M10-1B
> > > profile is not a option. It is sutable for using NVENC, the only problem
> > is
> > > that FFMPEG requires CUDA when is is noot needed.
> > >
> > > пт, 20 сент. 2019 г. в 18:26, Dennis Mungai <
[hidden email]>:
> > >
> > > > On Fri, 20 Sep 2019 at 17:55, Johanna Nilson <
[hidden email]>
> > wrote:
> > > > >
> > > > > nvidia-smi -L
> > > > > GPU 0: GRID M10-1B
> > > >
> > > > Seems like a known issue.
> > > > See
https://support.citrix.com/article/CTX217781 and this post in
> > > > particular
> > > >
> >
https://gridforums.nvidia.com/default/topic/983/xendesktop/m60-nvenc-xd-vda-7-11-only-1gb-vgpu-profiles-and-above-/post/3478/#3478> > > > Please switch to a different vGPU with at least 2 GB of VRAM, such as
> > > > M10-4A.
> > > > See this for available profiles:
> > > >
https://docs.nvidia.com/grid/latest/grid-vgpu-user-guide/index.html> >
> > Ahh, I get it now.
> > In the NVIDIA SDK, an NVENC session can be initialized via either a
> > shared CUDA context or DirectX.
> > Which reminds me: A while back, I ran into something similar with
> > VMWare's ESXi with NVIDIA's vGPU solution (GRID) based on the Tesla
> > T4.
> > Here is what I encountered and the workarounds I tried then:
> >
> > I enabled TCC mode and rebooted:
> >
> > nvidia-smi -g 0 -fdm 1
> >
> > Then ran the command:
> >
> > ffmpeg.exe -y -thread_queue_size 5120 -use_wallclock_as_timestamps 1
> > -fflags +genpts -loglevel debug -vsync 1 ^
> > -f gdigrab -draw_mouse 0 -framerate 60 -i desktop ^
> > -c:v h264_nvenc -profile:v high -rc:v cbr_ld_hq -r:v 60 -g:v 120 -b:v
> > 8000k -minrate:v 8000k -maxrate:v 8000k -bufsize:v 8000k ^
> > -an -flush_packets 0 -bsf:v h264_mp4toannexb ^
> > -muxrate 16000k -pcr_period 20 -mpegts_flags +resend_headers
> > -mpegts_start_pid 0x15 -t 240 -f mpegts "lol.m2ts"
> >
> > log:
> >
> > C:\bin>ffmpeg.exe -y -thread_queue_size 5120
> > -use_wallclock_as_timestamps 1 -fflags +genpts -loglevel debug -vsync
> > 1 ^
> > More? -f gdigrab -draw_mouse 0 -framerate 60 -i desktop ^
> > More? -c:v h264_nvenc -profile:v high -rc:v cbr_ld_hq -r:v 60 -g:v 120
> > -b:v 8000k -minrate:v 8000k -maxrate:v 8000k -bufsize:v 8000k ^
> > More? -an -flush_packets 0 -bsf:v h264_mp4toannexb ^
> > More? -muxrate 16000k -pcr_period 20 -mpegts_flags +resend_headers
> > -mpegts_start_pid 0x15 -t 240 -f mpegts "lol.m2ts"
> > ffmpeg version N-94000-g78e1d7f421-ffmpeg-windows-build-helpers
> > Copyright (c) 2000-2019 the FFmpeg developers
> > built with gcc 8.2.0 (GCC)
> > configuration: --pkg-config=pkg-config --pkg-config-flags=--static
> > --extra-version=ffmpeg-windows-build-helpers --enable-version3
> > --disable-debug --disable-w32threads --arch=x86_64 --target-os=mingw32
> >
> > --cross-prefix=/home/brainiarc7/source.build/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/bin/x86_64-w64-mingw32-
> > --enable-libcaca --enable-gray --enable-libtesseract
> > --enable-fontconfig --enable-gmp --enable-gnutls --enable-libass
> > --enable-libbluray --enable-libbs2b --enable-libflite
> > --enable-libfreetype --enable-libfribidi --enable-libgme
> > --enable-libgsm --enable-libilbc --enable-libmodplug
> > --enable-libmp3lame --enable-libopencore-amrnb
> > --enable-libopencore-amrwb --enable-libopus --enable-libsnappy
> > --enable-libsoxr --enable-libspeex --enable-libtheora
> > --enable-libtwolame --enable-libvo-amrwbenc --enable-libvorbis
> > --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi
> > --enable-libmysofa --enable-libaom --enable-libopenjpeg
> > --enable-libopenh264 --enable-liblensfun --enable-libvmaf
> > --enable-libsrt --enable-demuxer=dash --enable-libxml2 --enable-nvenc
> > --enable-nvdec --extra-libs=-lharfbuzz --extra-libs=-lm
> > --extra-libs=-lpthread --extra-cflags=-DLIBTWOLAME_STATIC
> > --extra-cflags=-DMODPLUG_STATIC --extra-cflags=-DCACA_STATIC
> > --enable-amf --enable-libmfx --enable-gpl --enable-avisynth
> > --enable-frei0r --enable-filter=frei0r --enable-librubberband
> > --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxvid
> > --enable-libxavs --enable-avresample --extra-cflags='-mtune=generic'
> > --extra-cflags=-O3 --enable-static --disable-shared
> >
> > --prefix=/home/brainiarc7/source.build/ffmpeg-windows-build-helpers/sandbox/cross_compilers/mingw-w64-x86_64/x86_64-w64-mingw32
> > libavutil 56. 28.100 / 56. 28.100
> > libavcodec 58. 52.102 / 58. 52.102
> > libavformat 58. 27.103 / 58. 27.103
> > libavdevice 58. 7.100 / 58. 7.100
> > libavfilter 7. 55.100 / 7. 55.100
> > libavresample 4. 0. 0 / 4. 0. 0
> > libswscale 5. 4.101 / 5. 4.101
> > libswresample 3. 4.100 / 3. 4.100
> > libpostproc 55. 4.100 / 55. 4.100
> > Splitting the commandline.
> > Reading option '-y' ... matched as option 'y' (overwrite output files)
> > with argument '1'.
> > Reading option '-thread_queue_size' ... matched as option
> > 'thread_queue_size' (set the maximum number of queued packets from the
> > demuxer) with argument '5120'.
> > Reading option '-use_wallclock_as_timestamps' ... matched as AVOption
> > 'use_wallclock_as_timestamps' with argument '1'.
> > Reading option '-fflags' ... matched as AVOption 'fflags' with
> > argument '+genpts'.
> > Reading option '-loglevel' ... matched as option 'loglevel' (set
> > logging level) with argument 'debug'.
> > Reading option '-vsync' ... matched as option 'vsync' (video sync
> > method) with argument '1'.
> > Reading option '-f' ... matched as option 'f' (force format) with
> > argument 'gdigrab'.
> > Reading option '-draw_mouse' ... matched as AVOption 'draw_mouse' with
> > argument '0'.
> > Reading option '-framerate' ... matched as AVOption 'framerate' with
> > argument '60'.
> > Reading option '-i' ... matched as input url with argument 'desktop'.
> > Reading option '-c:v' ... matched as option 'c' (codec name) with
> > argument 'h264_nvenc'.
> > Reading option '-profile:v' ... matched as option 'profile' (set
> > profile) with argument 'high'.
> > Reading option '-rc:v' ... matched as AVOption 'rc:v' with argument
> > 'cbr_ld_hq'.
> > Reading option '-r:v' ... matched as option 'r' (set frame rate (Hz
> > value, fraction or abbreviation)) with argument '60'.
> > Reading option '-g:v' ... matched as AVOption 'g:v' with argument '120'.
> > Reading option '-b:v' ... matched as option 'b' (video bitrate (please
> > use -b:v)) with argument '8000k'.
> > Reading option '-minrate:v' ... matched as AVOption 'minrate:v' with
> > argument '8000k'.
> > Reading option '-maxrate:v' ... matched as AVOption 'maxrate:v' with
> > argument '8000k'.
> > Reading option '-bufsize:v' ... matched as AVOption 'bufsize:v' with
> > argument '8000k'.
> > Reading option '-an' ... matched as option 'an' (disable audio) with
> > argument '1'.
> > Reading option '-flush_packets' ... matched as AVOption
> > 'flush_packets' with argument '0'.
> > Reading option '-bsf:v' ... matched as option 'bsf' (A comma-separated
> > list of bitstream filters) with argument 'h264_mp4toannexb'.
> > Reading option '-muxrate' ... matched as AVOption 'muxrate' with
> > argument '16000k'.
> > Reading option '-pcr_period' ... matched as AVOption 'pcr_period' with
> > argument '20'.
> > Reading option '-mpegts_flags' ... matched as AVOption 'mpegts_flags'
> > with argument '+resend_headers'.
> > Reading option '-mpegts_start_pid' ... matched as AVOption
> > 'mpegts_start_pid' with argument '0x15'.
> > Reading option '-t' ... matched as option 't' (record or transcode
> > "duration" seconds of audio/video) with argument '240'.
> > Reading option '-f' ... matched as option 'f' (force format) with
> > argument 'mpegts'.
> > Reading option 'lol.m2ts' ... matched as output url.
> > Finished splitting the commandline.
> > Parsing a group of options: global .
> > Applying option y (overwrite output files) with argument 1.
> > Applying option loglevel (set logging level) with argument debug.
> > Applying option vsync (video sync method) with argument 1.
> > Successfully parsed a group of options.
> > Parsing a group of options: input url desktop.
> > Applying option thread_queue_size (set the maximum number of queued
> > packets from the demuxer) with argument 5120.
> > Applying option f (force format) with argument gdigrab.
> > Successfully parsed a group of options.
> > Opening an input file: desktop.
> > [gdigrab @ 000001a5e9277bc0] Capturing whole desktop as 1920x1080x32 at
> > (0,0)
> > [gdigrab @ 000001a5e9277bc0] Probe buffer size limit of 5000000 bytes
> > reached
> > [gdigrab @ 000001a5e9277bc0] Stream #0: not enough frames to estimate
> > rate; consider increasing probesize
> > Input #0, gdigrab, from 'desktop':
> > Duration: N/A, start: 1560869500.651357, bitrate: 3981337 kb/s
> > Stream #0:0, 1, 1/1000000: Video: bmp, 1 reference frame, bgra,
> > 1920x1080, 0/1, 3981337 kb/s, 60 fps, 1000k tbr, 1000k tbn, 1000k tbc
> > Successfully opened the file.
> > Parsing a group of options: output url lol.m2ts.
> > Applying option c:v (codec name) with argument h264_nvenc.
> > Applying option profile:v (set profile) with argument high.
> > Applying option r:v (set frame rate (Hz value, fraction or
> > abbreviation)) with argument 60.
> > Applying option b:v (video bitrate (please use -b:v)) with argument 8000k.
> > Applying option an (disable audio) with argument 1.
> > Applying option bsf:v (A comma-separated list of bitstream filters)
> > with argument h264_mp4toannexb.
> > Applying option t (record or transcode "duration" seconds of
> > audio/video) with argument 240.
> > Applying option f (force format) with argument mpegts.
> > Successfully parsed a group of options.
> > Opening an output file: lol.m2ts.
> > [file @ 000001a5e927edc0] Setting default whitelist 'file,crypto'
> > Successfully opened the file.
> > Stream mapping:
> > Stream #0:0 -> #0:0 (bmp (native) -> h264 (h264_nvenc))
> > Press [q] to stop, [?] for help
> > cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is
> > harmless if it occurs once at the start per stream)
> > detected 16 logical cores
> > [graph 0 input from stream 0:0 @ 000001a5e981f640] Setting
> > 'video_size' to value '1920x1080'
> > [graph 0 input from stream 0:0 @ 000001a5e981f640] Setting 'pix_fmt'
> > to value '28'
> > [graph 0 input from stream 0:0 @ 000001a5e981f640] Setting 'time_base'
> > to value '1/1000000'
> > [graph 0 input from stream 0:0 @ 000001a5e981f640] Setting
> > 'pixel_aspect' to value '0/1'
> > [graph 0 input from stream 0:0 @ 000001a5e981f640] Setting 'sws_param'
> > to value 'flags=2'
> > [graph 0 input from stream 0:0 @ 000001a5e981f640] Setting
> > 'frame_rate' to value '60/1'
> > [graph 0 input from stream 0:0 @ 000001a5e981f640] w:1920 h:1080
> > pixfmt:bgra tb:1/1000000 fr:60/1 sar:0/1 sws_param:flags=2
> > [format @ 000001a5e981c3c0] Setting 'pix_fmts' to value
> > 'yuv420p|nv12|p010le|yuv444p|p016le|yuv444p16le|bgr0|rgb0|cuda|d3d11'
> > [auto_scaler_0 @ 000001a5e981a940] Setting 'flags' to value 'bicubic'
> > [auto_scaler_0 @ 000001a5e981a940] w:iw h:ih flags:'bicubic' interl:0
> > [format @ 000001a5e981c3c0] auto-inserting filter 'auto_scaler_0'
> > between the filter 'Parsed_null_0' and the filter 'format'
> > [AVFilterGraph @ 000001a5e927dec0] query_formats: 5 queried, 3 merged,
> > 1 already done, 0 delayed
> > [auto_scaler_0 @ 000001a5e981a940] picking rgb0 out of 8 ref:bgra alpha:1
> > [swscaler @ 000001a5eb0100c0] Forcing full internal H chroma due to
> > input having non subsampled chroma
> > [auto_scaler_0 @ 000001a5e981a940] w:1920 h:1080 fmt:bgra sar:0/1 ->
> > w:1920 h:1080 fmt:rgb0 sar:0/1 flags:0x4
> > [h264_nvenc @ 000001a5e927c1c0] Loaded lib: nvcuda.dll
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuInit
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuDeviceGetCount
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuDeviceGet
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuDeviceGetAttribute
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuDeviceGetName
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuDeviceComputeCapability
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuCtxCreate_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuCtxSetLimit
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuCtxPushCurrent_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuCtxPopCurrent_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuCtxDestroy_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuMemAlloc_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuMemAllocPitch_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuMemsetD8Async
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuMemFree_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuMemcpy2D_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuMemcpy2DAsync_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuGetErrorName
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuGetErrorString
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuStreamCreate
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuStreamQuery
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuStreamSynchronize
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuStreamDestroy_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuStreamAddCallback
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuEventCreate
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuEventDestroy_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuEventSynchronize
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuEventQuery
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuEventRecord
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuLaunchKernel
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuModuleLoadData
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuModuleUnload
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuModuleGetFunction
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuTexObjectCreate
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuTexObjectDestroy
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuGLGetDevices_v2
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuGraphicsGLRegisterImage
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuGraphicsUnregisterResource
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuGraphicsMapResources
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuGraphicsUnmapResources
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym:
> > cuGraphicsSubResourceGetMappedArray
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuDeviceGetUuid
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuImportExternalMemory
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuDestroyExternalMemory
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuExternalMemoryGetMappedBuffer
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym:
> > cuExternalMemoryGetMappedMipmappedArray
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuMipmappedArrayGetLevel
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuMipmappedArrayDestroy
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuImportExternalSemaphore
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuDestroyExternalSemaphore
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuSignalExternalSemaphoresAsync
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: cuWaitExternalSemaphoresAsync
> > [h264_nvenc @ 000001a5e927c1c0] Loaded lib: nvEncodeAPI64.dll
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym: NvEncodeAPICreateInstance
> > [h264_nvenc @ 000001a5e927c1c0] Loaded sym:
> > NvEncodeAPIGetMaxSupportedVersion
> > [h264_nvenc @ 000001a5e927c1c0] Loaded Nvenc version 9.0
> > [h264_nvenc @ 000001a5e927c1c0] Nvenc initialized successfully
> > [h264_nvenc @ 000001a5e927c1c0] 1 CUDA capable devices found
> > [h264_nvenc @ 000001a5e927c1c0] [ GPU #0 - < GRID T4-2B > has Compute SM
> > 7.5 ]
> > [h264_nvenc @ 000001a5e927c1c0]
> > dl_fn->cuda_dl->cuCtxCreate(&ctx->cu_context_internal, 0, cu_device)
> > failed -> CUDA_ERROR_UNKNOWN: unknown error
> > [h264_nvenc @ 000001a5e927c1c0] No NVENC capable devices found
> > [h264_nvenc @ 000001a5e927c1c0] Nvenc unloaded
> > 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
> > [AVIOContext @ 000001a5e9819840] Statistics: 0 seeks, 0 writeouts
> > Conversion failed!
> >
> > I then disabled TCC mode and rebooted:
> >
> > nvidia-smi -g 0 -dm 0
> >
> > Then ran the command:
> >
> > ffmpeg.exe -y -thread_queue_size 5120 -use_wallclock_as_timestamps 1
> > -fflags +genpts -loglevel debug -vsync 1 ^
> > -f gdigrab -draw_mouse 0 -framerate 60 -i desktop ^
> > -c:v h264_nvenc -profile:v high -rc:v cbr_ld_hq -r:v 60 -g:v 120 -b:v
> > 8000k -minrate:v 8000k -maxrate:v 8000k -bufsize:v 8000k ^
> > -an -flush_packets 0 -bsf:v h264_mp4toannexb ^
> > -muxrate 16000k -pcr_period 20 -mpegts_flags +resend_headers
> > -mpegts_start_pid 0x15 -t 240 -f mpegts "lol.m2ts"
> >
> > And ran into the same issue.
> >
> > This limitation was overcome by switching to a larger vGPU config, so
> > I basically gave up on the case and never looked into it again.
> > With that in mind, perhaps you could try running the same but with
> > dxva hwaccel instead? Perhaps (and I could be wrong) switching to
> > dxva2 as a hwaccel should flip the device type for NVENC as DirectX
> > instead of CUDA.
> > That interop seems to be implemented, see
> >
https://github.com/FFmpeg/FFmpeg/blob/master/libavcodec/nvenc.c#L52> >
> > See an example of such a command with your parameters:
> >
> > ffmpeg.exe -y -thread_queue_size 5120 ^
> > -fflags +genpts -loglevel debug -vsync 1 -hwaccel dxva2 -hwaccel_device 0 ^
> > -f gdigrab -draw_mouse 0 -framerate 60 -i desktop ^
> > -c:v h264_nvenc -profile:v high -preset:v llhq -rc:v cbr_ld_hq -r:v 60
> > -g:v 120 -b:v 8000k -minrate:v 8000k -maxrate:v 8000k -bufsize:v 8000k
> > -gpu:v 0 ^
> > -an -flush_packets 0 -bsf:v h264_mp4toannexb ^
> > -muxrate 16000k -pcr_period 20 -mpegts_flags +resend_headers -f mpegts
> > "udp://..."
> >
> > Let me know how that goes.
ffmpeg-devel mailing list. From what I'm seeing here, that would be
the ideal mailing list for this conversation.
headers in the project.