Skip to content

Add enhanced broadcasting per-display stats - #1738

Merged
aleksandr-voitenko merged 4 commits into
stagingfrom
per-display-bitrate-stats
Jul 2, 2026
Merged

Add enhanced broadcasting per-display stats#1738
aleksandr-voitenko merged 4 commits into
stagingfrom
per-display-bitrate-stats

Conversation

@aleksandr-voitenko

@aleksandr-voitenko aleksandr-voitenko commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR adds a dedicated Enhanced Broadcasting per-display stats path in obs-studio-node. The server tracks video packet bytes by multitrack canvas index, exposes horizontal/vertical stats through a new displayStats accessor, and leaves the existing aggregate streaming stats unchanged for compatibility and non-EB flows.

Motivation and Context

Desktop needs to show bitrate separately for horizontal and vertical outputs when dual output mode is enabled. For normal dual streaming, desktop can attribute stats by the individual output context, but Twitch Enhanced Broadcasting uses a single multitrack output, so the existing aggregate kbitsPerSec/dataOutput accessors cannot identify which display produced which bitrate.

How Has This Been Tested?

Manually, Windows only.

Types of changes

  • New feature (non-breaking change which adds functionality)

@aleksandr-voitenko aleksandr-voitenko changed the title [WIP] Add enhanced broadcasting per-display stats Add enhanced broadcasting per-display stats Jun 25, 2026
@aleksandr-voitenko
aleksandr-voitenko merged commit 0d429bc into staging Jul 2, 2026
20 checks passed
summeroff added a commit to streamlabs/desktop that referenced this pull request Jul 28, 2026
Bumps obs-studio-node 0.26.29b18 -> 0.27.2.

Supersedes #6037, which covered 0.27.0/0.27.1 and is
folded into this change so the whole bump lands as one commit.

osn changes in 0.27.0 / 0.27.1:
  * OBS Merge 32.1.1 (streamlabs/obs-studio-node#1722) - Aleksandr Voitenko
  * Add signals for missing resolutions in Enhanced Boradcasting
    (streamlabs/obs-studio-node#1742) - Aleksandr Voitenko
  * Add enhanced broadcasting per-display stats
    (streamlabs/obs-studio-node#1738) - Aleksandr Voitenko
  * Fix recording custom track names
    (streamlabs/obs-studio-node#1741) - Aleksandr Voitenko
  * Expose structured module load failures
    (streamlabs/obs-studio-node#1733) - Aleksandr Voitenko
  * Fix misleading [BrowserMessage] log tag on generic source ops
    (streamlabs/obs-studio-node#1725) - Vladimir
  * osn-input: log source id before creating input
    (streamlabs/obs-studio-node#1721) - Vladimir

osn changes in 0.27.2:
  * tests: regression for scene-wrapped source audio (#1493)
    (streamlabs/obs-studio-node#1724) - Vladimir
  * Fix startup crash when recording audio encoder is not registered
    (streamlabs/obs-studio-node#1736) - Vladimir
  * CI: Pin symsrv-scripts to v1.1.1
    (streamlabs/obs-studio-node#1752) - Vladimir
  * Update libobs to v32.1.1sl2
    (streamlabs/obs-studio-node#1751) - Vladimir
  * CI: Drop the dead Sentry and breakpad downloads
    (streamlabs/obs-studio-node#1748) - Vladimir
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants