-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DolbyVision HDR Metadata #136
Comments
I think the precise point I'm trying to make is that "2094-10" is not good enough.
Yes to all these questions, some profiles of Dolby Vision are cross-compatible with 2094-10, and some are not. I do not think there are any devices today that only support only 2094-10, but it's certainly permitted and increasingly likely moving forward given the specifications in ATSC and DVB. All Dolby Vision devices should play 2094-10 content, it is a superset. |
To @rdoherty0's point, SMPTE 2094-10 does not sufficiently represent Dolby Vision. However, Dolby Vision has registered mime types that can instead be used to query support. Thus, we don't need a new HdrMetadata string. dva1 | AVC-based Dolby Vision derived from avc1 | Video | Dolby Vision |
No, DolbyVision is not always backward compatible with 2094-10; but, the opposite is true.
Sites should use the registered Dolby Vision mime types to query support instead of 2094-10 metadata. |
@rdoherty0 unless you object, I will close this issue at the end of the week. Thanks everyone. |
The mime types are helpful for client identification and completely workable for identified Dolby Vision streams, but are not sufficient in cases of cross-compatible DV streams. |
Does "cross-compatible" refer to 1) HDR10-DV compatibility or 2) various codec compatibility? |
In practice today, it is typically HDR10-DV compatibility. But it could be others moving forward, including SDR compatibility. |
Please correct where I am wrong, but here is my understanding on how sites may query for profile 8.1 for DV and HDR10, respectively: if DV 8.1: else if HDR10 8.1: This presumes that Dolby Vision is a superset of SMPTE 2094-10, but the HDR10 standard is adequately defined, even for profile 8.1. |
There are corner cases where you wish to specify the codec as normal hevc (e.g. 'hev1') so that a non-DV client can correctly understand the stream, and so it would be better to have an alternate additional signaling convention (such as 'DV' on the hdr capabilities). But those cases are currently not widely used, so we can close this if you wish for expediency and perhaps reexamine in the future. |
Dolby Vision is a very complex envelope format but all different filetypes are governed by its MIME string.
This is partially correct but Dolby Vision 8.1 isn't "dvhe.08.01". It's a common misconception but upon reading Dolby's documentation you can find out that 01 is a Level ID. dvhe.08.01 basically means a 720p at 24fps Profile 8 file with a maximum supported bitrate 20Mbps, those are Level 01's specifications. We can use the .IsTypeSupported method for Dolby Vision MIME type strings and if returned true, regex can be used to identify resolution, bitrate and framerate from the Level ID, and instantiate a new VideoConfiguration object from there. Right now only Safari on macOS 10.15 or later will support Dolby Vision decoding. I guess sites (Netflix) right now just use NavigatorUserAgent to determine whether to stream Dolby Vision content or not. |
@kdcloudy is correct, the codec string used in a MIME type or in codec tag for HLS and DASH uses a dot notation where we have the fourCC followed by the profile and then followed by the level. You can find details about our profiles and levels here: https://dolby.force.com/professionalsupport/s/article/What-is-Dolby-Vision-Profile
I would recommend that you use the mediaCapabilities API to determine if Vision can be played back. I have seen that isTypeSupported will return false positives for some profiles of Dolby Vision on Safari.
Safari and Microsoft's Edge browser can support Dolby Vision on appropriate combinations of OS and hardware. |
This is a fork for comments at the bottom of #118 .
@rdoherty0 wrote:
@jernoble replied:
@rdoherty0 replied:
I bolded the last sentence. I think the "simple existence bit" refers to Screen.video.hdrSupported? I'm not sure. We have a separate attribute to query supported metadata types, with "smpteSt2094-10" being one of the values. Do we need a separate string to reflect the extensions dolby added to this, or is 2094-10 good enough?
Related questions: are DV's extensions are backward compatible with 2094-10? If there are devices out there that support only the 2094-10 subset, should sites still pick Dolby Vision over other metadata formats that might be fully supported?
The text was updated successfully, but these errors were encountered: