Skip to content

Using new API for obtaining encoder metadata from OSN#5931

Open
aleksandr-voitenko wants to merge 8 commits into
stagingfrom
backend-owned-encoder-metadata
Open

Using new API for obtaining encoder metadata from OSN#5931
aleksandr-voitenko wants to merge 8 commits into
stagingfrom
backend-owned-encoder-metadata

Conversation

@aleksandr-voitenko
Copy link
Copy Markdown
Collaborator

@aleksandr-voitenko aleksandr-voitenko commented May 21, 2026

⚠️This depends on streamlabs/obs-studio-node#1704

Description

This PR moves Desktop encoder resolution to the backend-owned encoder metadata exposed by obs-studio-node#getAvailableEncoders() instead of relying on Desktop’s hand-maintained advanced encoder ID list.

Motivation

Desktop was treating encoder IDs as a closed, duplicated list. When OSN added or changed encoder IDs, Desktop could fail to resolve metadata and either omit videoEncoder or throw during settings resolution, causing invalid/unknown encoder errors for streaming and recording.

Changes

  • Adds EncoderQueryService metadata helpers for streaming and recording encoders:
    • concrete OBS encoder id
    • Desktop encoder family
    • preset setting field
    • codec
  • Updates output settings to resolve encoder id/family/preset/codec from OSN metadata.
  • Preserves legacy persisted encoder values through a narrow compatibility helper:
    • simple aliases like qsv, amd, x264
    • legacy AMD advanced amd_amf_h264 -> h264_texture_amf
    • legacy QSV v1 obs_qsv11 -> obs_qsv11_v2
  • Adds codec-aware optimized profile matching so broad families like qsv and amd do not conflate H.264/HEVC/AV1 profiles.
  • Adds integration coverage for backend-advertised streaming and recording encoders, including legacy encoder migration paths.

Bonus

A bunch of encoder conversion bugs were fixed and covered by tests.

@aleksandr-voitenko aleksandr-voitenko force-pushed the backend-owned-encoder-metadata branch from e8ac528 to 8b05775 Compare May 21, 2026 19:04
@aleksandr-voitenko aleksandr-voitenko changed the title [WIP] Using new API for obtaining encoder metadata from OSN Using new API for obtaining encoder metadata from OSN May 21, 2026
@bundlemon
Copy link
Copy Markdown

bundlemon Bot commented May 21, 2026

BundleMon

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

Total files change +12.59MB

Final result: ✅

View report in BundleMon website ➡️


Current branch size history

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.

1 participant