Dolby Vision now possible through MP4 Mux.

Please post here for issues related to UHD discs
mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by mattmarsden »

quietvoid wrote:
Fri Oct 22, 2021 3:09 pm
mattmarsden wrote:
Fri Oct 22, 2021 6:32 am
Can I ask how you remove HDR10+ because I need to do that on some files.
You can try this: https://gist.github.com/quietvoid/175d7 ... 9eb1bd2c38
It's based on yusesope's script.
Looks like what I need - can you tell me how I use the script though? I've installed python but I'm not sure how to use it.
quietvoid
Posts: 377
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

mattmarsden wrote:
Fri Oct 22, 2021 4:00 pm
Looks like what I need - can you tell me how I use the script though? I've installed python but I'm not sure how to use it.
You need to demux the video first, and then run the script on the HEVC file.
example: python hdr10plus_remove.py -i video.hevc -o processed_file.hevc
powdeau
Posts: 57
Joined: Sat Jan 12, 2019 1:01 am

Re: Dolby Vision now possible through MP4 Mux.

Post by powdeau »

When I convert HDR10+ do DoVi, do I need to change something in generator_example.json or can I leave it as it is?
quietvoid
Posts: 377
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

powdeau wrote:
Sat Oct 23, 2021 11:08 am
When I convert HDR10+ do DoVi, do I need to change something in generator_example.json or can I leave it as it is?
You should adjust the JSON. Probably removing the level2 list as well as specifying proper level6 metadata.
mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by mattmarsden »

quietvoid wrote:
Fri Oct 22, 2021 4:16 pm
mattmarsden wrote:
Fri Oct 22, 2021 4:00 pm
Looks like what I need - can you tell me how I use the script though? I've installed python but I'm not sure how to use it.
You need to demux the video first, and then run the script on the HEVC file.
example: python hdr10plus_remove.py -i video.hevc -o processed_file.hevc
Thanks for that. Is there an idiots guide on HDR10+ to DV conversion?
staknhalo
Posts: 178
Joined: Sun Oct 11, 2020 12:05 am

Re: Dolby Vision now possible through MP4 Mux.

Post by staknhalo »

mattmarsden wrote:
Sat Oct 23, 2021 5:46 pm
quietvoid wrote:
Fri Oct 22, 2021 4:16 pm
mattmarsden wrote:
Fri Oct 22, 2021 4:00 pm
Looks like what I need - can you tell me how I use the script though? I've installed python but I'm not sure how to use it.
You need to demux the video first, and then run the script on the HEVC file.
example: python hdr10plus_remove.py -i video.hevc -o processed_file.hevc
Thanks for that. Is there an idiots guide on HDR10+ to DV conversion?
I wrote up how this idiot does it here:

https://www.avsforum.com/threads/author ... t-60952335
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Turn HDR10+ metadata into Dolby Vision metadata**
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Command 1: 'hdr10plus_tool extract Video.hevc -o Metadata.json' (Extracts HDR10+ metadata and saves to .json file)

>>Next commands go through Dovi_Tool and v0.5.0 minimum required<<<
Command 2: 'dovi_tool generate -j Extra.json --hdr10plus-json Metadata.json --rpu-out RPUPlus.bin' (combines metadata from edited 'Extra.json' - template is below and you need to do one for every title specifically - and metadata from extracted 'Metadata.json' and combines+converts them into p8 RPU metadata format)

Command 3: 'dovi_tool.exe inject-rpu --input Video.hevc --rpu-in RPUPlus.bin' (Injects HDR10+ generated RPU metadata into HEVC stream turning it into single layer Dolby Vision 8 stream)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Blank Template for 'Extra.json'
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
{
"length": (title specific framelength here without parenthesis),
"level2": [
{
"target_nits": 100
},
{
"target_nits": 600
},
{
"target_nits": 1000
},
{
"target_nits": 2000
}
],
"level6": {
"max_display_mastering_luminance": (title specific metadata info here without parenthesis),
"min_display_mastering_luminance": (title specific metadata info here without parenthesis),
"max_content_light_level": (title specific metadata info here without parenthesis),
"max_frame_average_light_level": (title specific metadata info here without parenthesis)
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
RESET_9999
Posts: 2406
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

mattmarsden wrote:
Sat Oct 23, 2021 5:46 pm
Thanks for that. Is there an idiots guide on HDR10+ to DV conversion?
1- extract HDR10+ into a json

Code: Select all

hdr10plus_parser.exe -i X:\HDR10+.hevc -o X:\HDR10+.json
2- create a json with L6 metadata (static HDR metadata: match your source)

Code: Select all

{
    "length": 0,
    "level6": {
        "max_display_mastering_luminance": 1000,
        "min_display_mastering_luminance": 50,
        "max_content_light_level": 0,
        "max_frame_average_light_level": 0
    }
}
3- generate DV metadata

Code: Select all

dovi_tool.exe generate --hdr10plus-json X:\HDR10+.json --json X:\L6.json --rpu-out X:\DVrpu.bin
4- inject DV metadata

Code: Select all

dovi_tool.exe inject-rpu -i X:\HDR10+.hevc --rpu-in X:\DVrpu.bin
https://github.com/quietvoid/dovi_tool
https://github.com/quietvoid/hdr10plus_tool
Last edited by RESET_9999 on Sat Oct 23, 2021 8:32 pm, edited 2 times in total.
Sorry for my English.
G5 / AM6B+ / Denon 7.2.4
DoVi_Scripts
DoVi Playback Devices
mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by mattmarsden »

RESET_9999 wrote:
Sat Oct 23, 2021 6:26 pm
mattmarsden wrote:
Sat Oct 23, 2021 5:46 pm
Thanks for that. Is there an idiots guide on HDR10+ to DV conversion?
1- extract HDR10+ into a json

Code: Select all

hdr10plus_parser.exe -i X:\HDR10+.hevc -o X:\HDR10+.JSON
2- create a json with L6 metadata (static HDR metadata)

Code: Select all

{
    "length": 0,
    "level6": {
        "max_display_mastering_luminance": 1000,
        "min_display_mastering_luminance": 50,
        "max_content_light_level": 0,
        "max_frame_average_light_level": 0
    }
}
3- generate DV metadata

Code: Select all

dovi_tool.exe generate --hdr10plus-json X:\HDR10+.JSON --json X:\L6.json --rpu-out X:\DVrpu.bin
4- inject DV metadata

Code: Select all

dovi_tool.exe inject-rpu -i X:\HDR10.hevc --rpu-in X:\DVrpu.bin
Brilliant, could you give me a link to the current dovi_tool.exe? Thanks very much
RESET_9999
Posts: 2406
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

Sorry for my English.
G5 / AM6B+ / Denon 7.2.4
DoVi_Scripts
DoVi Playback Devices
mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by mattmarsden »

Sorry to be an absolute pain, could you also point me to the HDR10plus_parser.exe. Thanks!!
RESET_9999
Posts: 2406
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

Sorry for my English.
G5 / AM6B+ / Denon 7.2.4
DoVi_Scripts
DoVi Playback Devices
mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by mattmarsden »

Amazing help, thanks so much. In a couple of days I'm going to be asking you about injecting the MADVR created metadata as DV!!
mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by mattmarsden »

RESET_9999 wrote:
Sat Oct 23, 2021 6:26 pm
mattmarsden wrote:
Sat Oct 23, 2021 5:46 pm
Thanks for that. Is there an idiots guide on HDR10+ to DV conversion?
1- extract HDR10+ into a json

Code: Select all

hdr10plus_parser.exe -i X:\HDR10+.hevc -o X:\HDR10+.json
2- create a json with L6 metadata (static HDR metadata: match your source)

Code: Select all

{
    "length": 0,
    "level6": {
        "max_display_mastering_luminance": 1000,
        "min_display_mastering_luminance": 50,
        "max_content_light_level": 0,
        "max_frame_average_light_level": 0
    }
}
3- generate DV metadata

Code: Select all

dovi_tool.exe generate --hdr10plus-json X:\HDR10+.json --json X:\L6.json --rpu-out X:\DVrpu.bin
4- inject DV metadata

Code: Select all

dovi_tool.exe inject-rpu -i X:\HDR10+.hevc --rpu-in X:\DVrpu.bin
https://github.com/quietvoid/dovi_tool
https://github.com/quietvoid/hdr10plus_tool
Do you know how I can enter a "min_display_mastering_luminance" vlaue of 0.005? It doesn't seem to like that - it only want whole numbers. I've used 0 which I think must be close enough!
RESET_9999
Posts: 2406
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

mattmarsden wrote:
Sun Oct 24, 2021 7:33 am

Do you know how I can enter a "min_display_mastering_luminance" vlaue of 0.005? It doesn't seem to like that - it only want whole numbers. I've used 0 which I think must be close enough!
my json example is 0.0050
Sorry for my English.
G5 / AM6B+ / Denon 7.2.4
DoVi_Scripts
DoVi Playback Devices
mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by mattmarsden »

RESET_9999 wrote:
Sun Oct 24, 2021 1:10 pm
mattmarsden wrote:
Sun Oct 24, 2021 7:33 am

Do you know how I can enter a "min_display_mastering_luminance" vlaue of 0.005? It doesn't seem to like that - it only want whole numbers. I've used 0 which I think must be close enough!
my json example is 0.0050
Ah OK - it says 50, am I reading it wrong?
Post Reply