A script to batch combine HDR media with Dolby Vison media for a hybrid file that uses Dolby Vision but with fallback to HDR. The script has a bulit in frame compare tool that makes syncing the different files very easy. The script matches the files by comparing frame count because Dolby Vision RPU-files are based on frames, not on time.
FFmpeg needs to be installed to path
requirements.txt needs to be installed with pip
quietvoid/dovi_tool Thanks for making this possible!
mkvmerge
mkvextract
DV_HDR_Merge.py [Input files/folders]
Optional commands: --help
, -logL
, -maxdif
DV_HDR_Merge.py -logL debug -maxdif 100 HDR_movie.mkv DV_movie.mp4 HDR_movie2.mkv DV_movie2.mkv ./DV_movie_folder ./HDR_movie_folder
Valid input formats:
HDR media: *.mkv
Dolby Vision media: *.mkv
, *.mp4
Can be customized to use *.mp4
as HDR input as well but Matroska is the superior container.
Output format: *.mkv
Shift frames:
A negative amount means that frames will be removed in the beginning and a positive means that the first frame will be duplicated to add enough frame.
Any excess frame on the end will be cut off
General:
If frame dimensions do not match the script will automagically correct for it.
- Opens the active image in your default photo application for easier inspection
- Switches between a 50/50 blend of the two compared images or a greyscale difference
- Set the frame to refrence in the HDR media file, press
Enter
to apply. (Total amount of frames in media is shown in label) - Set how may frames to shift Dolby Vision layer with, press
Enter
to apply. - Closes window and sends inputed frame-shift to be used when combining the two media.
(Closing the window will do the same as theDone
button)
Always compare multiple refrence frames in case of missing or extra frames in some of the materials used.
Both senarios are using frame 30000 as the HDR refrence frame.
No frame shift have been added and the result is blurry edges and sometimes even different scenes. The difference images shows a lot of anomalies when pixels don't cancel each other out. When Dolby Vison layer is shifted with -3 frames no blurry edges can be seen on the blend iamge and on the difference image no anomalies can be found. (Sometimes you can get a faded silhouette as in this case because the luminance levels could not be correctly matched when trying to tonemap the thumbnails taken from the media)- When extracting, modifying and injecting the RPU file no live progress is shown because of a problem catching output from dovi_tool