Replay Buffer: Missing Initial keyframe

Open
#8,333 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
c

Research direction

Start by reproducing the replay buffer sequence described in the issue on Windows 10 with the listed NVENC H.264 settings, and review the linked OBS log. Trace how the replay buffer handles its first encoded frame after starting and saving. Done means every saved buffer begins with a complete keyframe and no missing data or smearing.

Written by the indexing model from the issue text.

Description

Operating System Info

Windows 10

Other OS

No response

OBS Studio Version

29.0.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://pastebin.com/rsBj30KK

OBS Studio Crash Log URL

No response

Expected Behavior

When the replay buffer starts with a format that uses inter-frame compression, the first frame of the replay buffer should always be a keyframe / whole frame, not an interpolated frame.

Current Behavior

Replay buffer occasionally uses a non-key frame on the first frame of a saved buffer, resulting in missing data and video smearing.

Steps to Reproduce
  1. Start replay buffer
  2. Save replay buffer
  3. Stop replay buffer
  4. Start replay buffer
  5. Save replay buffer
    etc
Anything else we should know?

The issue may become more common when using the "Advanced Scene Switcher" plugin's macros to quickly start and stop the buffers. (Example: macro that saves, then stops, then starts the replay buffer in quick succession)

Encoding settings:

MKV container
HNIDIA NVEC H.264
VBR
Keyframe Interval: Auto (0)
Preset: P4: Medium
Tuning: High Quality
Multipass mode: Single pass
Profile: High
Psycho Visual tuning: True
Max B-Frames: 2

Dominant language
C
Stars
76.4k
Forks
10.2k
Avg merge
4d 23h
Merged PRs (30d)
12

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from obsproject/obs-studio

All issues in obsproject/obs-studio

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.