Dolby Vision now possible through MP4 Mux.

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

Re: Dolby Vision now possible through MP4 Mux.

#5656 Post by mattmarsden » Sat Oct 23, 2021 6:52 pm

Sorry to be an absolute pain, could you also point me to the HDR10plus_parser.exe. Thanks!!


mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

#5658 Post by mattmarsden » Sat Oct 23, 2021 7:00 pm

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.

#5659 Post by mattmarsden » Sun Oct 24, 2021 7:33 am

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: 2082
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

#5660 Post by RESET_9999 » 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

mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

#5661 Post by mattmarsden » Sun Oct 24, 2021 1:12 pm

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?

quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

#5662 Post by quietvoid » Sun Oct 24, 2021 1:13 pm

The value in the RPU should be multiplied by 10 000*, for the min.
So the common values: 0.0001 = 1, 0.0050 = 50, etc.
Last edited by quietvoid on Mon Oct 25, 2021 3:02 pm, edited 1 time in total.

mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

#5663 Post by mattmarsden » Sun Oct 24, 2021 1:28 pm

quietvoid wrote:
Sun Oct 24, 2021 1:13 pm
The value in the RPU should be multiplied by 1000, for the min.
So the common values: 0.0001 = 1, 0.0050 = 50, etc.
OK got you, but for the max leave it as it says.

mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

#5664 Post by mattmarsden » Mon Oct 25, 2021 2:14 pm

quietvoid wrote:
Sun Oct 24, 2021 1:13 pm
The value in the RPU should be multiplied by 1000, for the min.
So the common values: 0.0001 = 1, 0.0050 = 50, etc.
Sorry to keep going on about this but 0.0050 x 1000 = 5 - is 50 definitely correct for the value?

quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

#5665 Post by quietvoid » Mon Oct 25, 2021 2:29 pm

mattmarsden wrote:
Mon Oct 25, 2021 2:14 pm
Sorry to keep going on about this but 0.0050 x 1000 = 5 - is 50 definitely correct for the value?
Make that 10 000.

mattmarsden
Posts: 88
Joined: Mon Sep 03, 2018 10:36 am

Re: Dolby Vision now possible through MP4 Mux.

#5666 Post by mattmarsden » Mon Oct 25, 2021 2:55 pm

quietvoid wrote:
Mon Oct 25, 2021 2:29 pm
mattmarsden wrote:
Mon Oct 25, 2021 2:14 pm
Sorry to keep going on about this but 0.0050 x 1000 = 5 - is 50 definitely correct for the value?
Make that 10 000.
Great, thanks - just checking I got it right!

Epedemic
Posts: 44
Joined: Mon Jan 21, 2019 11:07 pm

Re: Dolby Vision now possible through MP4 Mux.

#5667 Post by Epedemic » Mon Oct 25, 2021 10:09 pm

Wow, this HDR10+ -> DV stuff seems pretty amazing :D It seems to work on Amazons streaming content as well, based on a quick test. However i don't currently have anything i really want to watch through to check, but i'll definitely put some new episodes of The Expanse through this procedure when they arrive (december i believe)

BetaExorcist
Posts: 3
Joined: Wed Nov 04, 2020 1:14 am

Re: Dolby Vision now possible through MP4 Mux.

#5668 Post by BetaExorcist » Tue Oct 26, 2021 7:17 am

staknhalo wrote:
Sat Oct 23, 2021 6:24 pm
mattmarsden wrote:
Sat Oct 23, 2021 5:46 pm
quietvoid wrote:
Fri Oct 22, 2021 4:16 pm

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)
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I looked at the guide on avsforum but I am having a little trouble with the installing from the Dolby labs GitHub do you think you could explain the installation process or know of some clear documentation or video that can help? I got as far as devenv mp4muxer_2010.sln /Rebuild but I got 2 errors one of which is a fatal one and I am not even sure I am doing it right in the first place.

error 1: 1>..\..\..\src\mp4_muxer.c : error C4335: Mac file format detected: please convert the source file to either DOS or UNIX format
fatal error: 2>LINK : fatal error LNK1104: cannot open file '<path>\dlb_mp4base\make\mp4muxer\windows_amd64\debug\VS2010\libmp4base.lib'

mad83
Posts: 7
Joined: Tue Oct 26, 2021 12:35 pm

Re: Dolby Vision now possible through MP4 Mux.

#5669 Post by mad83 » Tue Oct 26, 2021 12:54 pm

Hello All,

i would like to reduce dolvby vision (profile 5) mp4 file from 9GB to ~3GB by re-encode video in Staxrip.
My file mediainfo looks like below:

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.2@Main
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU
Codec ID : dvhe
Codec ID/Info : High Efficiency Video Coding with Dolby Vision
Duration : 25 min 4 s
Bit rate : 22.4 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 0)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.112
Stream size : 3.92 GiB (99%)
Default : Yes
Alternate group : 1
Encoded date : UTC 2021-06-18 06:42:54
Tagged date : UTC 2021-06-18 06:43:27
Color range : Full
Codec configuration box : hvcC+dvcC

what i did to reduce video file size is:
1) extra DV profile 5 by this command:
ffmpeg.exe -i DV_TEST.mp4 -c:v copy -vbsf hevc_mp4toannexb -f hevc - | dovi_tool.exe extract-rpu - -o RPU.bin

2) Setup StaxRip x265 encoder with Profile 5 and path to RPU.bin

3) After re-encode is done i mux hevc to mp4 by executing this command:
mp4muxer.exe --dv-profile 5 --input-file DV_TEST.mp4 --output-file mp4muxer_out.mp4

4) Add audio.eac3 and subtitles are done by this command:

mp4box.exe -add mp4muxer_out.mp4 -add audio.eac3 mp4box_out.mp4

and i got file like below:

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5.2@Main
HDR format : Dolby Vision, Version 1.0, dvhe.05.06, BL+RPU
Codec ID : hvc1
Codec ID/Info : High Efficiency Video Coding
Duration : 2 min 59 s
Source duration : 3 min 0 s
Bit rate : 21.1 Mb/s
Maximum bit rate : 38.8 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 0)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.106
Stream size : 454 MiB (99%)
Source stream size : 454 MiB (99%)
Default : Yes
Alternate group : 1
Encoded date : UTC 2021-06-18 06:42:54
Tagged date : UTC 2021-10-22 17:05:16
Color range : Full
Codec configuration box : hvcC+dvcC

but when i try play it on my LG oled 55b7v TV from usb drive dolby vision is recognized but when try to move forward it stops play this file and start plays next one.

Could someone guide me where is the problem?

quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

#5670 Post by quietvoid » Tue Oct 26, 2021 1:37 pm

BetaExorcist wrote:
Tue Oct 26, 2021 7:17 am
I looked at the guide on avsforum but I am having a little trouble with the installing from the Dolby labs GitHub do you think you could explain the installation process or know of some clear documentation or video that can help? I got as far as devenv mp4muxer_2010.sln /Rebuild but I got 2 errors one of which is a fatal one and I am not even sure I am doing it right in the first place.

error 1: 1>..\..\..\src\mp4_muxer.c : error C4335: Mac file format detected: please convert the source file to either DOS or UNIX format
fatal error: 2>LINK : fatal error LNK1104: cannot open file '<path>\dlb_mp4base\make\mp4muxer\windows_amd64\debug\VS2010\libmp4base.lib'
Dolby provides binaries: https://github.com/DolbyLaboratories/dl ... master/bin

Post Reply