Last updated on October 13, 2023 - Back to blog home pageTweet
This blog post is assuming you have basic knowledge about online video, video encoding and HDR video. If not, you can start with our blog post: Demystifying HDR Video.
Now let's say we have a video file - a random video file (MP4, MOV, MKV ...) - it could be a master file coming from a studio or a video shot from a smartphone. You were told or you are suspecting this video file is HDR video but how can you make sure of it? If you do not have a HDR video on hands you can download a sample here.
Only proper exploration of the video file metadata will tell us if this file is holding HDR video content. This will not tell us if this is "good art" in HDR video content, only a visual inspection of content can tell us that, but at least we can now tell for sure if this video file is indeed HDR video content.
This free video tool MediaInfo is no secret for those working in the online video industry, but it can tell us if a video is a HDR video ... assuming we are looking at the right field(s)! Example:
The key field we want to look at is Transfer characteristics (orange in the above image). This field is the HDR king maker (or not). If you have HDR video content, this field should read:
This is the key takeaway here: HDR is not about bit depths, color primaries or resolution - it is about transfer functions.
ITU-R Recommendation BT.2100 (Rec. 2100 or BT.2100) introduced high-dynamic-range television (HDR-TV) by recommending the use of the perceptual quantizer (PQ) or hybrid log–gamma (HLG) transfer functions instead of the traditional "gamma" previously used for SDR-TV. Note: we are talking about BT.2100 not BT.2020 - so to answer your question, yes there can be SDR video content with BT.2020 color primaries. While BT.2020 could be a hint that we are dealing with HDR Video content, it is not enough to conclude so.
Those are the other fields in MediaInfo output (dotted blue in the above image) that you may want to look at to rapidly identify HDR video content:
But what if MediaInfo does not tell us anything about HDR? Or what if we want a second opinion? You can try ffprobe instead! Again, I am assuming you know the basics of FFmpeg and its media exploration tool called ffprobe. Here is the command line we used to output metadata about our video:
ffprobe -v quiet -show_streams -select_streams v:0 video.mp4
Here is the actual output:
The main field we want to look at (orange in the above image) is color_transfer. This is the HDR king maker (or not). If this field holds smpte2084 (PG) or arib-std-b67 (HLG) then you are indeed facing HDR video content.
These other fields (dotted blue in the above image) can hint at HDR video content but remember unless you can confirm the exact nature of the transfer function PG (smpte2084) or HLG (arib-std-b67) you cannot tell for sure if it is HDR video content:
You are going to need a HDR-compatible display to enjoy the HDR features held in the video. This could be a computer display or TV. Note that your HDR display is likely having a VESA HDR rating. Delivering HDR video content is not just about authoring or encoding your video with HDR metadata, it is also making sure that those HDR metadata will be properly presented to the viewer. A studio-grade master file can be authored in HDR at 1000 nits, but a HDR display may only be able to display up to 500 nits. Therefore, making true HDR video content is really a work that starts with the cam-corder and ends with the viewing device. This is why delivering HDR video is so "complex" those days because all participants in the video delivery chain must be fluent with HDR technology.
©2015-2023 Radiant Media Player. All Rights Reserved.