Skip to content

New Auto Optimizer - #6154

Open
aleksandr-voitenko wants to merge 39 commits into
stagingfrom
auto_config_apiv2
Open

New Auto Optimizer#6154
aleksandr-voitenko wants to merge 39 commits into
stagingfrom
auto_config_apiv2

Conversation

@aleksandr-voitenko

@aleksandr-voitenko aleksandr-voitenko commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

Motivation

Auto Optimizer gives creators safe stream settings without requiring them to understand canvas, frame-rate, bitrate, or encoder tradeoffs. It validates the selected streaming configuration against the user's hardware and upload connection, reducing the risk of overload and dropped frames, especially with Dual Output and Twitch Enhanced Broadcasting.

image image

Context

This is the Desktop side of the coordinated Auto Optimizer update in OSN. OSN performs native bandwidth and hardware measurements, while Desktop owns destination routing, temporary YouTube resources, result validation, UI state, and applying recommendations.

Active bandwidth testing currently supports Twitch and YouTube. Twitch Enhanced Broadcasting remains Twitch-managed, and 10-bit video (HDR) configurations bypass optimization.

Canvas promotion depends on the relative-coordinate scene collection changes included in this branch, allowing canvas resolutions to change without altering the visual scene layout.

Main structural changes

  • Replace the old onboarding optimization step with a shared Auto Optimizer experience hosted by Go Live or Settings.
  • Build an explicit stream setup from selected destinations, canvas assignments, Dual Output, Stream Shift, and Enhanced Broadcasting settings.
  • Manage temporary YouTube probe streams and crash-recovery cleanup in Desktop without exposing credentials.
  • Validate OSN results against the attempted setup before accepting them.
  • Apply applicable canvas, frame-rate, bitrate, and encoder recommendations transactionally with rollback.
  • Preserve per-output recommendations for the subsequent Go Live attempt.
  • Add manual rerun controls under Stream settings and Get Support.
  • Separate setup, probing, result acceptance, resolution policy, and settings application into focused modules with dedicated tests.

Dependencies

This work depends on:
streamlabs/obs-studio-node#1767

- Collection round-trip through a second collection, validating both canvas resolutions, item routing, and transforms.
- Resize rejection during recording, unchanged state/geometry, no loading transition, and successful retry afterward.
- Rapid separate width/height updates, validating both promises resolve into one coherent resize without loading.
Attempt to switch to a collection with different base resolutions while recording.
The switch should reject before removing the current scene graph.
# Conflicts:
#	app/i18n/en-US/streaming.json
#	app/services/settings-v2/video.ts
#	app/services/settings/output/output-settings.ts
@aleksandr-voitenko aleksandr-voitenko changed the title [WIP] Auto Optimizer v2 New Auto Optimizer Sep 3, 2026
@bundlemon

bundlemon Bot commented Sep 3, 2026

Copy link
Copy Markdown

BundleMon

Files added (4)
Status Path Size Limits
renderer.(hash).js
+10.71MB -
vendors~renderer.(hash).js
+4.67MB -
updater.js
+115.29KB -
guest-api.js
+40.23KB -

Total files change +15.53MB

Final result: ✅

View report in BundleMon website ➡️


Current branch size history

@michelinewu michelinewu added staging Pull requests that can't be bundled needs new osn version This code is waiting for the next osn version before it can be merged labels Sep 8, 2026
@aleksandr-voitenko aleksandr-voitenko removed the needs new osn version This code is waiting for the next osn version before it can be merged label Sep 10, 2026
@aleksandr-voitenko

Copy link
Copy Markdown
Collaborator Author

An appropriate OSN version has been released.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

staging Pull requests that can't be bundled

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants