Providing back-end owned encoder metadata#1704
Open
aleksandr-voitenko wants to merge 6 commits into
Open
Conversation
summeroff
approved these changes
May 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Expose backend-owned video encoder metadata through
getAvailableEncoders()so Desktop no longer has to duplicate or infer encoder IDs, families, preset fields, or codec support.This expands encoder discovery from
{ title, name }to include:id: concrete OBS encoder id used to create the encoderfamily: public Desktop-facing encoder profile key, such asx264,qsv,amd,nvencpreset: OBS settings field that stores the preset valuecodec: codec reported by the concrete OBS encoderstreaming/recording: availability flags from the backend encoder tableMotivation and Context
Desktop had a partial hand-maintained copy of encoder mappings. When OBS/OSN added newer encoder IDs, Desktop could fail to resolve them and omit the concrete
videoEncoder, causing invalid encoder errors for encoders such as QuickSync, AMD, AOM AV1, and SVT-AV1.Moving this metadata into OSN makes the backend encoder table the source of truth.
Types of changes