So I did some quick testing using my Plex server and my LG C8 television.
I've compiled ffmpeg, gpac (for MP4Box) and dolby's mp4muxer from source.
Now when I take a look at the decrypted 4K bluray of Alita:
Code: Select all
$ ffmpeg -i bluray:.
...
Input #0, mpegts, from 'bluray:.':
Duration: 00:03:28.21, start: 11.646667, bitrate: 2251891 kb/s
Program 1
Stream #0:0[0x1011]: Video: hevc (Main 10) (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
Stream #0:1[0x1015]: Video: hevc (Main 10) (HDMV / 0x564D4448), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 23.98 tbc
Stream #0:2[0x1100]: Audio: truehd (AC-3 / 0x332D4341), 48000 Hz, 7.1, s32 (24 bit)
Stream #0:3[0x1100]: Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 640 kb/s
Stream #0:4[0x1101]: Audio: dts (DTS-HD MA) ([134][0][0][0] / 0x0086), 48000 Hz, stereo, s32p (24 bit)
...
So I decided to demux the tracks and convert the dolby truehd 7.1 audio track to lpcm 7.1.
Thanks to yusesope over at mrmc:
https://forum.mrmc.tv/viewtopic.php?f=1 ... 310#p25425
Code: Select all
ffmpeg -i bluray:. \
-map 0:0 -c copy video_bl.hevc \
-map 0:1 -c copy video_el.hevc \
-map 0:2 -c:a pcm_s24be -ar 48000 -rf64 auto audio_lpcm.mov \
-map 0:3 -c copy audio_dd.ac3
So this leaves me with the following files:
video_bl.hevc = HDR10+ base layer
video_el.hevc = Dolby Vision enhanced layer
audio_lpcm.mov = 7.1 LPCM Audio converted from Dolby TrueHD track
audio_dd.ac3 = 5.1 Dolby Digital Audio track
Now I created two mpeg4 files, one with ac3 audio and one with lpcm audio.
For ac3:
Code: Select all
mp4muxer --dv-profile 7 -i video_bl.hevc -i video_el.hevc -i audio_dd.ac3 -o alita_dovi_ac3_audio.mp4
For lpcm:
Code: Select all
mp4muxer --dv-profile 7 -i video_bl.hevc -i video_el.hevc -o alita_dovi_no_audio.mp4
MP4Box -add alita_dovi_no_audio:rate=0 -add audio_lpcm.mov:disable -brand mp42isom -ab dby1 -no-iod alita_dovi_lpcm_audio.mp4
Now when I play alita_dovi_ac3_audio.mp4 in Plex, which was muxed with mp4muxer only, I'm getting the Dolby Vision logo in the upper-right corner and all works well.
But when I play alita_dovi_lpcm_audio.mp4 in Plex, I'm getting the 7.1 lpcm audio but the video will only show HDR10...
So either MP4Box breaks the mp4 container when adding the lpcm audio or my LG tv simply doesn't activate Dolby Vision when it detects anything other than ac3 audio ?
I was wondering whether this would be solved when I mux the two layers (video_bl.hevc and video_el.hevc) together with DVDFab and then add the lpcm 7.1 audio track to the mp4 container.
Then technically there's only a single Dolby Vision layer so my tv can't deny it right?