obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
60.37k stars 7.99k forks source link

Video Artifacts with Rescale Output enabled on OBS 30.0 #9887

Open Semmikins opened 1 year ago

Semmikins commented 1 year ago

Operating System Info

Windows 10

Other OS

No response

OBS Studio Version

30.0.0

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/LXanOvTGBZTfmNIL

OBS Studio Crash Log URL

No response

Expected Behavior

Rescale output should provide a properly rescaled video without strange artifacts.

Current Behavior

Some kind of artifacts appeared across a specific region of the screen, only appearing in a mostly static scene. This also only occurs with rescale output enabled, with the rescale set to 1536x864 or1462x822 using AMF H264.

https://github.com/obsproject/obs-studio/assets/151353315/b8ba5d30-46cb-437d-b452-22f7baa9317e

Steps to Reproduce

  1. Under Video in Settings, set the base and output resolutions to 2560x1440
  2. Under Output in Settings, switch to advanced output mode, set video encoder to AMD HW H.264 (AVC), and enable rescale output at a resolution of 1536x864
  3. Add a game capture source
  4. Stream and observe artifacts in VOD during mostly static scenes

...

Anything else we should know?

This issue occurs on version 30.0, but does not occur on version 29.1.3.

gxalpha commented 11 months ago

@Semmikins

Stream and observe artifacts in VOD during mostly static scenes

Could you confirm whether this also happens with recordings from OBS directly? If there's a streaming service in between, that could be an issue with that service.

If it also happens with recordings: Please send a clean log file that involves the problem, using the recording function of OBS (not streaming):

  • Restart OBS Studio first!
  • Start your recording replicating any issues (meaning having any games/apps open and captured, etc.)
  • Stop your recording after 30 seconds or after the issue has occurred
  • Click the Help menu → Log Files → Upload Current Log File
  • Paste the URL here

Then, disable output scaling and set the OBS output resolution to the resolution that you previously scaled to. Repeat the above steps.

RytoEX commented 11 months ago

For what it's worth, I can reproduce this on OBS Studio 30.0.0 with an AMD Radeon RX 6600M with AMD Driver 31.0.22017.3004 (AMD Software: Adrenalin Edition 23.10.2). However, the corruption does not appear in the OBS preview, only in the recorded output, which leads me to believe that this is an encoder/driver issue or a scaler issue.

I can also reproduce this in OBS Studio 29.1.3 on the same system, so this is not a regression in OBS Studio 30, at least.

RytoEX commented 11 months ago

After further testing, I cannot reproduce this with default AMF settings. With default AMD AMF H.264 settings, the output is fine. I cannot reproduce the issue with any other encoder. If I disable B-frames, the issue seems to go away, so it seems that this is specific to B-frames in AMD AMF H.264 and the user-specified options. Specifically, these settings are required: