Dolby Vision x265 Encoding, DV Profile Advantages/Caveats?
Posted: Sat Nov 20, 2021 6:16 am
So I believe after waiting some time, and doing a LOT of reading about Dolby Vision I have finally completed my first successful UHD BR Rip Dolby Vision encodes.
I use the FastFlix application to encode my UHD BR Rips that don't have Dolby Vision, so to date, I've simply been keeping the DV rips as MKV remuxes since encoding them loses the DV information.
After doing a lot of reading (again) on Dolby Vision I believe I have successfully compressed one of my Dolby Vision MKVs, and retained Dolby Vision (although profile-converted).
My process is as follows:
1.) Encode my original DV Profile 7 MKV (source.mkv) in FastFlix, outputting a new x265 encoded mkv. (encoded.mkv)
2.) Next I use ffmpeg to pipe the original source MKV to dovi_tool to extract the RPU from the source file, and convert the RPU to Dolby Vision Profile 8.1 compatible (if I cropped the letterbox bars when encoding in Fastflix, then I make sure to use the --crop option when extracting the RPU from source.mkv)
3.) Next I use MKVExtractGUI tool to extract the hevc video track, Audio track(s), & Subtitle track(s), & chapters from my encoded.mkv
4.) I then use dovi_tool to inject my extracted RPU (mymovie_RPU_81.bin) into the encoded HEVC video file
5.) Finally, I open MKVToolnix 63.0.0 and use the Multiplexer to create a new MKV, adding the following source files:
- mymovie_injected.hevc
- Audio Track(s) extracted back in Step 3 above
- Subtitle Track(s) extracted back in Step 3 above
- Chapters XML file extracted back in Step 3 above
A check of the newly multiplexed MKV file (mymovie.dv8.mkv) created in Mediainfo shows the HDR format to be:
Dolby Vision, Version 1.0, dvhe.08.06, BL+RPU, HDR10 compatible / SMPTE ST 2086, HDR10 compatible
When I play this file with the Plex client/app on my Nvidia Shield 2019 Pro --> Yamaha Receiver --> LG OLED TV, the Dolby Vision logo pops up on the screen, and I have working PGS subtitles, and Dolby TrueHD audio.
So it sounds like I have successfully encoded my UHD movie, shrinking it down in size (x265 CRF 18), and retained Dolby Vision (although converting it to Single Layer Profile 8.1)
Is there anything I'm missing here I should be aware of in regards to the DV profile? I chose to convert to profile 8.1 rather than profile 5 to ensure HDR10 compatibility. This way if the file is played on a Samsung TV for example, it won't fail to play (as it would with DV Profile 5), it will just fall back to HDR10.
Is there any big negative to using profile 8.1 vs profile 5 for UHD Bluray source encodes? The spec sheet I read shows both profiles are (BL + RPU) with the main differences being profile 5 uses the IPT color space which is proprietary to Dolby. Does profile 8.1 use the same color space as profile 7 (BL+MEL/FEL+RPU)? From what I read, it seems to imply the IPT color space is unique to profile 5.
It seems Profile 5 & Profile 8.1 are very similar to HDR10+, dynamic metadata only (RPU, not EL). Is my reasoning here correct?
I plan to store my source MKV remuxes on an external drive so I'll always have the 1:1 copies, but encoding with x265 will free up a ton of space on my Plex server.
Answers to any of my questions above are greatly appreciated, and hopefully this thread can help others who are looking to compress DV movies with x265.
I use the FastFlix application to encode my UHD BR Rips that don't have Dolby Vision, so to date, I've simply been keeping the DV rips as MKV remuxes since encoding them loses the DV information.
After doing a lot of reading (again) on Dolby Vision I believe I have successfully compressed one of my Dolby Vision MKVs, and retained Dolby Vision (although profile-converted).
My process is as follows:
1.) Encode my original DV Profile 7 MKV (source.mkv) in FastFlix, outputting a new x265 encoded mkv. (encoded.mkv)
2.) Next I use ffmpeg to pipe the original source MKV to dovi_tool to extract the RPU from the source file, and convert the RPU to Dolby Vision Profile 8.1 compatible (if I cropped the letterbox bars when encoding in Fastflix, then I make sure to use the --crop option when extracting the RPU from source.mkv)
Code: Select all
ffmpeg -i "D:\Rips\mymovie.mkv" -c:v copy -vbsf hevc_mp4toannexb -f hevc - | dovi_tool -m 2 --crop extract-rpu - -o mymovie_RPU_81.bin
4.) I then use dovi_tool to inject my extracted RPU (mymovie_RPU_81.bin) into the encoded HEVC video file
Code: Select all
dovi_tool inject-rpu -i "D:\Encodes Completed\mymovie\track1_[und].hevc" --rpu-in mymovie_RPU_81.bin -o mymovie_injected.hevc
- mymovie_injected.hevc
- Audio Track(s) extracted back in Step 3 above
- Subtitle Track(s) extracted back in Step 3 above
- Chapters XML file extracted back in Step 3 above
A check of the newly multiplexed MKV file (mymovie.dv8.mkv) created in Mediainfo shows the HDR format to be:
Dolby Vision, Version 1.0, dvhe.08.06, BL+RPU, HDR10 compatible / SMPTE ST 2086, HDR10 compatible
When I play this file with the Plex client/app on my Nvidia Shield 2019 Pro --> Yamaha Receiver --> LG OLED TV, the Dolby Vision logo pops up on the screen, and I have working PGS subtitles, and Dolby TrueHD audio.
So it sounds like I have successfully encoded my UHD movie, shrinking it down in size (x265 CRF 18), and retained Dolby Vision (although converting it to Single Layer Profile 8.1)
Is there anything I'm missing here I should be aware of in regards to the DV profile? I chose to convert to profile 8.1 rather than profile 5 to ensure HDR10 compatibility. This way if the file is played on a Samsung TV for example, it won't fail to play (as it would with DV Profile 5), it will just fall back to HDR10.
Is there any big negative to using profile 8.1 vs profile 5 for UHD Bluray source encodes? The spec sheet I read shows both profiles are (BL + RPU) with the main differences being profile 5 uses the IPT color space which is proprietary to Dolby. Does profile 8.1 use the same color space as profile 7 (BL+MEL/FEL+RPU)? From what I read, it seems to imply the IPT color space is unique to profile 5.
It seems Profile 5 & Profile 8.1 are very similar to HDR10+, dynamic metadata only (RPU, not EL). Is my reasoning here correct?
I plan to store my source MKV remuxes on an external drive so I'll always have the 1:1 copies, but encoding with x265 will free up a ton of space on my Plex server.
Answers to any of my questions above are greatly appreciated, and hopefully this thread can help others who are looking to compress DV movies with x265.