Skip to content

Conversation

@tytan652
Copy link
Contributor

@tytan652 tytan652 commented Aug 19, 2021

RFC 45: Add notion of protocol

Summary

  • Add notion of service protocol in libobs and OBS Studio
  • Outputs for streaming are registered with their compatible protocol and codecs
  • Only codecs compatible with the output and the service are shown
  • Audio encoder can be choosen if various compatible
  • Will be extended with RFC Add RFC: Service Overhaul #39

Motivation and Context

Create a better management of outputs, encoders and services with an approach focused on protocols.

Link to RFC

@henke37
Copy link

henke37 commented Aug 20, 2021

It seems like a needless feature to let users select which implementation of a protocol they want. And that's the only feature here that can't trivially be moved to the output objects.

@tytan652 tytan652 changed the title Add RFC: Protocols API Add RFC: Protocols in Outputs API Aug 20, 2021
@tytan652
Copy link
Contributor Author

tytan652 commented Aug 20, 2021

Big rewrite of the RFC, thank you @henke37 for the (maybe wrong word) spur.

I was stuck thinking about protocol and output being separate thing but having them together is better and more lightweight codewise.

@tytan652
Copy link
Contributor Author

tytan652 commented Oct 30, 2021

Maybe not enough "complete" but I begin to need reviews.

@tytan652 tytan652 marked this pull request as ready for review October 30, 2021 14:11
@tytan652 tytan652 changed the title Add RFC: Protocols in Outputs API Add RFC: Add notion of protocol Apr 19, 2022
@tytan652 tytan652 force-pushed the protocol_api branch 5 times, most recently from 2aeb8b5 to 4b7be1c Compare April 23, 2022 10:40
@tytan652 tytan652 force-pushed the protocol_api branch 2 times, most recently from 3e9d450 to 3206aeb Compare January 28, 2023 12:52
@derrod
Copy link
Member

derrod commented Mar 10, 2023

In addition to codec compatibility, we might want to have a flag in the services file to indicate compatibility with HDR (None/PQ/HLG/Both).

Services may support HEVC or AV1 codecs for improved compression, but do support HDR delivery or tonemapping to SDR, which would result in viewers receiving a clipped version of the video. Furthermore they may support only one of the HDR formats (e.g. PQ but not HLG).

While the number of services supporting HLS or SRT/RIST ingest is currently limited, in the future there may also be outputs such as WHIP or MoQ/WARP that support more than H.264.

@tytan652
Copy link
Contributor Author

In addition to codec compatibility, we might want to have a flag in the services file to indicate compatibility with HDR (None/PQ/HLG/Both).

Services may support HEVC or AV1 codecs for improved compression, but do support HDR delivery or tonemapping to SDR, which would result in viewers receiving a clipped version of the video. Furthermore they may support only one of the HDR formats (e.g. PQ but not HLG).

While the number of services supporting HLS or SRT/RIST ingest is currently limited, in the future there may also be outputs such as WHIP or MoQ/WARP that support more than H.264.

All of this is out of scope of this RFC, it is more related to RFC #39 but selecting a color format is literally a trial and error in OBS as it always was, the user can apply unusable settings in advanced video. This needs a major refactor of settings that can only be done after (maybe while) RFC #53 which is after 39.

Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some further questions.

@Fenrirthviti
Copy link
Member

Entering FCP. We've merged the initial PRs, but any further adjustments necessary are still welcome. Once the open conversations are resolved, we will merge this.

@tytan652
Copy link
Contributor Author

I just squashed all the commit together.

Copy link
Member

@RytoEX RytoEX left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My concerns were resolved. The implementing PRs have been merged anyway, so my approval is more a formality at this point.

@Fenrirthviti Fenrirthviti merged commit 2aee34b into obsproject:master Apr 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants