Xaymar/obs-StreamFX

NVENC: Recording never stops with B-Frame Reference not set to Disabled. (Workaround inside!) #260

TheRealDadbeard posted onGitHub

<!-- Hi, thank you for taking the time to report a bug/crash/freeze. -->

<!-- Please make sure that you fill this out in it's entirety. -->

<!-- Unfortunately I will have to close issues if it has not been filled out. -->

Description

I saw your optimized settings on your blog and wanted to try them. Unfortunately I can't stop the recording as it will just be stuck on "Stopping Recording". OBS does not freeze or crash and I have to force close it via Task Manager.

This happens if B-Frame Reference Mode is set to your suggested setting. If I set it to Default then the recording closes fine. Setting it to use every B-Frame will not even start the recording and just throw an error.

Log from a recording and then stopping it https://pastebin.com/Jn3z6MWr

System Information

<!-- Either fill out the following or attach a DxDiag file. -->

  • Software Version: OBS 25.0.8 StreamFX 0.8.0
  • Operating System: Windows
  • Kernel Version: 2004
  • CPU: 3700x
  • GPU: 2070RTX
  • RAM: 16

Both of these are known bugs caused by FFmpegs use of NVENC. If you encounter these, your only option is to Disable B-Frame references, which hurts quality.

posted by Xaymar over 4 years ago

Thanks for the info.

So it works without issues when I set it to default. Is default in this context disabled? Or something else?

Any workaround or do we have to wait for it to be fixed by ffmpeg devs?

posted by TheRealDadbeard over 4 years ago

The value of 'Default' depends on the preset chosen, but usually is 'Disabled' for the majority of them. There's no known workaround other than luck, and since it works fine for streaming (most of the time), waiting for the FFmpeg devs to fix it is probably the only way. While I could apply a workaround, probably, it would likely not do much - similar to the ProRes postprocessing it would likely cost extra performance.

posted by Xaymar over 4 years ago

Okay can confirm it works without issues while streaming.

posted by TheRealDadbeard over 4 years ago

Further information, the "Each" mode is only supported for HEVC according to the NVENC manual.

posted by Xaymar over 4 years ago

Good news, it's actually fixed in the recent ffmpeg versions. Just need to wait for OBS to update their FFmpeg version.

posted by Xaymar over 4 years ago

Oh thats good news, let's hope the next OBS release has the new ffmpeg version in it.

posted by TheRealDadbeard over 4 years ago

I'm reporting in with the same issue and glad to hear that there's a fix in the works.

A side note and not sure if it's completely relevant, when choosing the Encoder I don't have the same option as your settings. I see "H.264/AVC NVidia NVENC" minus the "(via ffmpeg)" part in the drop down menu. However it includes all the same settings further in the settings guide. Is that the option I should be picking or am I actually missing a dependancy?

posted by MythionVR over 4 years ago

@MythionVR The latest version has the (via FFmpeg) name in it.

posted by Xaymar over 4 years ago

g66ewa5

This is what I currently have listed in my Encoder options. H.264/AVC NVidia NVENC gives me the same options, but there's no option for FFmpeg despite having StreamFX. Should I create a new thread?

edit I updated to 0.9.0, I thought 0.8.0 was the lastest, my apologies! It's now working as intended.

posted by MythionVR over 4 years ago

0.8.0 is the latest stable, 0.9.0 is currently in alpha.

posted by Xaymar over 4 years ago

Closing this for tracking purposes. FFmpeg has fixed this bug for several months now, the OBS Project just needs to get their version of FFmpeg updated accordingly.

posted by Xaymar over 4 years ago

Fixed by OBS Studio 26.1 and newer, which now uses FFmpeg 4.2.4 + some patches.

posted by Xaymar about 4 years ago

Fund this Issue

$0.00
Funded

Pull requests