Skip to content

hevc_nvenc doesn't work on NVIDIA Quadro P400 with current AppImage #273

@MartinPulec

Description

@MartinPulec

I started to attempt to test the bmd-r10k-full-range param but I am running into an error with the latest appimage build. Worked on a previous appimage build that did not have the bmd-r10k-full-range option.

~/UltraGrid-continuous-x86_64.AppImage -o uv -t decklink:codec=R10K -c libavcodec:encoder=hevc_nvenc:bitrate=10M:GOP=24 -s embedded --audio-codec=PCM --audio-capture-format channels=2 -f rs:192:240 -f A:mult:2 --verbose -m 1420 192.168.100.19 -P 5004:5004:5006:5006 --param lavc-use-codec=yuv444p16le --control-port=8001 --param control-accept-global
UltraGrid 1.7+ (master rev cee4f37 built Dec  1 2022 09:57:46)

Display device   : none
Capture device   : decklink
Audio capture    : embedded
Audio playback   : none
MTU              : 1420 B
Video compression: libavcodec:encoder=hevc_nvenc:bitrate=10M:GOP=24
Audio codec      : PCM
Network protocol : UltraGrid RTP
Audio FEC        : mult:2
Video FEC        : rs:192:240

[1669959353.150] [NAT] Private outbound IPv4 address detected and binding as a receiver. Consider adding '-N' option for NAT traversal.
[1669959353.150] Connected IP version 6
    Last message repeated 1 times
[1669959353.155] Socket recv buffer size set to 524288 B.
[1669959353.168] [Decklink capture] Using codec: R10k
[1669959353.168] [DeckLink capture] Using limited range R10k as specified by BMD, use '--param bmd-r10k-full-range' to override.
[1669959353.169] [DeckLink capture] Using device DeckLink Mini Recorder 4K
[1669959353.169] [DeckLink capture] Unable to set bmdDeckLinkConfigCapturePassThroughMode: not implemented (0x80000001)
[1669959353.169] The desired display mode is supported: 1080p23.98
[1669959353.169] [DeckLink capture] Enable video input: 1080p23.98
[1669959353.169] [DeckLink] Trying to autodetect format.
[1669959353.184] [DeckLink capture] Audio input set to: embedded
[1669959353.185] [DeckLink capture] EnableAudioInput: Decklink audio capture initialized sucessfully: 2 channels, 4 Bps, 48000 Hz, codec: PCM
[1669959353.192] Control socket listening on port 8001
[1669959353.201] Connected IP version 6
    Last message repeated 1 times
[1669959353.206] Socket recv buffer size set to 18247680 B.
[1669959353.211] [control] Fec changed successfully
Audio sending started.
[1669959353.281] Frame received (#0) - No input signal detected
[1669959353.281] [Decklink capture] Format change detected (color space - YCbCr422, 10bit).
[1669959353.281] [Decklink capture] Using codec: v210
[1669959353.281] [DeckLink capture] Enable video input: 1080p23.98
[1669959353.364] Waiting for new frame timed out!
[1669959353.458] [lavc] Using codec: H.265, encoder: hevc_nvenc
[1669959353.474] [lavc] Setting bitrate to 10000.0 kbps.
[1669959353.474] [lavc] Setting NVENC preset to p4.
[1669959353.478] [lavc] Slice-based or external multithreading not available, encoding won't be parallel. You may select frame-based paralellism if needed.
[1669959353.478] [lavc] Trying pixfmt: yuv444p16le
[1669959353.487] [lavc hevc_nvenc @ 0x7f349c000d00] Loaded Nvenc version 11.0
[1669959353.487] [lavc hevc_nvenc @ 0x7f349c000d00] Nvenc initialized successfully
[1669959353.531] [lavc hevc_nvenc @ 0x7f349c000d00] 1 CUDA capable devices found
[1669959353.531] [lavc hevc_nvenc @ 0x7f349c000d00] [ GPU #0 - < Quadro P400 > has Compute SM 6.1 ]
[1669959353.652] [lavc hevc_nvenc @ 0x7f349c000d00] B frames as references are not supported
[1669959353.684] [lavc hevc_nvenc @ 0x7f349c000d00] No capable devices found
[1669959353.684] [lavc hevc_nvenc @ 0x7f349c000d00] Nvenc unloaded
[1669959353.684] [lavc] Could not open codec for pixel format yuv444p16le
[lavc] Codec supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 bgra rgb0 rgba x2rgb10le x2bgr10le gbrp gbrp16le cuda
[lavc] Usable pixel formats: yuv444p16le
[1669959353.684] [lavc] No direct decoder format for: v210. Trying to convert with swscale instead.
[1669959353.684] [lavc] Setting bitrate to 10000.0 kbps.
[1669959353.684] [lavc] Setting NVENC preset to p4.
[1669959353.684] [lavc] Slice-based or external multithreading not available, encoding won't be parallel. You may select frame-based paralellism if needed.
[1669959353.684] [lavc] Trying pixfmt: yuv420p
[1669959353.685] [lavc hevc_nvenc @ 0x7f349c5d6080] Loaded Nvenc version 11.0
[1669959353.685] [lavc hevc_nvenc @ 0x7f349c5d6080] Nvenc initialized successfully
[1669959353.685] [lavc hevc_nvenc @ 0x7f349c5d6080] 1 CUDA capable devices found
[1669959353.685] [lavc hevc_nvenc @ 0x7f349c5d6080] [ GPU #0 - < Quadro P400 > has Compute SM 6.1 ]
[1669959353.800] [lavc hevc_nvenc @ 0x7f349c5d6080] B frames as references are not supported
[1669959353.859] [DeckLink capture] Dropping audio packet, queue full.
[1669959353.874] [lavc hevc_nvenc @ 0x7f349c5d6080] No capable devices found
[1669959353.874] [lavc hevc_nvenc @ 0x7f349c5d6080] Nvenc unloaded
[1669959353.874] [lavc] Could not open codec for pixel format yuv420p
[1669959353.874] [lavc] Setting bitrate to 10000.0 kbps.
[1669959353.874] [lavc] Setting NVENC preset to p4.
[1669959353.874] [lavc] Slice-based or external multithreading not available, encoding won't be parallel. You may select frame-based paralellism if needed.
[1669959353.875] [lavc] Trying pixfmt: nv12
[1669959353.875] [lavc hevc_nvenc @ 0x7f349c02f800] Loaded Nvenc version 11.0
[1669959353.875] [lavc hevc_nvenc @ 0x7f349c02f800] Nvenc initialized successfully
[1669959353.875] [lavc hevc_nvenc @ 0x7f349c02f800] 1 CUDA capable devices found
[1669959353.876] [lavc hevc_nvenc @ 0x7f349c02f800] [ GPU #0 - < Quadro P400 > has Compute SM 6.1 ]
[1669959353.901] [DeckLink capture] Dropping audio packet, queue full.
    Last message repeated 4 times
[1669959354.095] [lavc hevc_nvenc @ 0x7f349c02f800] B frames as references are not supported
[1669959354.110] [DeckLink capture] Dropping audio packet, queue full.
    Last message repeated 1 times








Working:

~/UltraGrid-continuous-x86_64.AppImage2 -o uv -t decklink:codec=R10K -c libavcodec:encoder=hevc_nvenc:bitrate=10M:GOP=24 -s embedded --audio-codec=PCM --audio-capture-format channels=2 -f rs:192:240 -f A:mult:2 --verbose -m 1420 192.168.100.19 -P 5004:5004:5006:5006 --param lavc-use-codec=yuv444p16le --control-port=8001 --param control-accept-global
UltraGrid 1.7+ (tags/continuous rev dd9a53cf built Aug 16 2022 13:32:17)

Display device   : none
Capture device   : decklink
Audio capture    : embedded
Audio playback   : none
MTU              : 1420 B
Video compression: libavcodec:encoder=hevc_nvenc:bitrate=10M:GOP=24
Audio codec      : PCM
Network protocol : UltraGrid RTP
Audio FEC        : mult:2
Video FEC        : rs:192:240

[1669959652.699] [NAT] Private outbound IPv4 address detected and binding as a receiver. Consider adding '-N' option for NAT traversal.
[1669959652.702] Connected IP version 6
Created new RTP session with SSRC 0x14d28623.

[1669959652.706] Socket recv buffer size set to 524288 B.
Display initialized-none
[1669959652.720] Using device DeckLink Mini Recorder 4K
[1669959652.720] [DeckLink capture] Unable to set bmdDeckLinkConfigCapturePassThroughMode: not implemented (0x80000001)
[1669959652.720] The desired display mode is supported: 1080p23.98
Enable video input: 1080p23.98
[1669959652.720] [DeckLink] Trying to autodetect format.
[Decklink capture] Audio input set to: embedded
[1669959652.735] [DeckLink capture] EnableAudioInput: Decklink audio capture initialized sucessfully: 2 channels, 4 Bps, 48000 Hz, codec: PCM
Start capture
DeckLink capture device enabled
Video capture initialized-decklink
[1669959652.752] Connected IP version 6
Created new RTP session with SSRC 0x15725f8a.

[1669959652.757] Socket recv buffer size set to 18247680 B.
[1669959652.761] [control] Fec changed successfully
Audio sending started.
[1669959652.826] Frame received (#0) - No input signal detected
[1669959652.826] [Decklink capture] Format change detected (color space).
[1669959652.826] [Decklink capture] Using codec: v210
Enable video input: 1080p23.98
[1669959652.907] Waiting for new frame timed out!
[1669959652.995] [lavc] Using codec: H.265, encoder: hevc_nvenc
[1669959653.008] [lavc] Setting bitrate to 10000.0 kbps.
[1669959653.008] [lavc] Setting NVENC preset to p7.
[1669959653.008] [lavc] Slice-based or external multithreading not available, encoding won't be parallel. You may select frame-based paralellism if needed.
[1669959653.008] [lavc] Trying pixfmt: yuv444p16le
[hevc_nvenc @ 0x7fd9a4000d00] Loaded Nvenc version 11.0
[hevc_nvenc @ 0x7fd9a4000d00] Nvenc initialized successfully
[hevc_nvenc @ 0x7fd9a4000d00] 1 CUDA capable devices found
[hevc_nvenc @ 0x7fd9a4000d00] [ GPU #0 - < Quadro P400 > has Compute SM 6.1 ]
[hevc_nvenc @ 0x7fd9a4000d00] supports NVENC
[lavc] Codec supported pixel formats: yuv420p nv12 p010le yuv444p p016le yuv444p16le bgr0 bgra rgb0 rgba x2rgb10le x2bgr10le gbrp gbrp16le cuda
[lavc] Usable pixel formats: yuv444p16le
[1669959653.221] [lavc] Codec hevc_nvenc capabilities: 0x00240022 using thread type 0, count 1
[1669959653.221] [lavc] Selected pixfmt: yuv444p16le
[1669959653.221] [lavc] Selected pixfmt has not 4:2:0 subsampling, which is usually not supported by hw. decoders
[1669959653.231] [DeckLink] Audio frame too small!
    Last message repeated 3 times
[1669959653.244] FEC symbol size: 9, symbols per packet: 151, payload size: 1359
[1669959653.249] FEC symbol size: 5, symbols per packet: 272, payload size: 1360
[1669959657.038] [Audio sender] Sent 194194 samples in last 5.010000 seconds.
[1669959657.040] [Audio sender] Volume: -inf/-inf -inf/-inf dBFS RMS/peak
[1669959657.787] [decklink] 112 frames in 5.02101 seconds = 22.3063 FPS
[1669959662.043] [Audio sender] Sent 240240 samples in last 5.005326 seconds.
[1669959662.046] [Audio sender] Volume: -inf/-inf -inf/-inf dBFS RMS/peak
[1669959662.792] [decklink] 120 frames in 5.00499 seconds = 23.9761 FPS

Originally posted by @erichorwitz in #244 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions