Transport protocols to support live streaming HDR10 and HEVC in OBS #5640
Replies: 3 comments 8 replies
-
Are you suggesting to work with one of the existing efforts to build a protocol using QUIC for video transmission, such as Facebook's "RUSH", or do you mean a new development effort? Personally I do not see HLS as a blocker, the latency disadvantage probably gets more than made up for once we're going HDR.
Is this purely technical or are you talking about licensing? You can already stream HEVC via HLS to YouTube if you compile OBS yourself and remove the restriction to H.264, so that itself probably does not require much work (aside from blocking the selection of HEVC if the current output protocol does not support it). |
Beta Was this translation helpful? Give feedback.
-
Isn't software AV1 supposed to be decently fast these days? Maybe (EDIT: the ability for) HDR should always be allowed if HDR over software is doable in real time?
As much as possible, plugins should be allowed to live in an SDR bubble without needing to be updated. You probably already meant this, but I'm just emphasizing. I've done plenty of HDR work for my day job recently, so I have ideas/opinions how OBS should implement certain aspects. It would be nice if the RFC was made available ASAP, so we can get those details squared away. |
Beta Was this translation helpful? Give feedback.
-
We may want to keep internal and output formats separate. Current OBS always composites to BGRA8 (sRGB), and can output to a variety of pixel formats (I420, NV12, etc.). I'm thinking we could eventually add support for a variety of internal formats via dropdown UI:
We could even use RGBA16F linear scRGB to composite for high-precision SDR someday even if we don't have plans to implement that in the near future. I think we want to leave that possibility open via enum & UI. For now, just restrict the output pixel formats to be mutually exclusive: BGRA8 -> current formats I would start with scRGB for the internal HDR format given that OBS has historically has favored speed over accuracy. And when I say we might eventually add more, that could mean "years" or "never." |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
With release 27.1, the integration of the YouTube API in OBS studio landed. We would like to publicly thank Jim, Joel, Ben, Matt, Rodney and everyone that contributed to and tested that integration. The passion and engagement of the OBS community is amazing to see. For example, the community addition of chat support was a great improvement to the release.
In December of 2020, YouTube launched support for live streaming High Dynamic Range (HDR10) content and have since been working on making it easier for creators to live stream in HDR. Prior to that launch, we began discussions with the OBS maintainers about potentially supporting HDR10 in OBS. With the launch of the YouTube API, we have turned our focus into making this happen.
What we are working on (more details will be provided in an official RFC):
Following an approved RFC, we will initially submit enablement on Windows, with tested support on nVidia, AMD, and Intel graphics cards.
Next, we will release support for Linux, followed by MacOS (Intel only).
We have verified that we are able to generate HDR up to 1080p30 in h264 using software encoders. H264 encoding of HDR10 is not supported in graphics cards. An alternative would be to encode in hardware using a more modern codec: VP9, AV1 or HEVC. Only HEVC encoding is currently well supported by the major graphics cards.
Unfortunately, RTMP does not support any of these codecs. YouTube currently accepts HDR10 in HEVC using the HLS protocol. HLS is supported in OBS.
Facilitating use of HEVC streams in OBS will be a separate and independent RFC.
The change to support HDR10 is large. It will take support and testing from the community to make it happen. It will also take a lot of work from the OBS maintainers to review and qualify.
Some questions and discussion points for the community:
Additionally, there are a large number of external plugins for OBS. Those plugins may need to be updated to support HDR10.
Thank you!
Beta Was this translation helpful? Give feedback.
All reactions