Vero 4K KODI not passing (some) HDR metadata

OK great so that will pass the correct maxfall and maxcll metadata?

We donā€™t pass that yet ā€” but we have fixed master display data (luminance) which should give you a noticeable improvement.

Quite a lot of titles donā€™t have any Max data defined in their masters

I just ordered a Vero 4K+ based on the great functionality and the great support I see you provide in the forums.
I ordered the Vero 4K+ primarily to watch 4K HDR content. When I saw this thread, I was surprised MaxFall and MaxCLL where not passed over hdmi. When researching HDR before buying a new TV, I found that that are important static metadata for HDR10.

Based on your comment that a lot of titles donā€™t have Max data I wrote a script to make a report for my HDR media based on mediainfo. All are UHD Bluray remuxes.

My finding is that of 83 files, 49 have MaxCLL and MaxFALL. So the majority have the Max data. It would be great if you can pass that metadata as well to enable my TV to do better tone mapping.

3 Likes

Itā€™s on the list to do.

1 Like

I would like to volunteer for testing when my Vero 4K+ arrives.

I am currently running a JVC X5900 projector that relies on the HDR metadata MaxCLL / MaxFALL for the tone mapping.

Iā€™m currently running a ATV4K and it just outputs a generic 1000/4000 MaxCLL/MaFALL for all HDR content.

Itā€™s not so important for most TVā€™s but for Projector users itā€™s a must.

Fancy sharing said script? :slight_smile:

Have fun! :wink:

mediareport.py

I have tested it on MacOS, but I it probably works on other OSes. The script recursively processes all mkv starting in the current working directory. For each mkv it basically runs mediainfo and parses the output to display a selection of attributes.

1 Like

Iā€™ll test it now on MacOS Mojave, thank you! Just figuring out how to use Python, to make it work, lol.

What do you do if you have a different folder for each MKV?

Not having much luck, so Iā€™m guessing Iā€™m not using the command line correctly.
Any tips? Cheers.

Mac-mini:Avengers Age of Ultron (2015) UHD htmac$ python ./mediareport.py
Filename                                                                                      Format       bdepth  Range     Color    Mast. Color    Mast. Luminance                     MaxCLL      MaxFALL     
Traceback (most recent call last):
  File "./mediareport.py", line 63, in <module>
    (exit_code, json_data) = subprocess.getstatusoutput(command)
AttributeError: 'module' object has no attribute 'getstatusoutput'
Mac-mini:Avengers Age of Ultron (2015) UHD htmac$

Hi,

Are me and @WilliamG missing something here, if I run the code with python 2.7 I get the same error, if I try with python3 I get this:

Filename                                                                                      Format       bdepth  Range     Color    Mast. Color    Mast. Luminance                     MaxCLL      MaxFALL     
Traceback (most recent call last):
  File "mediareport.py", line 63, in <module>
(exit_code, json_data) = subprocess.getstatusoutput(command)
AttributeError: 'module' object has no attribute 'getstatusoutput'
tom@tom-Orion:~/test$ python3 mediareport.py
Filename                                                                                      Format       bdepth  Range     Color    Mast. Color    Mast. Luminance                     MaxCLL      MaxFALL     
Traceback (most recent call last):
  File "mediareport.py", line 64, in <module>
media_info = json.loads(json_data)
  File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
  File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

my understanding is that subprocess.getstatusoutput(command) is python3 code, please correct me If Iā€™m wrong.

Thanks Tom.

Change the first line to:

#!/usr/bin/env python3

will correct that problem. The next problem appears to be:

'mediainfo --Output=JSON \"' + fullfilename + "\""

on the version of mediainfo that I have, the --Output=JSON option does not work. Only HTML and XML are supported.

$ mediainfo --version
MediaInfo Command line, 
MediaInfoLib - v17.12

Thank you for sharing this script.

@bmillham found the problem. The version of mediainfo you use, doesnā€™t support json as output format. You should update to the newest version. I use v18.08.1

I updated the script to include python3 and give a more readable error when not using the correct version. You can find it here.

@mellon, Iā€™m working on a version that does not require JSON. I should be done with it shortly. Iā€™ve also made a few improvements for you.

Great!

@bmillham, however, I think you can better stick to parsing JSON. That is easier and not prone to formatting changes in the future. I donā€™t see a problem in people updating their mediainfo. It is always a good idea to use a current version.

Well the issue is that it is not in the latest Debian Stable repository

1 Like

I see.

Still not working for me. Any tips, or are we waiting for something else to make this work?

Iā€™m working on a new version. Got sidetracked because I decided to improve the script (no insult to @mellon). I hope to have it ready shortly.

Cheers for the speedy reply. :slight_smile: