Plex displays wrong colours with Dolby Vision on AppleTV 4k

The Codec ID/sample entry name/tag seems to matter to AVPlayer.

hev1 is an option for non-DV HEVC, or DV HEVC with a cross-compatible BL. It stores parameters in the stream. QuickTime Player won’t open these.
No video (endless spinner), DV not triggered, audio playing:

ffmpeg -analyzeduration 2147483647 -probesize 2147483647 -i "dolby-vision-onoff-(www.demolandia.net).ts" -map 0 -c:a copy -c:v copy -tag:v hev1 -strict unofficial dvdemo-p5-hev1.mp4
# '-tag:v hev1' is default; included for clarity
# analyzeduration and probesize because it's a garbage .ts

hvc1 is Apple’s preference for non-DV HEVC MP4 or for HEVC DV with cross-compatible BL.
Video plays, DV not triggered, busted purplegreens:

ffmpeg -analyzeduration 2147483647 -probesize 2147483647 -i "dolby-vision-onoff-(www.demolandia.net).ts" -map 0 -c:a copy -c:v copy -tag:v hvc1 -strict unofficial dvdemo-p5-hvc1.mp4
# analyzeduration and probesize because it's a garbage .ts

dvh1 is the Apple-preferred version of HEVC DV MP4 with non-cross-compatible BL (such as P5). It’s muxed like hvc1, but ffmpeg can’t produce files tagged as dvh1.

So let’s do some stupid ■■■■, modifying the previous output file:

sed 's/hvc1/dvh1/' dvdemo-p5-hvc1.mp4 > dvdemo-p5-dvh1.mp4

:star: :star: :star:
That WORKS!  
DV is triggered, video plays, color is good, audio plays.
:star: :star: :star:

11 Likes