This works for two types of source files:
- UHD BD M2TS (DTDL dvhe.07)
- MKV (STDL dvhe.07)
- Demux the video and convert the RPU to P8.1
- If using an mkv file, it's convenient to demux with ffmpeg and convert with dovi_tool in one command:
The above will:
Code: Select all
ffmpeg -i video.mkv -c:v copy -vbsf hevc_mp4toannexb -f hevc - | dovi_tool -m 2 convert --discard -
- Extract the single BL+EL+RPU video track from the mkv file
- Convert the RPU to Profile 8.1
- Discard the EL (which won't be used with Profile 8.1)
- Write just the BL+RPU to a file named BL_RPU.hevc
- If using an m2ts file, you need the BL from one video track and the RPU from the EL+RPU track. It's easiest to first demux the tracks. After that, you can can extract the RPU from the EL and inject it into the BL.
- First, demux. There are two easy options for demuxing:
- Demux both video tracks using tsMuxer in the demux mode.
- Or, use the following ffmpeg command:
Code: Select all
ffmpeg -i uhdbd.m2ts -map 0:v:0 -c:v copy -vbsf hevc_mp4toannexb -f hevc BL.hevc -map 0:v:1 -c:v copy -vbsf hevc_mp4toannexb -f hevc EL_RPU.hevc
- Next, extract and convert the RPU from the EL:
Code: Select all
dovi_tool -m 2 extract-rpu EL_RPU.hevc -o RPU.bin
- Next, inject the RPU into the BL:
Code: Select all
dovi_tool inject-rpu -i BL.hevc --rpu-in RPU.bin -o BL_RPU.hevc
- First, demux. There are two easy options for demuxing:
- If using an mkv file, it's convenient to demux with ffmpeg and convert with dovi_tool in one command:
- Remux into a new .m2ts file or BDMV folder with tsMuxeR:
- Add the BL_RPU.hevc video
- If you want a Dolby TrueHD audio track, you can copy it directly from an m2ts file sourced from a UHD BD, because it will include the DD+ core. If your source is an mkv file, you'll want to use eac3to to create a DD+ core and mux it a thd+ac3 track. You'll just ignore the DD core on playback.
- Add the desired audio, subtitles, chapters, etc, from the original m2ts/mkv file. If using TrueHD from mkv, use the above thd+ac3 audio track instead.
Am I holding this right? Does the above seem like I should be actually getting DoVi dynamic metadata if the display is indicating DoVi?