2024-11-02, 05:13 PM
(2024-11-02, 05:57 AM)bitmap Wrote: Would there be a way to integrate dovi_tool into the transcoding pipeline? Depending on the bitrate, it's a fairly fast solution to either removing or remuxing DV into a compatible container. I run almost entirely AV1 at the moment, so DV is a rarity despite having an LGC1. I just haven't found a large enough difference from HDR/10/+ to make it worthwhile size-wise.
I'm not sure if you can run parallel processes to strip DV + remux, that's not an application I've ever had to deal with. I know that dovi_tool has been a game-changer for me for a number of reasons.
Starting with Jellyfin-ffmpeg 7.0.2-4, Dolby Vision removal is built into jellyfin-ffmpeg.
https://github.com/jellyfin/jellyfin-ffm...g/v7.0.2-4
https://github.com/jellyfin/jellyfin-ffmpeg/pull/480
This was done after multiple conversations with gnattu and my struggles getting dovi_tool extracted HDR10 to work with jf-ffmpeg7. Many thanks to gnattu. It GREATLY simplified my DV to HDR10 workflow. The command would look like this.
Code:
ffmpeg -y -hide_banner -stats -fflags +genpts+igndts -loglevel error -i $INPUTFILE -map 0 -bsf:v hevc_metadata=remove_dovi=1 -codec copy -max_muxing_queue_size 2048 -max_interleave_delta 0 -avoid_negative_ts auto HDR10.mkv
The bsf:v is where the magic happens.
Code:
-bsf:v hevc_metadata=remove_dovi=1
Hypothetically, this could be done in real time, but you cannot change the output codec. I tried to "one line" converting HEVC DV7.6 to AV1 HDR10 in my script, but the bsf wouldn't allow a codec change.
FWIW, upstream ffmpeg master branch also has a similar feature merged. But, AFAICT, it hasn't made it to a release yet. I had to build ffmpeg from the git master branch.
https://www.ffmpeg.org/ffmpeg-bitstream-...vi_005frpu