Question / Help [NVENC encoder: 'simple_h264_stream'] Failed to open NVENC codec: Function not implemented

LingHuCCC

New Member
I am new to OBS. The first time when I tried "Start Recording" function, an error as described in the subject appeared.

Log file is attached. I searched forum with similar errors and there was a reply asked to check driver version. It says the driver version should be 390.77 or above for it to work. My Nvidia driver version is 417.35 and it is up to date. I do not know what else to check for.

Please advise. Thank you so much!
 

Attachments

  • 2019-12-24 20-43-26.txt
    5.1 KB · Views: 931

Narcogen

Active Member
20:43:26.560: Adapter 0: Intel(R) HD Graphics 4600
20:43:26.560: Dedicated VRAM: 167772160
20:43:26.560: Shared VRAM: 1845493760
20:43:26.560: output 0: pos={0, 0}, size={1366, 768}, attached=true
20:43:26.560: Adapter 1: NVIDIA GeForce GTX 765M
20:43:26.560: Dedicated VRAM: 2071195648
20:43:26.560: Shared VRAM: 2147676160
20:43:26.565: Loading up D3D11 on adapter Intel(R) HD Graphics 4600 (0)
20:43:27.352: D3D11 loaded successfully, feature level used: b000

20:43:34.274: [NVENC encoder: 'simple_h264_stream'] settings:
20:43:34.274: rate_control: CBR
20:43:34.274: bitrate: 2500
20:43:34.274: cqp: 0
20:43:34.274: keyint: 250
20:43:34.274: preset: hq
20:43:34.274: profile: high
20:43:34.274: width: 1092
20:43:34.274: height: 614
20:43:34.274: 2-pass: false
20:43:34.274: b-frames: 2
20:43:34.274: GPU: 0

OBS is running on your Intel GPU. It needs to be running on the Nvidia card to use NVENC.
 

LingHuCCC

New Member
20:43:26.560: Adapter 0: Intel(R) HD Graphics 4600
20:43:26.560: Dedicated VRAM: 167772160
20:43:26.560: Shared VRAM: 1845493760
20:43:26.560: output 0: pos={0, 0}, size={1366, 768}, attached=true
20:43:26.560: Adapter 1: NVIDIA GeForce GTX 765M
20:43:26.560: Dedicated VRAM: 2071195648
20:43:26.560: Shared VRAM: 2147676160
20:43:26.565: Loading up D3D11 on adapter Intel(R) HD Graphics 4600 (0)
20:43:27.352: D3D11 loaded successfully, feature level used: b000

20:43:34.274: [NVENC encoder: 'simple_h264_stream'] settings:
20:43:34.274: rate_control: CBR
20:43:34.274: bitrate: 2500
20:43:34.274: cqp: 0
20:43:34.274: keyint: 250
20:43:34.274: preset: hq
20:43:34.274: profile: high
20:43:34.274: width: 1092
20:43:34.274: height: 614
20:43:34.274: 2-pass: false
20:43:34.274: b-frames: 2
20:43:34.274: GPU: 0

OBS is running on your Intel GPU. It needs to be running on the Nvidia card to use NVENC.

Thank you for your prompt reply. I am surprised to know that this is the origin of the problem. Because I have already adjust Manage 3D Settings ~ Global Settings to "High-performance NVIDIA processor". In fact, not only here, under Program Settings, OBS has also been set to "High-performance NVIDIA processor". I do not understand why this error comes up. What should I do now?
 

Attachments

  • global.jpg
    global.jpg
    110.1 KB · Views: 1,094
  • program.jpg
    program.jpg
    120.5 KB · Views: 1,068

Sukiyucky

Member
Look for a GPU property in OBS Studio Output Category

You will have to choose Output Mode Advanced to gain access to the property
Set it to GPU 1 (which correlates to Adapter 1, your GTX 765M)

By default its set to GPU 0 (which is your HD 4600)
 

LingHuCCC

New Member
Look for a GPU property in OBS Studio Output Category

You will have to choose Output Mode Advanced to gain access to the property
Set it to GPU 1 (which correlates to Adapter 1, your GTX 765M)

By default its set to GPU 0 (which is your HD 4600)

Thank you for your reply. I checked my setting a few times and finally found this GPU option. My Output~Advanced~Streaming~Encoder setting was set to x264 first and there is no GPU option. After I changed it to H.264 and revised GPU setting as you told me, the error still occurs. Did I change the wrong place?
 

Attachments

  • x264.jpg
    x264.jpg
    91.4 KB · Views: 719
  • h264.jpg
    h264.jpg
    87.8 KB · Views: 706
  • 2019-12-26 19-58-32.txt
    5.9 KB · Views: 127

Narcogen

Active Member
Prior to 1909, you change this affinity in Nvidia control panel.

After 1909, you change it in Windows display settings.

I'm not sure that changing the GPU designation as suggested above will work; even if it did, that would mean rendering frames on the integrated GPU, and then sending them to the Nvidia card for encoding, and then back off the Nvidia card to be streamed or recorded.
 

checho

New Member
I believe I am in a deadlock situation - using Surface Book 2 (intel and nvdia gpus) - when I open OBS, i see black screen, to fix it, I had to make OBS use the Intel card. Opening OBS shows the preview of the screen and the black screen is gone. However, pressing start recording results in the error mentioned in this thread, for which the fix seems to be to choose the Nvidia card.

Any suggestions how to fix this?
 

FerretBomb

Active Member
I believe I am in a deadlock situation - using Surface Book 2 (intel and nvdia gpus) - when I open OBS, i see black screen, to fix it, I had to make OBS use the Intel card. Opening OBS shows the preview of the screen and the black screen is gone. However, pressing start recording results in the error mentioned in this thread, for which the fix seems to be to choose the Nvidia card.

Any suggestions how to fix this?
If you are on a laptop or AIO (like the Surface) you have to use the iGPU to capture the display. This is one of the many down sides to using a laptop for livestreaming.
To use NVENC, you'll have to run on the discrete GPU. You will have to use x264 or QSV (if available) when running on the iGPU.
 

Enocenoc

New Member
Solved this dame issue installing GeForce Experience, as it has the drivers for the encoder, to record or stream inside the app
 
Top