Skip to content

Repository files navigation

Buffero

Buffero is a Windows-only replay buffer desktop app. It runs as a small tray utility, watches for configured games, keeps a rolling video buffer, and saves the last part of gameplay to MP4 when you press the save hotkey.

The current design document source of truth is Buffero Design Document.txt.

Current state

  • WPF desktop app targeting net9.0-windows10.0.19041.0
  • Single-instance tray app with settings/status window
  • Custom executable, window, and tray icon
  • Start with Windows support and background launch via --background
  • Global replay buffer enable / disable control from the settings window and tray menu
  • Auto-start / auto-stop buffering when an allowed game window stays eligible
  • Foreground window hook for faster auto-detection, with polling fallback
  • Startup scan for new games from Steam libraries, Epic manifests, and other common install folders
  • Segment-based rolling replay buffer
  • MP4 export to %UserProfile%\Videos\Buffero Videos
  • Replay export is blocked when the save drive is critically low on free space
  • Default save hotkey is Alt+P
  • Right Alt / AltGr save support through the alternate registration path
  • Selectable window or full-display capture mode
  • Selectable native Windows.Graphics.Capture backend or legacy ffmpeg + gdigrab backend
  • Selectable native, max 1080p, or max 720p capture resolution
  • In-game Recording saved overlay on the recorded game window
  • Tray notification fallback when a replay is saved
  • Replay-saved overlay and tray notifications can be disabled in settings
  • Diagnostics show save-drive and temp-drive free space
  • JSON settings under %LocalAppData%\Buffero\settings.json
  • Log files under %LocalAppData%\Buffero\logs
  • xUnit coverage for the replay-domain/core logic

Current implementation notes

  • Native capture is now the default path, using Windows.Graphics.Capture with the Windows media encoding stack
  • The legacy ffmpeg + gdigrab path is still available as a selectable backend and is also used as a fallback when native capture/export cannot start
  • Buffero can capture either the matched game window or the display containing that game window
  • Replay export re-encodes buffered segments into the final MP4 through the active backend, with ffmpeg fallback when available
  • Auto-start uses a ~2.5 second debounce and requires a valid game window only when window capture mode is selected
  • Foreground change detection uses SetWinEventHook, with the periodic scan retained as a fallback
  • Replay export checks available free space on the configured save drive before queueing export work
  • Game autodetection is still executable-list based; the startup scan expands that list automatically
  • System audio is still disabled for now

Requirements

  • Windows 10 or Windows 11
  • .NET 9 SDK for building from source
  • ffmpeg.exe is optional, but recommended if you want the legacy backend or automatic fallback when native capture/export fails

Buffero already probes common ffmpeg locations, including the WinGet link path:

%LocalAppData%\Microsoft\WinGet\Links\ffmpeg.exe

Build

dotnet build Buffero.sln

Any Buffero.App build is also mirrored to the desktop-shortcut folder:

.\Buffero.App\bin\Desktop\

Run

From source:

dotnet run --project .\Buffero.App\Buffero.App.csproj

Built executable:

.\Buffero.App\bin\Desktop\Buffero.App.exe

Background launch:

.\Buffero.App\bin\Desktop\Buffero.App.exe --background

Test

dotnet test .\Buffero.Tests\Buffero.Tests.csproj

Releases

  • Push to main updates a rolling prerelease named Buffero Nightly with a downloadable Buffero-win-x64-nightly.zip asset in GitHub Releases.
  • Push a version tag like v1.0.0 to create a versioned GitHub Release with a matching Buffero-win-x64-v1.0.0.zip asset.
  • The release workflow is defined in .github/workflows/publish-release-build.yml.

Main paths

  • Settings: %LocalAppData%\Buffero\settings.json
  • Logs: %LocalAppData%\Buffero\logs
  • Temp capture data: %LocalAppData%\Buffero\temp
  • Saved clips: %UserProfile%\Videos\Buffero Videos

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages