d3x

New Member
I tried all the new 10-bit Support since the beta released and I'm very impressed.
It works very well for me.
There is one thing I would suggest: to be able to also stream in x264 10-bit to Youtube, since Youtube supports HDR Livestreaming.
I don't know if that is on porpuse or a bug, but right now you can only select "main10" in HEVC -> NVenc / x264 have the usual high / main / baseline options. (in output -> streaming)
 

SwimmingTiger

New Member
Vote for this. Bilibili Live should also support x264 10-bit HDR streaming (I have successfully streamed with HEVC HLG, so x264 10-bit HLG should be OK).

For now, the x264 10-bit HLG live stream probably has the best device compatibility, and it shouldn't be a problem to play it in SDR on PC and mobile browsers that don't support HDR. However many PC browsers (Chrome, Firefox) do not support HEVC decoding. If the live site does not provide video transcoding, HEVC streaming will not be playable in unsupported browsers.

My HEVC HLG live stream attempt on Bilibili Live:
 

SwimmingTiger

New Member
I didn't expect it to be so easy to build an OBS with x264 10-bit support:
// Just comment them out to get very correct x264 10-bit streaming support
/*switch (voi->colorspace) {
case VIDEO_CS_2100_PQ:
case VIDEO_CS_2100_HLG:
obs_encoder_set_last_error(encoder,
obs_module_text("HdrUnsupported"));
warn_enc(encoder,
"OBS does not support using x264 with Rec. 2100");
return NULL;
}*/


My build: https://github.com/SwimmingTiger/obs-studio/releases
It works fine in Bilibili Live with x264 10-bit HLG (HDR) streaming. Chrome (stable version) even renders HDR properly!
 

SwimmingTiger

New Member
I didn't expect it to be so easy to build an OBS with x264 10-bit support:

*** plugins/obs-x264/obs-x264.c:
// Just comment them out to get very correct x264 10-bit streaming support
/*switch (voi->colorspace) {
case VIDEO_CS_2100_PQ:
case VIDEO_CS_2100_HLG:
obs_encoder_set_last_error(encoder,
obs_module_text("HdrUnsupported"));
warn_enc(encoder,
"OBS does not support using x264 with Rec. 2100");
return NULL;
}*/
 

SwimmingTiger

New Member
I didn't expect it to be so easy to build an OBS with x264 10-bit support:

*** plugins/obs-x264/obs-x264.c:
// Just comment them out to get very correct x264 10-bit streaming support
/*switch (voi->colorspace) {
case VIDEO_CS_2100_PQ:
case VIDEO_CS_2100_HLG:
obs_encoder_set_last_error(encoder,
obs_module_text("HdrUnsupported"));
warn_enc(encoder,
"OBS does not support using x264 with Rec. 2100");
return NULL;
}*/

My build: github.com/SwimmingTiger/obs-studio/releases

It works fine in Bilibili Live with x264 10-bit HLG (HDR) streaming. Chrome (stable version) even renders HDR properly! Firefox can play it but has an SDR look.
 

SwimmingTiger

New Member
I may be wrong about my "x264 10-bit" build. According to Rodney, it's actually an 8-bit stream with HDR metadata.
It's unlikely we'll support 10 bit x264, both because having two separate libraries is kind of a pain in the ass as well as the many problems this may cause for users. Given that consumer hardware doesn't support decoding it either, it's not really good for viewers either.

Edit: Based on the screenshot you posted on GitHub you are indeed streaming 8-bit H.264. The codec string tells us as much:
Code:
avc1.64002a
tells us the profile you're using (High, 0x64) and level (0x2a, or 42 which means level 4.2). If you were actually streaming 10 bit the profile would be 0x6e, or "High 10".
 
Top