Dolby Vision now possible through MP4 Mux.

Please post here for issues related to UHD discs
RESET_9999
Posts: 2105
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri Jul 23, 2021 8:45 pm
Can you share the full RPU? The error doesn't seem to be related to the HEVC file..
sure, here it is: https://drive.google.com/file/d/19IAyGV ... sp=sharing

mediainfo of the web-dl:

Code: Select all

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                                 : 1 h 40 min
Bit rate                                 : 22.5 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.113
Stream size                              : 15.8 GiB (97%)
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2020-12-28 16:47:59
Tagged date                              : UTC 2020-12-28 17:25:21
Color range                              : Full
Codec configuration box                  : hvcC+dvcC
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

Thanks. I can reproduce with simple info:

Code: Select all

dovi_tool info --input RPU.bin -f 0
Parsing RPU file...
thread 'main' panicked at 'range end index 18446744073709551612 out of range for slice of length 1', src/dovi/rpu/mod.rs:23:54
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Will look into it.
FWIW my own RPU from a WEB-DL is larger, 35MB while yours is 24MB.
Oh nevermind that, I didn't convert to p8.
Last edited by quietvoid on Fri Jul 23, 2021 9:02 pm, edited 1 time in total.
RESET_9999
Posts: 2105
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri Jul 23, 2021 8:56 pm

FWIW my own RPU from a WEB-DL is larger, 35MB while yours is 24MB..
mm that's strange. AFAIK, there is only one DV release of this movie, the one from hotstar india.
does your version has the same MediaInfo as mine?

Anyway, I'll try to re-download it, maybe the file got corrupted in my HDD.
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

Sorry our RPUs are the same, mine wasn't converted yet.
Looks like it becomes invalid after converting only.
RESET_9999
Posts: 2105
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

quietvoid wrote:
Fri Jul 23, 2021 9:04 pm
Sorry our RPUs are the same, mine wasn't converted yet.
Looks like it becomes invalid after converting only.
ah I see thank you
chros
Posts: 102
Joined: Sun Sep 20, 2020 8:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by chros »

quietvoid wrote:
Fri Jul 23, 2021 7:49 pm
chros wrote:
Fri Jul 23, 2021 7:39 pm
That's interesting what you talk about: can I add fake DoVi metadata (e.g. 1000 MDL, 1000 MaxCLL, 300 FALL) into a HDR10 stream, if so how?
(I want to create a small DoVi sample for FireStick 4k from a HDR10 sample to see whether it triggers tv-led or player-led with LG.)
Not currently but I'll make a tracking issue for it..
Feel free to add comments for specific things you might need: https://github.com/quietvoid/dovi_tool/issues/29
Thanks that'd be fine that way.

So I created a fake DoVi ts (with tsmuxer) after extracting the hevc stream from mkv and injecting a mode3 converted rpu from profile5 stream (tricky part was to find the exact framenumbers).
The result (260 MB, up for a week) is only played back as DoVi via Oppo, but HDR10 from Kodi-firestick and Plex (on LG) didn't recognised it: not sure why.

That's what I did:
extract rpu from profile 5 hevc dovi:

Code: Select all

dovi_tool extract-rpu video.hevc
edit and convert the extracted rpu to proper frame count and profile 8.1:

Code: Select all

{
  "mode": 3,
  "remove": [
      "0-32245"
  ]
}

Code: Select all

dovi_tool editor -i RPU.bin -j edit.json --rpu-out RPU_mode3_4.bin
add rpu into hdr10 hevc:

Code: Select all

dovi_tool inject-rpu -i video.hevc --rpu_in RPU_mode3_4.bin
RESET_9999
Posts: 2105
Joined: Mon Aug 05, 2019 7:12 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by RESET_9999 »

I'm trying to understand the editor.

What would be the script if I have to add 24 frames in the beginning and remove the last 2 frames at the end ( or should I be removing 26 frames since I'm delaying the metadata 24frames??)

I tried this but it doesn't work. Please fix my stupidity lol

Code: Select all

{
    "remove": [
        "167703-167704"
    ],
	"duplicate": [
		{
			"source": 0,
			"offset": 24,
			"length": 10
		}
	]
}


Also, what would be the script if I want to remove 24 frames in the beginning and add 10 frames at the end?

this?

Code: Select all

{
    "remove": [
        "0-23"
    ],
    "duplicate": [
        {
            "source": last_frame - 1,
            "offset": last_frame - 1,
            "length": 11
        }
    ]
}
manuelrn
Posts: 12
Joined: Fri May 22, 2020 10:39 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by manuelrn »

RESET_9999 wrote:
Fri Jul 23, 2021 10:26 pm
I'm trying to understand the editor.

What would be the script if I have to add 24 frames in the beginning and remove the last 2 frames at the end ( or should I be removing 26 frames since I'm delaying the metadata 24frames??)

I tried this but it doesn't work. Please fix my stupidity lol

Code: Select all

{
    "remove": [
        "167703-167704"
    ],
	"duplicate": [
		{
			"source": 0,
			"offset": 24,
			"length": 10
		}
	]
}
I think you need to swap the values of offset and length (length 24 and offset 10).
In fact, I suppose that the ideal would be to add the new frames after the frame that is taken as a sample (source), and not after frame 10 (length 24 and offset 0).

Regards!
Manixx2020beyound
Posts: 127
Joined: Thu Oct 08, 2020 5:19 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by Manixx2020beyound »

RESET_9999 wrote:
Fri Jul 23, 2021 1:50 pm
quietvoid wrote:
Fri Jul 23, 2021 12:45 pm
Thanks for this.
To me there seems to be a slight tint change (so maybe whitebalance difference).
Would be pretty complicated to tell if it's just because the HDR10 version was encoded differently.


I asked @manix to provide lldv capture sample with his Shogun, this will be a more accurate way of comparing the colors/tint.
Bitrate increase looks Amazing with the Rpu
U can see a difference a huge diff to me along with the hdr black bars.
Star Wars is like a whole new movie lol
chros
Posts: 102
Joined: Sun Sep 20, 2020 8:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by chros »

RESET_9999 wrote:
Fri Jul 23, 2021 10:26 pm
What would be the script if I have to add 24 frames in the beginning and remove the last 2 frames at the end ( or should I be removing 26 frames since I'm delaying the metadata 24frames??)
Not sure about removing part (good question), but duplicating metadata of frame 26 in the beginning should look like this:

Code: Select all

"duplicate": [
		{
			"source": 25,
			"offset": 0,
			"length": 25
		}
	]
RESET_9999 wrote:
Fri Jul 23, 2021 10:26 pm
Also, what would be the script if I want to remove 24 frames in the beginning and add 10 frames at the end?
Something like this:

Code: Select all

{
    "remove": [
        "0-23"
    ],
    "duplicate": [
        {
            "source": frame_count - 1,
            "offset": frame_count - 1,
            "length": 11
        }
    ]
}
chros
Posts: 102
Joined: Sun Sep 20, 2020 8:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by chros »

chros wrote:
Fri Jul 23, 2021 9:27 pm
So I created a fake DoVi ts (with tsmuxer) after extracting the hevc stream from mkv and injecting a mode3 converted rpu from profile5 stream (tricky part was to find the exact framenumbers).
The result (260 MB, up for a week) is only played back as DoVi via Oppo, but HDR10 from Kodi-firestick and Plex (on LG) didn't recognised it: not sure why.

That's what I did:
extract rpu from profile 5 hevc dovi:

Code: Select all

dovi_tool extract-rpu video.hevc
edit and convert the extracted rpu to proper frame count and profile 8.1:

Code: Select all

{
  "mode": 3,
  "remove": [
      "0-32245"
  ]
}

Code: Select all

dovi_tool editor -i RPU.bin -j edit.json --rpu-out RPU_mode3_4.bin
add rpu into hdr10 hevc:

Code: Select all

dovi_tool inject-rpu -i video.hevc --rpu_in RPU_mode3_4.bin
I tried to create an mp4 with mp4muxer (2020.03.06.) from the above files, but now everything plays it back as hdr10, even the Oppo:

Code: Select all

mp4muxer.exe --dv-profile 8 --input-file injected_output.hevc --input-file audio.ac3 --dv-bl-compatible-id 1 --output-file 1try.mp4
@quietvoid, do you know why?
ragico
Posts: 258
Joined: Fri Feb 15, 2019 1:09 am

Re: Dolby Vision now possible through MP4 Mux.

Post by ragico »

Hope that @quietvoid will make an easy tool to be used by ignorant people like me as @Yusesope did for his tools.
Thank you.
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

I just pushed a new version to fix the "Soul 2020" DoVi RPU parsing once converted to profile 8.
You can find it here: https://github.com/quietvoid/dovi_tool/ ... /tag/0.3.5

Played Soul a bit with a sample and there were some noticeable brightness adjustments at scene changes.
Maybe because of the different black bars, I'd have to test more. This was simply mode 3 and removing the first 40 frames.

chros wrote:
Sat Jul 24, 2021 11:43 am
I tried to create an mp4 with mp4muxer (2020.03.06.) from the above files, but now everything plays it back as hdr10, even the Oppo:

Code: Select all

mp4muxer.exe --dv-profile 8 --input-file injected_output.hevc --input-file audio.ac3 --dv-bl-compatible-id 1 --output-file 1try.mp4
@quietvoid, do you know why?
No, I'm not sure since I haven't used MP4 in a while. I can't remember if profile 8 ever worked.
I'll try your files and see.


ragico wrote:
Sat Jul 24, 2021 11:45 am
Hope that @quietvoid will make an easy tool to be used by ignorant people like me as @Yusesope did for his tools.
Thank you.
If you mean including batch scripts and things like FFmpeg, then no it's not going to happen.
The tool is already a cross platform executable, so there's no other dependency required.
Last edited by quietvoid on Sat Jul 24, 2021 4:49 pm, edited 5 times in total.
quietvoid
Posts: 373
Joined: Sun Apr 19, 2020 4:15 pm

Re: Dolby Vision now possible through MP4 Mux.

Post by quietvoid »

chros wrote:
Fri Jul 23, 2021 9:27 pm
So I created a fake DoVi ts (with tsmuxer) after extracting the hevc stream from mkv and injecting a mode3 converted rpu from profile5 stream (tricky part was to find the exact framenumbers).
The result (260 MB, up for a week) is only played back as DoVi via Oppo, but HDR10 from Kodi-firestick and Plex (on LG) didn't recognised it: not sure why.
Your .ts file and when I remux it as MKV both play in DoVi on my Firestick with Kodi.
chros
Posts: 102
Joined: Sun Sep 20, 2020 8:36 am

Re: Dolby Vision now possible through MP4 Mux.

Post by chros »

quietvoid wrote:
Sat Jul 24, 2021 3:42 pm
Your .ts file and when I remux it as MKV both play in DoVi on my Firestick with Kodi.
Thank for checking, still not here :( Also when I drag the ts file into recent mkvtoolnix, the mkv file also plays back as hdr10 with Kodi. (When I removed other files from the directory, Plex finally recognizes the ts file and plays it back as DoVi.)
Which Kodi version do you use? I have Kodi19DV-Final-libbluray-aarch32.apk from here (end of Feb 2021).
And yesterday when I switched on the Firestick after couple of weeks, there was an OS update again (I hate those), maybe that's why ? (Profile 5 mp4 files are still fine.)

But since you have a working sample, you can try out playing it back on your 2018 LG, from Firestik+Kodi and from Plex to be able to compare? Plex should be fine without issues, but if my guess is right, you should see heavy banding / posterization from Firestick+Kodi (meaning it only triggers player-led).
Post Reply